]> gitweb.factorcode.org Git - factor.git/commitdiff
x11.xinput2.ffi: make XI*Mask less ugly
authorNiklas.Waern <ceninan@gmail.com>
Fri, 21 May 2010 23:36:04 +0000 (01:36 +0200)
committerNiklas.Waern <ceninan@gmail.com>
Fri, 21 May 2010 23:36:04 +0000 (01:36 +0200)
basis/x11/xinput2/ffi/ffi.factor

index 65ed73106a51b6a6e5c62de1e2682d8b2e5ac9e5..c2a03b62017b32af39fe8f0d82194bacdcfdf593 100644 (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 ;