| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | ! Copyright (C) 2007 Slava Pestov. | 
					
						
							|  |  |  | ! See http://factorcode.org/license.txt for BSD license. | 
					
						
							|  |  |  | USING: io kernel prettyprint ui ui.gadgets ui.gadgets.panes | 
					
						
							| 
									
										
										
										
											2008-06-25 04:25:08 -04:00
										 |  |  | ui.gadgets.scrollers ui.gadgets.theme ui.gestures colors | 
					
						
							|  |  |  | accessors ;
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | IN: gesture-logger | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-07-12 02:29:25 -04:00
										 |  |  | TUPLE: gesture-logger < gadget stream ;
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | : <gesture-logger> ( stream -- gadget )
 | 
					
						
							| 
									
										
										
										
											2008-07-12 02:29:25 -04:00
										 |  |  |     \ gesture-logger new-gadget | 
					
						
							| 
									
										
										
										
											2008-06-18 23:30:54 -04:00
										 |  |  |     swap >>stream | 
					
						
							|  |  |  |     { 100 100 } >>dim | 
					
						
							|  |  |  |     black solid-interior ;
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | M: gesture-logger handle-gesture* | 
					
						
							|  |  |  |     drop
 | 
					
						
							|  |  |  |     dup T{ button-down } = [ over request-focus ] when
 | 
					
						
							| 
									
										
										
										
											2008-05-05 03:19:25 -04:00
										 |  |  |     swap gesture-logger-stream [ . ] with-output-stream*
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  |     t ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | M: gesture-logger user-input* | 
					
						
							|  |  |  |     gesture-logger-stream [ | 
					
						
							|  |  |  |         "User input: " write print
 | 
					
						
							| 
									
										
										
										
											2008-05-05 03:19:25 -04:00
										 |  |  |     ] with-output-stream* t ;
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | : gesture-logger ( -- )
 | 
					
						
							|  |  |  |     [ | 
					
						
							|  |  |  |         <scrolling-pane> dup <scroller> | 
					
						
							|  |  |  |         "Gesture log" open-window | 
					
						
							|  |  |  |         <pane-stream> <gesture-logger> | 
					
						
							|  |  |  |         "Gesture input" open-window | 
					
						
							|  |  |  |     ] with-ui ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | MAIN: gesture-logger |