From 2d21f3bdd3f8306259483f5ceaf1f37954a35588 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Sat, 28 Nov 2009 18:36:47 -0600 Subject: [PATCH] clean up lcd --- extra/lcd/lcd.factor | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/extra/lcd/lcd.factor b/extra/lcd/lcd.factor index 1801ee2170..56aa3373e5 100644 --- a/extra/lcd/lcd.factor +++ b/extra/lcd/lcd.factor @@ -1,30 +1,26 @@ ! Copyright (C) 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors sequences kernel math io calendar grouping -calendar.format calendar.model fonts arrays models models.arrow -namespaces ui.gadgets ui.gadgets.labels ui ; +USING: accessors calendar.format calendar.model fonts fry +grouping kernel math models.arrow namespaces sequences ui +ui.gadgets.labels ; IN: lcd -: lcd-digit ( row digit -- str ) - dup CHAR: : = [ drop 10 ] [ CHAR: 0 - ] if swap { +: lcd-digit ( digit row -- str ) + [ dup CHAR: : = [ drop 10 ] [ CHAR: 0 - ] if ] dip { " _ _ _ _ _ _ _ _ " " | | | _| _| |_| |_ |_ | |_| |_| * " " |_| | |_ _| | _| |_| | |_| | * " " " } nth 4 nth ; -: lcd-row ( num row -- string ) - [ swap lcd-digit ] curry { } map-as concat ; +: lcd-row ( row digit -- string ) + '[ _ lcd-digit ] { } map-as concat ; : lcd ( digit-str -- string ) - 4 [ lcd-row ] with map "\n" join ; + 4 iota [ lcd-row ] with map "\n" join ; -: hh:mm:ss ( timestamp -- string ) - [ hour>> ] [ minute>> ] [ second>> >fixnum ] tri - 3array [ pad-00 ] map ":" join ; - -: ( timestamp -- gadget ) - [ hh:mm:ss lcd ] +: ( model -- gadget ) + [ timestamp>hms lcd ] "99:99:99" lcd >>string monospace-font >>font ; -- 2.34.1