! Copyright (C) 2005, 2010 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays assocs kernel math math.order models
-namespaces make sequences words strings system hashtables math.parser
-math.vectors classes.tuple classes boxes calendar timers combinators
-sets columns fry deques ui.gadgets ui.gadgets.private ascii
-combinators.short-circuit ;
+USING: accessors arrays ascii assocs boxes calendar classes
+combinators combinators.short-circuit deques fry kernel make math
+math.order math.parser math.vectors namespaces sequences system timers
+ui.gadgets ui.gadgets.private words ;
IN: ui.gestures
: get-gesture-handler ( gesture gadget -- quot )
revert-action close-action ;
UNION: action
-undo-action redo-action
-cut-action copy-action paste-action
-delete-action select-all-action
-left-action right-action up-action down-action
-zoom-in-action zoom-out-action
-new-action open-action save-action save-as-action
-revert-action close-action ;
+ undo-action redo-action
+ cut-action copy-action paste-action
+ delete-action select-all-action
+ left-action right-action up-action down-action
+ zoom-in-action zoom-out-action
+ new-action open-action save-action save-as-action
+ revert-action close-action ;
CONSTANT: action-gestures
{
TUPLE: key-down < key-gesture ;
-: new-key-gesture ( mods sym action? class -- mods' sym' )
+: new-key-gesture ( mods sym action? class -- key-gesture )
[ [ [ S+ swap remove f like ] dip ] unless ] dip boa ; inline
: <key-down> ( mods sym action? -- key-down )
focus<<
] if ;
-: modifier ( mod modifiers -- seq )
- [ second swap bitand 0 > ] with filter
- 0 <column> members [ f ] [ >array ] if-empty ;
-
: drag-loc ( -- loc )
hand-loc get-global hand-click-loc get-global v- ;