styles vectors ;
IN: gadgets
+: paint-prop* ( gadget key -- value ) swap gadget-paint ?hash ;
+
+: paint-prop ( gadget key -- value )
+ over [
+ 2dup paint-prop* dup
+ [ 2nip ] [ drop >r gadget-parent r> paint-prop ] if
+ ] [
+ 2drop f
+ ] if ;
+
GENERIC: draw-gadget* ( gadget -- )
M: gadget draw-gadget* ( gadget -- ) drop ;
] with-scope
] when drop ;
-: paint-prop* ( gadget key -- value ) swap gadget-paint ?hash ;
-
-: paint-prop ( gadget key -- value )
- over [
- 2dup paint-prop* dup
- [ 2nip ] [ drop >r gadget-parent r> paint-prop ] if
- ] [
- 2drop f
- ] if ;
-
: init-paint ( gadget -- gestures )
dup gadget-paint
[ ] [ {{ }} clone dup rot set-gadget-paint ] ?if ;
! See http://factor.sf.net/license.txt for BSD license.
IN: gadgets-buttons
DEFER: <button-paint>
-DEFER: button-paint
IN: gadgets-theme
USING: arrays gadgets kernel sequences styles ;
bold font-style set-paint-prop ;
: roll-button-theme ( button -- )
- dup << button-paint f f << solid >> << solid >> >> boundary set-paint-prop
- dup << button-paint f f f << solid >> >> interior set-paint-prop
+ dup f f << solid >> << solid >> <button-paint> boundary set-paint-prop
+ dup f f f << solid >> <button-paint> interior set-paint-prop
@{ 236 230 232 }@ background set-paint-prop ;
: caret-theme ( caret -- )