mirror of
https://gitlab.freedesktop.org/xorg/proto/xorgproto.git
synced 2026-05-07 13:08:01 +02:00
XI2.h: remove XI2Mask, add XISetMask and friends.
XISetMask, XIClearMask, XIMaskIsSet serve to set, clear or check a bit in
the provided array.
XIMaskLen is a macro to get the minimum length of a mask for a given event
type.
They are expected to be common ways to deal with event masks, i.e. clients
will do:
unsigned char mask[XIMaskLen(XI_ButtonRelease)] = {0};
XISetMask(mask, XI_ButtonPress)
XISetMask(mask, XI_ButtonRelease)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
0ae6581bc6
commit
f4f09d40e0
1 changed files with 6 additions and 2 deletions
8
XI2.h
8
XI2.h
|
|
@ -89,9 +89,13 @@
|
|||
#define XIButtonClass 1
|
||||
#define XIValuatorClass 2
|
||||
|
||||
/* XI2 mask macro */
|
||||
#define XIMASK(event) (1 << (event))
|
||||
/* XI2 event mask macros */
|
||||
#define XISetMask(ptr, event) (((unsigned char*)(ptr))[(event)>>3] |= (1 << ((event) & 7)))
|
||||
#define XIClearMask(ptr, event) (((unsigned char*)(ptr))[(event)>>3] &= ~(1 << ((event) & 7)))
|
||||
#define XIMaskIsSet(ptr, event) (((unsigned char*)(ptr))[(event)>>3] & (1 << ((event) & 7)))
|
||||
#define XIMaskLen(event) ((event >> 3))
|
||||
|
||||
/* Fake device ID's for event selection */
|
||||
#define XIAllDevices 0
|
||||
#define XIAllMasterDevices 1
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue