clean up lcd
parent
5cec6f15ca
commit
2d21f3bdd3
|
@ -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 <groups> 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 ;
|
||||
|
||||
: <time-display> ( timestamp -- gadget )
|
||||
[ hh:mm:ss lcd ] <arrow> <label-control>
|
||||
: <time-display> ( model -- gadget )
|
||||
[ timestamp>hms lcd ] <arrow> <label-control>
|
||||
"99:99:99" lcd >>string
|
||||
monospace-font >>font ;
|
||||
|
||||
|
|
Loading…
Reference in New Issue