Changeset View
Changeset View
Standalone View
Standalone View
x11eventfilter.h
Show All 29 Lines | |||||
30 | namespace KWin | 30 | namespace KWin | ||
31 | { | 31 | { | ||
32 | 32 | | |||
33 | class KWIN_EXPORT X11EventFilter | 33 | class KWIN_EXPORT X11EventFilter | ||
34 | { | 34 | { | ||
35 | public: | 35 | public: | ||
36 | /** | 36 | /** | ||
37 | * Creates an event filter for the given event type. | 37 | * Creates an event filter for the given event type. | ||
38 | */ | 38 | **/ | ||
39 | X11EventFilter(int eventType, int opcode = 0, int genericEventType = 0); | 39 | X11EventFilter(int eventType, int opcode = 0, int genericEventType = 0); | ||
40 | X11EventFilter(int eventType, int opcode, const QVector<int> &genericEventTypes); | 40 | X11EventFilter(int eventType, int opcode, const QVector<int> &genericEventTypes); | ||
41 | X11EventFilter(const QVector<int> &eventTypes); | 41 | X11EventFilter(const QVector<int> &eventTypes); | ||
42 | 42 | | |||
43 | /** | 43 | /** | ||
44 | * Destroys the event filter. | 44 | * Destroys the event filter. | ||
45 | */ | 45 | **/ | ||
46 | virtual ~X11EventFilter(); | 46 | virtual ~X11EventFilter(); | ||
47 | 47 | | |||
48 | /** | 48 | /** | ||
49 | * Returns the type of events to filter. | 49 | * Returns the type of events to filter. | ||
50 | */ | 50 | **/ | ||
51 | QVector<int> eventTypes() const { return m_eventTypes; } | 51 | QVector<int> eventTypes() const { return m_eventTypes; } | ||
52 | 52 | | |||
53 | /** | 53 | /** | ||
54 | * Returns the major opcode of the extension. | 54 | * Returns the major opcode of the extension. | ||
55 | * | 55 | * | ||
56 | * Only used when the event type is XCB_GE_GENERIC. | 56 | * Only used when the event type is XCB_GE_GENERIC. | ||
57 | */ | 57 | **/ | ||
58 | int extension() const { return m_extension; } | 58 | int extension() const { return m_extension; } | ||
59 | 59 | | |||
60 | /** | 60 | /** | ||
61 | * Returns the types of generic events to filter. | 61 | * Returns the types of generic events to filter. | ||
62 | * | 62 | * | ||
63 | * Only used when the event type is XCB_GE_GENERIC. | 63 | * Only used when the event type is XCB_GE_GENERIC. | ||
64 | */ | 64 | **/ | ||
65 | QVector<int> genericEventTypes() const { return m_genericEventTypes; } | 65 | QVector<int> genericEventTypes() const { return m_genericEventTypes; } | ||
66 | 66 | | |||
67 | /** | 67 | /** | ||
68 | * This method is called for every event of the filtered type. | 68 | * This method is called for every event of the filtered type. | ||
69 | * | 69 | * | ||
70 | * Return true to accept the event and stop further processing, and false otherwise. | 70 | * Return true to accept the event and stop further processing, and false otherwise. | ||
71 | */ | 71 | **/ | ||
72 | virtual bool event(xcb_generic_event_t *event) = 0; | 72 | virtual bool event(xcb_generic_event_t *event) = 0; | ||
73 | 73 | | |||
74 | /** | 74 | /** | ||
75 | * Whether the event filter is for XCB_GE_GENERIC events. | 75 | * Whether the event filter is for XCB_GE_GENERIC events. | ||
76 | **/ | 76 | **/ | ||
77 | bool isGenericEvent() const; | 77 | bool isGenericEvent() const; | ||
78 | 78 | | |||
79 | private: | 79 | private: | ||
80 | QVector<int> m_eventTypes; | 80 | QVector<int> m_eventTypes; | ||
81 | int m_extension; | 81 | int m_extension; | ||
82 | QVector<int> m_genericEventTypes; | 82 | QVector<int> m_genericEventTypes; | ||
83 | }; | 83 | }; | ||
84 | 84 | | |||
85 | } // namespace KWin | 85 | } // namespace KWin | ||
86 | 86 | | |||
87 | #endif | 87 | #endif |