2005-09-28 23:29:00 -04:00
|
|
|
! Copyright (C) 2005 Slava Pestov.
|
|
|
|
! See http://factor.sf.net/license.txt for BSD license.
|
2005-10-25 21:52:26 -04:00
|
|
|
IN: gadgets-buttons
|
|
|
|
DEFER: <button-paint>
|
|
|
|
|
2005-09-28 23:29:00 -04:00
|
|
|
IN: gadgets-theme
|
2005-10-13 00:23:17 -04:00
|
|
|
USING: arrays gadgets kernel sequences styles ;
|
2005-09-28 23:29:00 -04:00
|
|
|
|
|
|
|
: solid-interior ( gadget -- )
|
|
|
|
<< solid >> interior set-paint-prop ;
|
|
|
|
|
|
|
|
: solid-boundary ( gadget -- )
|
2005-10-24 00:08:09 -04:00
|
|
|
<< solid >> boundary set-paint-prop ;
|
2005-09-28 23:29:00 -04:00
|
|
|
|
2005-10-25 21:52:26 -04:00
|
|
|
: plain-gradient
|
2005-10-24 00:18:46 -04:00
|
|
|
<< gradient f @{
|
2005-10-13 00:23:17 -04:00
|
|
|
@{ 240 240 240 }@
|
|
|
|
@{ 192 192 192 }@
|
|
|
|
@{ 192 192 192 }@
|
|
|
|
@{ 96 96 96 }@
|
2005-10-25 21:52:26 -04:00
|
|
|
}@ >> ;
|
|
|
|
|
|
|
|
: rollover-gradient
|
|
|
|
<< gradient f @{
|
|
|
|
@{ 255 255 255 }@
|
|
|
|
@{ 216 216 216 }@
|
|
|
|
@{ 216 216 216 }@
|
|
|
|
@{ 112 112 112 }@
|
|
|
|
}@ >> ;
|
|
|
|
|
|
|
|
: pressed-gradient
|
|
|
|
<< gradient f @{
|
|
|
|
@{ 112 112 112 }@
|
|
|
|
@{ 216 216 216 }@
|
|
|
|
@{ 216 216 216 }@
|
|
|
|
@{ 255 255 255 }@
|
|
|
|
}@ >> ;
|
|
|
|
|
|
|
|
: bevel-button-theme ( gadget -- )
|
|
|
|
plain-gradient rollover-gradient pressed-gradient
|
|
|
|
<button-paint> interior set-paint-prop ;
|
|
|
|
|
|
|
|
: thumb-theme ( thumb -- )
|
|
|
|
plain-gradient interior set-paint-prop ;
|
2005-09-28 23:29:00 -04:00
|
|
|
|
|
|
|
: editor-theme ( editor -- )
|
|
|
|
bold font-style set-paint-prop ;
|
|
|
|
|
|
|
|
: roll-button-theme ( button -- )
|
2005-10-26 00:27:38 -04:00
|
|
|
dup f f << solid >> << solid >> <button-paint> boundary set-paint-prop
|
|
|
|
dup f f f << solid >> <button-paint> interior set-paint-prop
|
2005-10-25 21:52:26 -04:00
|
|
|
@{ 236 230 232 }@ background set-paint-prop ;
|
2005-09-28 23:29:00 -04:00
|
|
|
|
|
|
|
: caret-theme ( caret -- )
|
|
|
|
dup solid-interior
|
|
|
|
red background set-paint-prop ;
|
|
|
|
|
2005-10-24 00:08:09 -04:00
|
|
|
: elevator-theme ( elevator -- )
|
2005-10-24 00:18:46 -04:00
|
|
|
dup << gradient f @{
|
2005-10-24 00:08:09 -04:00
|
|
|
@{ 64 64 64 }@
|
|
|
|
@{ 96 96 96 }@
|
|
|
|
@{ 128 128 128 }@
|
|
|
|
}@ >> interior set-paint-prop
|
2005-09-28 23:29:00 -04:00
|
|
|
light-gray background set-paint-prop ;
|
|
|
|
|
2005-10-25 21:52:26 -04:00
|
|
|
: reverse-video-theme ( gadget -- )
|
|
|
|
dup black background set-paint-prop
|
|
|
|
white foreground set-paint-prop ;
|
|
|
|
|
2005-09-28 23:29:00 -04:00
|
|
|
: divider-theme ( divider -- )
|
2005-10-25 21:52:26 -04:00
|
|
|
dup solid-interior reverse-video-theme ;
|
2005-09-28 23:29:00 -04:00
|
|
|
|
|
|
|
: display-title-theme
|
|
|
|
dup @{ 216 232 255 }@ background set-paint-prop
|
|
|
|
solid-interior ;
|
|
|
|
|
|
|
|
: menu-theme ( menu -- )
|
2005-10-13 00:23:17 -04:00
|
|
|
dup solid-boundary
|
2005-10-24 00:08:09 -04:00
|
|
|
<< gradient f @{ @{ 216 216 216 }@ @{ 255 255 255 }@ }@ >>
|
2005-09-28 23:29:00 -04:00
|
|
|
interior set-paint-prop ;
|
|
|
|
|
|
|
|
: icon-theme ( gadget -- )
|
|
|
|
dup gray background set-paint-prop
|
|
|
|
gray foreground set-paint-prop ;
|
|
|
|
|
|
|
|
: world-theme
|
|
|
|
{{
|
|
|
|
[[ background @{ 255 255 255 }@ ]]
|
|
|
|
[[ foreground @{ 0 0 0 }@ ]]
|
|
|
|
[[ font "Monospaced" ]]
|
|
|
|
[[ font-size 12 ]]
|
|
|
|
[[ font-style plain ]]
|
2005-10-07 20:26:21 -04:00
|
|
|
}} add-paint ;
|