1 ! Copyright (C) 2007, 2009 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors io kernel prettyprint colors ui ui.gadgets
4 ui.gadgets.panes ui.gadgets.scrollers ui.gestures ui.pens.solid ;
7 TUPLE: gesture-logger < gadget stream ;
9 : <gesture-logger> ( stream -- gadget )
13 COLOR: black <solid> >>interior ;
15 M: gesture-logger handle-gesture
16 over T{ button-down } = [ dup request-focus ] when
17 stream>> [ . ] with-output-stream*
20 M: gesture-logger user-input*
22 "User input: " write print
23 ] with-output-stream* t ;
25 : run-gesture-logger ( -- )
27 <pane> t >>scrolls? dup <scroller>
28 { 450 500 } >>pref-dim
29 "Gesture log" open-window
30 <pane-stream> <gesture-logger>
31 "Gesture input" open-window
34 MAIN: run-gesture-logger