\ 4tH library - BOX - Copyright 2005 J.L. Bezemer
\ You can redistribute this file and/or modify it under
\ the terms of the GNU General Public License
\ Load EMITS when needed
[UNDEFINED] emits [IF]
[NEEDS lib/emits.4th]
[THEN]
[UNDEFINED] BOX [IF]
char + constant LT \ left top corner
char + constant RT \ right top corner
char + constant LB \ left bottom corner
char + constant RB \ right bottom corner
char - constant HL \ horizontal line
char | constant VL \ verical line
defer .space \ determines spacing of box
\ private words
: (space) VL dup emit over spaces emit cr ;
: (none) ; \ line drawing words
: .line emit over HL emits emit cr ;
: .msg VL emit space -rot type space VL emit cr ;
\ addresses of words
' (space) constant big \ we want a big box
' (none) constant small \ we want a small box
( a1 n1 xt --)
: box is .space dup 1+ 1+ RT LT .line .space .msg .space RB LB .line drop ;
\ hide all private definitions
[DEFINED] 4TH# [IF]
hide LT
hide RT
hide LB
hide RB
hide HL
hide VL
hide (space)
hide (none)
hide .line
hide .space
hide .msg
[THEN]
[THEN]
|