From aeef08cd514009522ee58c6784ad339d0a1bddbe Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Tue, 26 Feb 2008 14:57:37 -0600 Subject: [PATCH] Improve LCD demo --- extra/lcd/lcd.factor | 22 ++++++++++++++++++---- extra/lcd/summary.txt | 2 +- 2 files changed, 19 insertions(+), 5 deletions(-) mode change 100644 => 100755 extra/lcd/summary.txt diff --git a/extra/lcd/lcd.factor b/extra/lcd/lcd.factor index 605ac4cd59..c2eba8b7b6 100755 --- a/extra/lcd/lcd.factor +++ b/extra/lcd/lcd.factor @@ -1,4 +1,6 @@ -USING: sequences kernel math io ; +USING: sequences kernel math io calendar calendar.model +arrays models namespaces ui.gadgets ui.gadgets.labels +ui.gadgets.theme ui ; IN: lcd : lcd-digit ( row digit -- str ) @@ -6,14 +8,26 @@ IN: lcd " _ _ _ _ _ _ _ _ " " | | | _| _| |_| |_ |_ | |_| |_| * " " |_| | |_ _| | _| |_| | |_| | * " + " " } nth >r 4 * dup 4 + r> subseq ; : lcd-row ( num row -- string ) [ swap lcd-digit ] curry { } map-as concat ; : lcd ( digit-str -- string ) - 3 [ lcd-row ] with map "\n" join ; + 4 [ lcd-row ] with map "\n" join ; -: lcd-demo ( -- ) "31337" lcd print ; +: hh:mm:ss ( timestamp -- string ) + { + timestamp-hour timestamp-minute timestamp-second + } get-slots >fixnum 3array [ pad-00 ] map ":" join ; -MAIN: lcd-demo +: ( timestamp -- gadget ) + [ hh:mm:ss lcd ] + "99:99:99" lcd over set-label-string + monospace-font over set-label-font ; + +: time-window ( -- ) + [ time get "Time" open-window ] with-ui ; + +MAIN: time-window diff --git a/extra/lcd/summary.txt b/extra/lcd/summary.txt old mode 100644 new mode 100755 index 1b6436a614..e477045071 --- a/extra/lcd/summary.txt +++ b/extra/lcd/summary.txt @@ -1 +1 @@ -7-segment numeric display demo +7-segment LCD clock demo