factor/library/ui/labels.factor

28 lines
720 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
USING: generic kernel lists math namespaces sdl ;
! A label draws a text label, centered on the gadget's bounding
! box.
TUPLE: label text delegate ;
2005-02-02 19:50:13 -05:00
C: label ( text -- )
0 0 0 0 <rectangle> <gadget> over set-label-delegate
[ set-label-text ] keep ;
M: label layout* ( label -- )
2005-02-01 22:48:04 -05:00
[
dup label-text swap gadget-paint
[ font get lookup-font ] bind
swap size-string
] keep resize-gadget ;
M: label draw-shape ( label -- )
2005-02-01 22:48:04 -05:00
dup shape-x x get +
over shape-y y get +
rot label-text
>r font get lookup-font r>
color get 3unlist make-color
draw-string drop ;