diff --git a/library/ui/paint.factor b/library/ui/paint.factor index cf18f399be..81b08dd089 100644 --- a/library/ui/paint.factor +++ b/library/ui/paint.factor @@ -5,6 +5,16 @@ io kernel lists math namespaces opengl sdl sequences strings 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 ; @@ -44,16 +54,6 @@ DEFER: draw-gadget ] 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 ; diff --git a/library/ui/theme.factor b/library/ui/theme.factor index e353ebc484..1569416d29 100644 --- a/library/ui/theme.factor +++ b/library/ui/theme.factor @@ -2,7 +2,6 @@ ! See http://factor.sf.net/license.txt for BSD license. IN: gadgets-buttons DEFER: -DEFER: button-paint IN: gadgets-theme USING: arrays gadgets kernel sequences styles ; @@ -48,8 +47,8 @@ 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 >> boundary set-paint-prop + dup f f f << solid >> interior set-paint-prop @{ 236 230 232 }@ background set-paint-prop ; : caret-theme ( caret -- )