39class IPlatformAbstraction {
41 IPlatformAbstraction();
42 static IPlatformAbstraction& current();
43 virtual ~IPlatformAbstraction() =
default;
45 virtual void init() = 0;
49 virtual void applyNativeCursor(
const ACursor& cursor,
AWindow* pWindow) = 0;
52 virtual void copyToClipboard(
const AString& text) = 0;
53 virtual AString pasteFromClipboard() = 0;
57 virtual glm::ivec2 desktopGetMousePosition() = 0;
58 virtual void desktopSetMousePosition(glm::ivec2 pos) = 0;
60 virtual float platformGetDpiRatio() = 0;
63 virtual AInput::Key inputFromNative(
int k) = 0;
64 virtual int inputToNative(AInput::Key key) = 0;
65 virtual bool inputIsKeyDown(AInput::Key k) = 0;
68 virtual void windowSetStyle(
AWindow& window, WindowStyle ws) = 0;
69 virtual float windowFetchDpiFromSystem(
AWindow& window) = 0;
70 virtual void windowRestore(
AWindow& window) = 0;
71 virtual void windowMinimize(
AWindow& window) = 0;
72 virtual bool windowIsMinimized(
AWindow& window)
const = 0;
73 virtual bool windowIsMaximized(
AWindow& window)
const = 0;
74 virtual void windowMaximize(
AWindow& window) = 0;
75 virtual glm::ivec2 windowGetPosition(
AWindow& window)
const = 0;
76 virtual void windowFlagRedraw(
AWindow& window) = 0;
77 virtual void windowShow(
AWindow& window) = 0;
78 virtual void windowSetSize(
AWindow& window, glm::ivec2 size) = 0;
79 virtual void windowSetGeometry(
AWindow& window,
int x,
int y,
int width,
int height) = 0;
80 virtual void windowSetIcon(
AWindow& window,
const AImage& image) = 0;
81 virtual void windowHide(
AWindow& window) = 0;
82 virtual void windowManagerNotifyProcessMessages() = 0;
83 virtual void windowManagerLoop() = 0;
84 virtual void windowBlockUserInput(
AWindow& window,
bool blockUserInput) = 0;
85 virtual void windowAllowDragNDrop(
AWindow& window) = 0;
86 virtual void windowShowTouchscreenKeyboardImpl(
AWindow& window) = 0;
87 virtual void windowHideTouchscreenKeyboardImpl(
AWindow& window) = 0;
88 virtual void windowMoveToCenter(
AWindow& window) = 0;
89 virtual void windowQuit(
AWindow& window) = 0;
90 virtual void windowAnnounceMinMaxSize(
AWindow& window) = 0;
92 virtual float windowGetDpiRatio(
AWindow& window);
102 static bool& redrawFlag(
AWindow& window) {
103 return window.mRedrawFlag;
106 static AWindowNativePtr& nativeHandle(
AWindow& window) {
107 return window.mHandle;
111 return window.mParentWindow;
113#if AUI_PLATFORM_LINUX
114 static bool& wasMaximized(
AWindow& window) {
115 return window.mWasMaximized;
Definition IRenderingContext.h:38