factor/library/ui/labels.factor

22 lines
600 B
Factor
Raw Normal View History

2005-02-01 22:48:04 -05:00
! Copyright (C) 2005 Slava Pestov.
! See http://factor.sf.net/license.txt for BSD license.
IN: gadgets
2005-06-27 00:40:51 -04:00
USING: generic hashtables io kernel lists math namespaces sdl
2005-06-28 23:50:23 -04:00
sequences styles vectors ;
2005-02-01 22:48:04 -05:00
2005-03-01 22:11:08 -05:00
! A label gadget draws a string.
TUPLE: label text ;
2005-02-01 22:48:04 -05:00
C: label ( text -- label )
<empty-gadget> over set-delegate [ set-label-text ] keep ;
2005-02-02 19:50:13 -05:00
2005-05-05 23:58:45 -04:00
: label-size ( gadget text -- w h )
2005-06-27 03:47:22 -04:00
>r gadget-font r> size-string ;
2005-05-05 23:58:45 -04:00
2005-06-28 23:50:23 -04:00
M: label pref-dim ( label -- dim )
dup label-text label-size 0 3vector ;
2005-02-01 22:48:04 -05:00
M: label draw-shape ( label -- )
2005-06-27 03:47:22 -04:00
[ dup gadget-font swap label-text ] keep
[ draw-string ] with-trans ;