x11.xinput2.ffi: make XI*Mask less ugly

db4
Niklas.Waern 2010-05-22 01:36:04 +02:00
parent 15f0ff877e
commit 0be7a74e64
1 changed files with 11 additions and 9 deletions

View File

@ -13,22 +13,24 @@ LIBRARY: xinput2
! *********
! * XI2.h *
! *********
<PRIVATE
: mask-index ( event -- n ) -3 shift ;
: bitmask ( event -- n ) 7 bitand 2^ ;
PRIVATE>
:: XISetMask ( mask event -- )
event -3 shift :> index
event 7 bitand 2^ :> bit-mask
bit-mask index mask nth bitor
event mask-index :> index
event bitmask index mask nth bitor
index mask set-nth ; inline
:: XIClearMask ( mask event -- )
event -3 shift :> index
event 7 bitand 2^ bitnot :> bit-mask
bit-mask index mask nth bitand
event mask-index :> index
event bitmask bitnot index mask nth bitand
index mask set-nth ; inline
:: XIMaskIsSet ( mask event -- n )
event -3 shift :> index
event 7 bitand 2^ :> bit-mask
bit-mask index mask nth bitand ;
event mask-index :> index
event bitmask index mask nth bitand ;
: XIMaskLen ( event -- n ) 7 + -3 shift ;