6#include <QtCore/QAbstractNativeEventFilter>
7#include <QtCore/QCoreApplication>
11WindowNativeEventFilter::WindowNativeEventFilter()
12 : m_nativeDispatcher(nullptr)
27 observer->m_nativeDispatcher =
nullptr;
35 if (ef->nativeEventFilter(eventType, message, result))
63 AppMasterNativeEventFilter()
69 ~AppMasterNativeEventFilter()
override =
default;
76 static AppMasterNativeEventFilter *instance;
78 friend class AppNativeEventFilter;
81AppMasterNativeEventFilter *AppMasterNativeEventFilter::instance =
nullptr;
85 if (!AppMasterNativeEventFilter::instance) {
86 AppMasterNativeEventFilter::instance =
new AppMasterNativeEventFilter();
88 AppMasterNativeEventFilter::instance->installNativeEventFilter(
this);
93 AppMasterNativeEventFilter::instance->removeNativeEventFilter(
this);
94 if (AppMasterNativeEventFilter::instance->m_nativeEventFilters.isEmpty()) {
95 delete AppMasterNativeEventFilter::instance;
96 AppMasterNativeEventFilter::instance =
nullptr;
101 : m_sharedDispatcher(nullptr)
116 observer->m_sharedDispatcher =
nullptr;
123 if (ef->sharedEventFilter(obj, event))
~AppNativeEventFilter() override
void installNativeEventFilter(WindowNativeEventFilter *filter)
QVector< WindowNativeEventFilter * > m_nativeEventFilters
void removeNativeEventFilter(WindowNativeEventFilter *filter)
virtual ~WindowNativeEventDispatcher()
WindowNativeEventDispatcher()
virtual bool nativeDispatch(const QByteArray &eventType, void *message, QT_NATIVE_EVENT_RESULT_TYPE *result)
WindowNativeEventDispatcher * m_nativeDispatcher
virtual ~WindowNativeEventFilter()
void installSharedEventFilter(WindowSharedEventFilter *filter)
virtual bool sharedDispatch(QObject *obj, QEvent *event)
QVector< WindowSharedEventFilter * > m_sharedEventFilters
WindowSharedEventDispatcher()
void removeSharedEventFilter(WindowSharedEventFilter *filter)
virtual ~WindowSharedEventDispatcher()
virtual ~WindowSharedEventFilter()
WindowSharedEventDispatcher * m_sharedDispatcher
WindowSharedEventFilter()
qintptr QT_NATIVE_EVENT_RESULT_TYPE
#define QX_WINDOW_END_NAMESPACE
#define QX_WINDOW_BEGIN_NAMESPACE