2019-10-18 09:05:04 -04:00
|
|
|
! Copyright (C) 2007 Slava Pestov.
|
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
|
|
|
USING: kernel gadgets gadgets-panes gadgets-scrolling
|
|
|
|
|
gadgets-theme io prettyprint namespaces ;
|
|
|
|
|
IN: gesture-logger
|
|
|
|
|
|
|
|
|
|
TUPLE: gesture-logger stream ;
|
|
|
|
|
|
|
|
|
|
C: gesture-logger ( stream -- gadget )
|
|
|
|
|
[ set-gesture-logger-stream ] keep
|
|
|
|
|
dup delegate>gadget
|
|
|
|
|
{ 100 100 } over set-rect-dim
|
2019-10-18 09:05:08 -04:00
|
|
|
dup black solid-interior ;
|
2019-10-18 09:05:04 -04:00
|
|
|
|
|
|
|
|
M: gesture-logger handle-gesture*
|
|
|
|
|
drop
|
|
|
|
|
dup T{ button-down } = [ over request-focus ] when
|
|
|
|
|
swap gesture-logger-stream [ . ] with-stream*
|
|
|
|
|
t ;
|
|
|
|
|
|
|
|
|
|
M: gesture-logger user-input*
|
|
|
|
|
gesture-logger-stream [
|
|
|
|
|
"User input: " write print
|
|
|
|
|
] with-stream* t ;
|
|
|
|
|
|
|
|
|
|
: gesture-logger ( -- )
|
|
|
|
|
<scrolling-pane> dup <scroller> "Gesture log" open-window
|
|
|
|
|
<pane-stream> <gesture-logger> gadget. ;
|
|
|
|
|
|
|
|
|
|
PROVIDE: demos/gesture-logger ;
|
|
|
|
|
|
|
|
|
|
MAIN: demos/gesture-logger gesture-logger ;
|