]> gitweb.factorcode.org Git - factor.git/commitdiff
Convert side mouse buttons to backward/forward
authorErik Charlebois <erikcharlebois@gmail.com>
Mon, 23 May 2011 19:29:14 +0000 (15:29 -0400)
committerErik Charlebois <erikcharlebois@gmail.com>
Tue, 24 May 2011 03:36:14 +0000 (23:36 -0400)
basis/ui/backend/gtk/gtk.factor

index 5169d880cd0d6863088f53eef3ea8f478304165e..fba30fc15a5a01ffca2eecb0ae4388606efb36ce 100644 (file)
@@ -10,7 +10,7 @@ strings system threads ui ui.backend ui.backend.gtk.input-methods
 ui.backend.gtk.io ui.clipboards ui.event-loop ui.gadgets
 ui.gadgets.private ui.gadgets.worlds ui.gestures
 ui.pixel-formats ui.pixel-formats.private ui.private
-vocabs.loader ;
+vocabs.loader combinators prettyprint io ;
 IN: ui.backend.gtk
 
 SINGLETON: gtk-ui-backend
@@ -167,15 +167,25 @@ CONSTANT: action-key-codes
 : on-leave ( win event user-data -- ? )
     3drop forget-rollover t ;
 
-: on-button-press ( win event user-data -- ? )
-    drop swap [
-        mouse-event>gesture [ <button-down> ] dip
-    ] dip window send-button-down t ;
-
-: on-button-release ( win event user-data -- ? )
-    drop swap [
-        mouse-event>gesture [ <button-up> ] dip
-    ] dip window send-button-up t ;
+:: on-button-press ( win event user-data -- ? )
+    win window :> world
+    event mouse-event>gesture :> ( modifiers button loc )
+    button {
+        { 8 [ ] }
+        { 9 [ ] }
+        [ modifiers swap <button-down> loc world
+          send-button-down ]
+    } case t ;
+
+:: on-button-release ( win event user-data -- ? )
+    win window :> world
+    event mouse-event>gesture :> ( modifiers button loc )
+    button {
+        { 8 [ world left-action send-action ] }
+        { 9 [ world right-action send-action ] }
+        [ modifiers swap <button-up> loc world
+          send-button-up ]
+    } case t ;
 
 : on-scroll ( win event user-data -- ? )
     drop swap [