31LRESULT QT_WIN_CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPARAM lp);
36 Q_DECLARE_PRIVATE(QEventDispatcherWin32)
39 explicit QEventDispatcherWin32(QObject *parent =
nullptr);
40 ~QEventDispatcherWin32();
42 bool QT_ENSURE_STACK_ALIGNED_FOR_SSE processEvents(QEventLoop::ProcessEventsFlags flags) override;
44 void registerSocketNotifier(QSocketNotifier *notifier) override;
45 void unregisterSocketNotifier(QSocketNotifier *notifier) override;
47 void registerTimer(Qt::TimerId timerId, Duration interval, Qt::TimerType timerType,
48 QObject *object) final;
49 bool unregisterTimer(Qt::TimerId timerId) final;
50 bool unregisterTimers(QObject *object) final;
51 QList<TimerInfoV2> timersForObject(QObject *object)
const final;
52 Duration remainingTime(Qt::TimerId timerId)
const final;
54 void wakeUp() override;
55 void interrupt() override;
57 void startingUp() override;
58 void closingDown() override;
60 bool event(QEvent *e) override;
65 QEventDispatcherWin32(QEventDispatcherWin32Private &dd, QObject *parent =
nullptr);
66 virtual void sendPostedEvents();
67 void doUnregisterSocketNotifier(QSocketNotifier *notifier);
70 friend LRESULT QT_WIN_CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPARAM lp);
113 Q_DECLARE_PUBLIC(QEventDispatcherWin32)
115 QEventDispatcherWin32Private();
116 ~QEventDispatcherWin32Private();
118 QAtomicInt interrupt;
124 UINT_PTR sendPostedEventsTimerId;
126 void startPostedEventsTimer();
129 WinTimerDict timerDict;
130 void registerTimer(WinTimerInfo *t);
131 void unregisterTimer(WinTimerInfo *t);
132 void sendTimerEvent(
int timerId);
139 bool activateNotifiersPosted;
140 void postActivateSocketNotifiers();
141 void doWsaAsyncSelect(qintptr socket,
long event);
143 bool closingDown =
false;
145 QList<MSG> queuedUserInputEvents;
146 QList<MSG> queuedSocketEvents;
~QWindowsMessageWindowClassContext()
QWindowsMessageWindowClassContext()