1 ! Copyright (C) 2005, 2006 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
4 USING: arrays freetype gadgets gadgets-theme
5 generic hashtables io kernel math namespaces opengl sequences
8 ! A label gadget draws a string.
9 TUPLE: label text font color ;
11 C: label ( text -- label )
13 [ set-label-text ] keep
16 : label-size ( gadget -- dim )
17 dup label-font lookup-font dup font-height >r
18 swap label-text string-width r> 2array ;
20 M: label pref-dim* label-size ;
22 : draw-label ( label -- )
23 dup label-color gl-color
24 dup label-font swap label-text
25 origin get draw-string ;
27 M: label draw-gadget* draw-label ;
29 : <label-control> ( model -- gadget )
30 "" <label> [ set-label-text ] <control> ;