Skip to content

Commit a2d7e3f

Browse files
committed
Merge pull request #42 from CyberShadow/pull-20160329-081647
deimos.X11.extensions.XI2: Fix mask macros
2 parents 37497ec + 8677f5c commit a2d7e3f

File tree

1 file changed

+4
-15
lines changed
  • deimos/X11/extensions

1 file changed

+4
-15
lines changed

deimos/X11/extensions/XI2.d

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -124,21 +124,10 @@ enum XIKeyRepeat = 1 << 16;
124124
/* Device event flags (pointer events only) */
125125

126126
/* XI2 event mask macros */
127-
template XISetMask(string ptr, int event){
128-
const ubyte XISetMask = cast(ubyte)(ptr[(event)>>3] |= (1 << ((event) & 7)));
129-
}
130-
131-
template XIClearMask(string ptr, int event){
132-
const ubyte XIClearMask = cast(ubyte)(ptr[(event)>>3] &= ~(1 << ((event) & 7)));
133-
}
134-
135-
template XIMaskIsSet(string ptr, int event){
136-
const ubyte XIMaskIsSet = cast(ubyte)(ptr[(event)>>3] & (1 << ((event) & 7)));
137-
}
138-
139-
template XIMaskLen(int event){
140-
const ubyte XIMaskLen = (((event) >> 3) + 1);
141-
}
127+
ubyte XISetMask (ubyte[] ptr, int event) { return ptr[event>>3] |= (1 << (event & 7)); }
128+
ubyte XIClearMask(ubyte[] ptr, int event) { return ptr[event>>3] &= ~(1 << (event & 7)); }
129+
bool XIMaskIsSet(ubyte[] ptr, int event) { return (ptr[event>>3] & (1 << (event & 7))) != 0; }
130+
int XIMaskLen (int event) { return (event>>3) + 1; }
142131

143132
/* Fake device ID's for event selection */
144133
enum {

0 commit comments

Comments
 (0)