30LRESULT QT_WIN_CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPARAM lp);
35 Q_DECLARE_PRIVATE(QEventDispatcherWin32)
38 explicit QEventDispatcherWin32(QObject *parent =
nullptr);
39 ~QEventDispatcherWin32();
41 bool QT_ENSURE_STACK_ALIGNED_FOR_SSE processEvents(QEventLoop::ProcessEventsFlags flags) override;
43 void registerSocketNotifier(QSocketNotifier *notifier) override;
44 void unregisterSocketNotifier(QSocketNotifier *notifier) override;
46 void registerTimer(Qt::TimerId timerId, Duration interval, Qt::TimerType timerType,
47 QObject *object) final;
48 bool unregisterTimer(Qt::TimerId timerId) final;
49 bool unregisterTimers(QObject *object) final;
50 QList<TimerInfoV2> timersForObject(QObject *object)
const final;
51 Duration remainingTime(Qt::TimerId timerId)
const final;
53 void wakeUp() override;
54 void interrupt() override;
56 void startingUp() override;
57 void closingDown() override;
59 bool event(QEvent *e) override;
64 QEventDispatcherWin32(QEventDispatcherWin32Private &dd, QObject *parent =
nullptr);
65 virtual void sendPostedEvents();
66 void doUnregisterSocketNotifier(QSocketNotifier *notifier);
69 friend LRESULT QT_WIN_CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPARAM lp);
112 Q_DECLARE_PUBLIC(QEventDispatcherWin32)
114 QEventDispatcherWin32Private();
115 ~QEventDispatcherWin32Private();
117 QAtomicInt interrupt;
123 UINT_PTR sendPostedEventsTimerId;
125 void startPostedEventsTimer();
128 WinTimerDict timerDict;
129 void registerTimer(WinTimerInfo *t);
130 void unregisterTimer(WinTimerInfo *t);
131 void sendTimerEvent(
int timerId);
138 bool activateNotifiersPosted;
139 void postActivateSocketNotifiers();
140 void doWsaAsyncSelect(qintptr socket,
long event);
142 bool closingDown =
false;
144 QList<MSG> queuedUserInputEvents;
145 QList<MSG> queuedSocketEvents;
~QWindowsMessageWindowClassContext()
QWindowsMessageWindowClassContext()