! Copyright (C) 2005, 2010 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
+! See https://factorcode.org/license.txt for BSD license.
USING: accessors arrays ascii assocs boxes calendar classes columns
-combinators combinators.short-circuit deques fry kernel make math
+combinators combinators.short-circuit deques kernel make math
math.order math.parser math.vectors namespaces sequences sets system
-timers ui.gadgets ui.gadgets.private words locals ;
+timers ui.gadgets ui.gadgets.private words ;
IN: ui.gestures
: get-gesture-handler ( gesture gadget -- quot )
GENERIC: handles-gesture? ( gesture gadget -- ? )
-M: object handles-gesture? ( gesture gadget -- ? )
+M: object handles-gesture?
get-gesture-handler >boolean ;
: parents-handle-gesture? ( gesture gadget -- ? )
TUPLE: propagate-key-gesture-tuple gesture world ;
: world-focus ( world -- gadget )
- dup focus>> [ world-focus ] [ ] ?if ;
+ [ focus>> ] [ world-focus ] ?when ;
M: propagate-key-gesture-tuple send-queued-gesture
[ gesture>> ] [ world>> world-focus ] bi
[ handle-gesture ] with each-parent drop ;
-GENERIC: preedit? ( gadget -- ? )
-
-M: gadget preedit? drop f ;
-
:: propagate-key-gesture ( gesture world -- )
world world-focus preedit? [
gesture world \ propagate-key-gesture-tuple queue-gesture
! Note that these are only really useful inside an event
! handler, and that the locations hand-loc and hand-click-loc
-! are in the co-ordinate system of the world which contains
+! are in the coordinate system of the world which contains
! the gadget in question.
SYMBOL: hand-gadget
SYMBOL: hand-world
M: macosx modifiers>string
[
{
- { A+ [ "\u002318" ] }
- { M+ [ "\u002325" ] }
+ { M+ [ "\u002318" ] }
+ { A+ [ "\u002325" ] }
{ S+ [ "\u0021e7" ] }
{ C+ [ "\u002303" ] }
} case
HOOK: action-modifier os ( -- mod )
M: object action-modifier C+ ;
-M: macosx action-modifier A+ ;
+M: macosx action-modifier M+ ;
M: action gesture>string
action-gestures value-at