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-10-27 16:17:50 -04:00
|
|
|
IN: gadgets-labels
|
|
|
|
DEFER: set-label-color
|
|
|
|
DEFER: set-label-font
|
|
|
|
|
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
|
|
|
|
2005-10-28 15:37:28 -04:00
|
|
|
: solid-black << solid f @{ 0.0 0.0 0.0 1.0 }@ >> ;
|
2005-10-27 16:17:50 -04:00
|
|
|
|
2005-10-28 15:37:28 -04:00
|
|
|
: solid-white << solid f @{ 1.0 1.0 1.0 1.0 }@ >> ;
|
2005-10-27 16:17:50 -04:00
|
|
|
|
|
|
|
: solid-interior solid-white swap set-gadget-interior ;
|
2005-09-28 23:29:00 -04:00
|
|
|
|
2005-10-27 16:17:50 -04:00
|
|
|
: solid-boundary solid-black swap set-gadget-boundary ;
|
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-28 15:37:28 -04:00
|
|
|
@{ 0.94 0.94 0.94 1.0 }@
|
|
|
|
@{ 0.83 0.83 0.83 1.0 }@
|
|
|
|
@{ 0.83 0.83 0.83 1.0 }@
|
|
|
|
@{ 0.62 0.62 0.62 1.0 }@
|
2005-10-25 21:52:26 -04:00
|
|
|
}@ >> ;
|
|
|
|
|
|
|
|
: rollover-gradient
|
|
|
|
<< gradient f @{
|
2005-10-28 15:37:28 -04:00
|
|
|
@{ 1.0 1.0 1.0 1.0 }@
|
|
|
|
@{ 0.9 0.9 0.9 1.0 }@
|
|
|
|
@{ 0.9 0.9 0.9 1.0 }@
|
|
|
|
@{ 0.75 0.75 0.75 1.0 }@
|
2005-10-25 21:52:26 -04:00
|
|
|
}@ >> ;
|
|
|
|
|
|
|
|
: pressed-gradient
|
|
|
|
<< gradient f @{
|
2005-10-28 15:37:28 -04:00
|
|
|
@{ 0.75 0.75 0.75 1.0 }@
|
|
|
|
@{ 0.9 0.9 0.9 1.0 }@
|
|
|
|
@{ 0.9 0.9 0.9 1.0 }@
|
|
|
|
@{ 1.0 1.0 1.0 1.0 }@
|
2005-10-25 21:52:26 -04:00
|
|
|
}@ >> ;
|
|
|
|
|
2005-10-27 17:21:06 -04:00
|
|
|
: faint-boundary
|
2005-10-29 16:53:47 -04:00
|
|
|
<< solid f @{ 0.62 0.62 0.62 0.8 }@ >> swap set-gadget-boundary ;
|
2005-10-27 17:21:06 -04:00
|
|
|
|
2005-10-25 21:52:26 -04:00
|
|
|
: bevel-button-theme ( gadget -- )
|
|
|
|
plain-gradient rollover-gradient pressed-gradient
|
2005-10-27 17:21:06 -04:00
|
|
|
<button-paint> over set-gadget-interior
|
|
|
|
faint-boundary ;
|
2005-10-25 21:52:26 -04:00
|
|
|
|
|
|
|
: thumb-theme ( thumb -- )
|
2005-10-27 17:21:06 -04:00
|
|
|
plain-gradient over set-gadget-interior faint-boundary ;
|
2005-09-28 23:29:00 -04:00
|
|
|
|
|
|
|
: roll-button-theme ( button -- )
|
2005-10-27 16:17:50 -04:00
|
|
|
f solid-black solid-black <button-paint> over set-gadget-boundary
|
2005-10-29 16:53:47 -04:00
|
|
|
f f pressed-gradient <button-paint> swap set-gadget-interior ;
|
2005-09-28 23:29:00 -04:00
|
|
|
|
|
|
|
: caret-theme ( caret -- )
|
2005-10-28 15:37:28 -04:00
|
|
|
<< solid f @{ 1.0 0.0 0.0 1.0 }@ >> swap set-gadget-interior ;
|
2005-09-28 23:29:00 -04:00
|
|
|
|
2005-10-24 00:08:09 -04:00
|
|
|
: elevator-theme ( elevator -- )
|
2005-10-27 16:17:50 -04:00
|
|
|
<< gradient f @{
|
2005-10-28 15:37:28 -04:00
|
|
|
@{ 0.37 0.37 0.37 1.0 }@
|
|
|
|
@{ 0.43 0.43 0.43 1.0 }@
|
|
|
|
@{ 0.5 0.5 0.5 1.0 }@
|
2005-10-27 16:17:50 -04:00
|
|
|
}@ >> swap set-gadget-interior ;
|
2005-09-28 23:29:00 -04:00
|
|
|
|
2005-10-25 21:52:26 -04:00
|
|
|
: reverse-video-theme ( gadget -- )
|
2005-10-27 16:17:50 -04:00
|
|
|
solid-black swap set-gadget-interior ;
|
2005-09-28 23:29:00 -04:00
|
|
|
|
|
|
|
: display-title-theme
|
2005-10-28 15:37:28 -04:00
|
|
|
<< solid f @{ 0.84 0.9 1.0 1.0 }@ >> swap set-gadget-interior ;
|
2005-09-28 23:29:00 -04:00
|
|
|
|
|
|
|
: menu-theme ( menu -- )
|
2005-10-13 00:23:17 -04:00
|
|
|
dup solid-boundary
|
2005-10-28 15:37:28 -04:00
|
|
|
<< solid f @{ 0.9 0.9 0.9 0.9 }@ >> swap set-gadget-interior ;
|
2005-10-27 16:17:50 -04:00
|
|
|
|
|
|
|
: label-theme ( label -- )
|
2005-10-28 15:37:28 -04:00
|
|
|
@{ 0.0 0.0 0.0 1.0 }@ over set-label-color
|
2005-10-27 16:17:50 -04:00
|
|
|
@{ "Monospaced" plain 12 }@ swap set-label-font ;
|
|
|
|
|
|
|
|
: editor-theme ( editor -- )
|
2005-10-28 15:37:28 -04:00
|
|
|
@{ 0.0 0.0 0.0 1.0 }@ over set-label-color
|
2005-10-27 16:17:50 -04:00
|
|
|
@{ "Monospaced" bold 12 }@ swap set-label-font ;
|