2 USING: kernel namespaces combinators
3 ui.gestures accessors ui.gadgets.frame-buffer ;
7 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
9 TUPLE: processing-gadget < frame-buffer button-down button-up key-down key-up ;
11 : <processing-gadget> ( -- gadget ) processing-gadget new-frame-buffer ;
13 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
15 SYMBOL: mouse-pressed-value
16 SYMBOL: key-pressed-value
21 : key-pressed? ( -- ? ) key-pressed-value get ;
22 : mouse-pressed? ( -- ? ) mouse-pressed-value get ;
24 : key ( -- key ) key-value get ;
25 : button ( -- val ) button-value get ;
27 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
29 M: processing-gadget handle-gesture ( gesture gadget -- ? )
37 key-down>> dup [ call ] [ drop ] if
46 key-up>> dup [ call ] [ drop ] if
53 mouse-pressed-value on
54 button-down>> dup [ call ] [ drop ] if
61 mouse-pressed-value off
63 button-up>> dup [ call ] [ drop ] if