factor/core/ui/gadgets/theme.factor

119 lines
2.9 KiB
Factor
Raw Permalink Normal View History

2005-09-28 23:29:00 -04:00
! Copyright (C) 2005 Slava Pestov.
! See http://factorcode.org/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
IN: gadgets-text
DEFER: set-editor-color
DEFER: set-editor-caret-color
DEFER: set-editor-selection-color
DEFER: set-editor-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
2006-11-21 19:35:26 -05:00
: black { 0.0 0.0 0.0 1.0 } ;
: white { 1.0 1.0 1.0 1.0 } ;
: gray { 0.6 0.6 0.6 1.0 } ;
2005-10-27 16:17:50 -04:00
2006-11-21 19:35:26 -05:00
: solid-interior white <solid> swap set-gadget-interior ;
2005-10-27 16:17:50 -04:00
2006-11-21 19:35:26 -05:00
: solid-boundary black <solid> swap set-gadget-boundary ;
2005-09-28 23:29:00 -04:00
2006-11-21 19:35:26 -05:00
: faint-boundary gray <solid> swap set-gadget-boundary ;
2006-11-19 21:13:37 -05:00
2005-10-25 21:52:26 -04:00
: plain-gradient
T{ gradient f {
{ 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
T{ gradient f {
{ 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
T{ gradient f {
{ 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
2006-06-17 03:51:06 -04:00
: selected-gradient
T{ gradient f {
{ 0.65 0.65 0.65 1.0 }
{ 0.8 0.8 0.8 1.0 }
{ 0.8 0.8 0.8 1.0 }
{ 1.0 1.0 1.0 1.0 }
} } ;
2005-10-25 21:52:26 -04:00
: bevel-button-theme ( gadget -- )
2006-06-17 03:51:06 -04:00
plain-gradient
rollover-gradient
pressed-gradient
selected-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 -- )
2006-11-21 19:35:26 -05:00
f black <solid> dup f <button-paint>
2006-11-19 21:13:37 -05:00
swap set-gadget-boundary ;
2005-09-28 23:29:00 -04:00
: caret-theme ( caret -- )
T{ solid f { 1.0 0.0 0.0 1.0 } } swap set-gadget-interior ;
2005-09-28 23:29:00 -04:00
: elevator-theme ( elevator -- )
T{ gradient f {
{ 0.37 0.37 0.37 1.0 }
{ 0.43 0.43 0.43 1.0 }
{ 0.5 0.5 0.5 1.0 }
} } swap set-gadget-interior ;
2005-09-28 23:29:00 -04:00
: reverse-video-theme ( label -- )
2006-11-21 19:35:26 -05:00
white over set-label-color
black <solid> swap set-gadget-interior ;
2005-09-28 23:29:00 -04:00
2006-05-20 17:02:08 -04:00
: label-theme ( gadget -- )
2006-11-21 19:35:26 -05:00
black over set-label-color
2006-08-26 03:20:58 -04:00
{ "sans-serif" plain 12 } swap set-label-font ;
: text-theme ( gadget -- )
2006-11-21 19:35:26 -05:00
black over set-label-color
{ "monospace" plain 12 } swap set-label-font ;
2005-10-27 16:17:50 -04:00
: editor-theme ( editor -- )
2006-11-21 19:35:26 -05:00
black over set-editor-color
{ 1.0 0.0 0.0 1.0 } over set-editor-caret-color
{ 0.8 0.8 1.0 1.0 } over set-editor-selection-color
{ "monospace" plain 12 } swap set-editor-font ;
2006-11-17 18:11:35 -05:00
: popup-theme ( gadget -- )
T{ solid f { 0.95 0.95 0.95 0.95 } }
swap set-gadget-interior ;
: menu-theme ( gadget -- )
T{ solid f { 0.95 0.95 0.95 0.95 } }
over set-gadget-interior
2006-11-21 19:35:26 -05:00
gray <solid> swap set-gadget-boundary ;
: title-theme ( gadget -- )
{ 1 0 } over set-gadget-orientation
T{ gradient f {
{ 0.65 0.65 1.0 1.0 }
{ 0.65 0.45 1.0 1.0 }
} } swap set-gadget-interior ;