13#include <AUI/Thread/IEventLoop.h>
14#include "AUI/Common/ATimer.h"
15#include "AUI/Platform/Pipe.h"
16#include "AUI/Util/AWatchdog.h"
17#include "IRenderingContext.h"
20typedef union _XEvent XEvent;
33 bool mLoopRunning =
false;
35#if AUI_PLATFORM_ANDROID
36#elif AUI_PLATFORM_LINUX
38 std::atomic_bool mFastPathNotify =
false;
39 std::string mXClipboardText;
41 void xProcessEvent(XEvent& ev);
54 void removeAllWindows() {
55 auto windows = std::move(mWindows);
59 void closeAllWindows();
78 [[nodiscard]]
ADeque<_<T>> getWindowsOfType()
const {
80 for (
auto& w : mWindows) {
81 if (
auto c = _cast<T>(w)) {
86 return std::move(result);
Definition: AClipboard.h:21
A std::deque with AUI extensions.
Definition: ADeque.h:27
Represents a Unicode character string.
Definition: AString.h:37
Watchdog helper class.
Definition: AWatchdog.h:38
Definition: AWindowManager.h:23
Represents a window in the underlying windowing system.
Definition: AWindow.h:45
Definition: IEventLoop.h:33
Definition: IEventLoop.h:17
virtual void loop()=0
Do message processing loop.
virtual void notifyProcessMessages()=0
Notifies this IEventLoop that its thread got a new message to process.
Unix pipe RAII wrapper.
Definition: Pipe.h:30
An std::weak_ptr with AUI extensions.
Definition: SharedPtrTypes.h:177
Definition: IRenderingContext.h:38