: draw-text* ( font text fg bg -- ) [ rot ] dip [ font-with-background ] when* swap [ font-with-foreground ] when* swap draw-text ; : draw-shadowed-text ( font text -- ) [ over shadow>> background get draw-text* ] [ [ 0.0 -1.0 0.0 glTranslated foreground get transparent draw-text* ] do-matrix ] 2bi ; : draw-normal-text ( font text -- ) foreground get background get draw-text* ; M: label draw-gadget* >label< over shadow>> [ draw-shadowed-text ] [ draw-normal-text ] if ;