summaryrefslogtreecommitdiff
path: root/Xext/geext.h
diff options
context:
space:
mode:
authorPeter Hutterer <peter@cs.unisa.edu.au>2008-01-23 15:43:48 +1030
committerPeter Hutterer <peter@cs.unisa.edu.au>2008-01-25 10:26:41 +1030
commit94a6a65ae7414c8247aa1741ec5c7561e6f4bbe0 (patch)
tree4e5e3c6c731861efb1bda9ee0e5c38e3b9bc0745 /Xext/geext.h
parentba315ae5ddd00763147a4b0cdcacba7691793dfc (diff)
Xext: allow per-device GE masks.
Instead of a single mask per client we allow the storage of a mask per client per device.
Diffstat (limited to 'Xext/geext.h')
-rw-r--r--Xext/geext.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/Xext/geext.h b/Xext/geext.h
index 1ba71e070..a9021277b 100644
--- a/Xext/geext.h
+++ b/Xext/geext.h
@@ -39,12 +39,13 @@ from the author.
* This struct is used both in the window and by grabs to determine the event
* mask for a client.
* A window will have a linked list of these structs, with one entry per
- * client, null-terminated.
+ * client per device, null-terminated.
* A grab has only one instance of this struct.
*/
typedef struct _GenericMaskRec {
- ClientPtr client; /* client who set the event mask */
- Mask eventMask[MAXEXTENSIONS]; /* one mask per extension */
+ ClientPtr client; /* client who set the event mask */
+ DeviceIntPtr dev;
+ Mask eventMask[MAXEXTENSIONS]; /* one mask per extension */
struct _GenericMaskRec* next;
} GenericMaskRec, *GenericMaskPtr;
@@ -94,7 +95,9 @@ extern GEExtension GEExtensions[MAXEXTENSIONS];
/* Interface for other extensions */
-void GEWindowSetMask(ClientPtr pClient, WindowPtr pWin, int extension, Mask mask);
+void GEWindowSetMask(ClientPtr pClient, DeviceIntPtr pDev,
+ WindowPtr pWin, int extension, Mask mask);
+
void GERegisterExtension(
int extension,
void (*ev_dispatch)(xGenericEvent* from, xGenericEvent* to),