summaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-07-27 19:39:02 +0000
committerDana Jansens <danakj@orodu.net>2003-07-27 19:39:02 +0000
commit2eb5721416309089d855ec8362d4ec131f595c21 (patch)
treea23d9ddf4e065fcc03b10136cec34a9fbb647ac1 /render
parentb8715ba30901551998adff78603015a5dd089cb0 (diff)
add pressed colors for buttons
Diffstat (limited to 'render')
-rw-r--r--render/theme.c143
-rw-r--r--render/theme.h20
2 files changed, 142 insertions, 21 deletions
diff --git a/render/theme.c b/render/theme.c
index a8a3eda2..68d9888f 100644
--- a/render/theme.c
+++ b/render/theme.c
@@ -34,6 +34,8 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
theme->a_disabled_focused_max = RrAppearanceNew(inst, 1);
theme->a_disabled_unfocused_max = RrAppearanceNew(inst, 1);
+ theme->a_hover_focused_max = RrAppearanceNew(inst, 1);
+ theme->a_hover_unfocused_max = RrAppearanceNew(inst, 1);
theme->a_focused_unpressed_max = RrAppearanceNew(inst, 1);
theme->a_focused_pressed_max = RrAppearanceNew(inst, 1);
theme->a_focused_pressed_set_max = RrAppearanceNew(inst, 1);
@@ -171,12 +173,23 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
theme->title_unfocused_color = RrColorNew(inst, 0xff, 0xff, 0xff);
if (!read_color(db, inst,
"window.button.focus.picColor",
- &theme->titlebut_focused_color))
- theme->titlebut_focused_color = RrColorNew(inst, 0, 0, 0);
+ &theme->titlebut_focused_unpressed_color))
+ theme->titlebut_focused_unpressed_color = RrColorNew(inst, 0, 0, 0);
if (!read_color(db, inst,
"window.button.unfocus.picColor",
- &theme->titlebut_unfocused_color))
- theme->titlebut_unfocused_color = RrColorNew(inst, 0xff, 0xff, 0xff);
+ &theme->titlebut_unfocused_unpressed_color))
+ theme->titlebut_unfocused_unpressed_color =
+ RrColorNew(inst, 0xff, 0xff, 0xff);
+ if (!read_color(db, inst,
+ "window.button.pressed.focus.picColor",
+ &theme->titlebut_focused_pressed_color))
+ theme->titlebut_focused_pressed_color =
+ theme->titlebut_focused_unpressed_color;
+ if (!read_color(db, inst,
+ "window.button.pressed.unfocus.picColor",
+ &theme->titlebut_unfocused_pressed_color))
+ theme->titlebut_unfocused_pressed_color =
+ theme->titlebut_unfocused_unpressed_color;
if (!read_color(db, inst,
"window.button.disabled.focus.picColor",
&theme->titlebut_disabled_focused_color))
@@ -185,7 +198,17 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
if (!read_color(db, inst,
"window.button.disabled.unfocus.picColor",
&theme->titlebut_disabled_unfocused_color))
- theme->titlebut_disabled_unfocused_color = RrColorNew(inst, 0, 0, 0);
+ theme->titlebut_hover_unfocused_color = RrColorNew(inst, 0, 0, 0);
+ if (!read_color(db, inst,
+ "window.button.hover.focus.picColor",
+ &theme->titlebut_hover_focused_color))
+ theme->titlebut_hover_focused_color =
+ theme->titlebut_focused_unpressed_color;
+ if (!read_color(db, inst,
+ "window.button.hover.unfocus.picColor",
+ &theme->titlebut_hover_unfocused_color))
+ theme->titlebut_hover_unfocused_color =
+ theme->titlebut_unfocused_unpressed_color;
if (!read_color(db, inst,
"menu.title.textColor", &theme->menu_title_color))
theme->menu_title_color = RrColorNew(inst, 0, 0, 0);
@@ -359,11 +382,27 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
theme->a_unfocused_unpressed_max,
TRUE))
set_default_appearance(theme->a_unfocused_unpressed_max);
+ if (!read_appearance(db, inst,
+ "window.button.hover.focus",
+ theme->a_hover_focused_max,
+ TRUE))
+ theme->a_hover_focused_max =
+ RrAppearanceCopy(theme->a_focused_unpressed_max);
+ if (!read_appearance(db, inst,
+ "window.button.hover.unfocus",
+ theme->a_hover_unfocused_max,
+ TRUE))
+ theme->a_hover_unfocused_max =
+ RrAppearanceCopy(theme->a_unfocused_unpressed_max);
theme->a_disabled_focused_close =
RrAppearanceCopy(theme->a_disabled_focused_max);
theme->a_disabled_unfocused_close =
RrAppearanceCopy(theme->a_disabled_unfocused_max);
+ theme->a_hover_focused_close =
+ RrAppearanceCopy(theme->a_hover_focused_max);
+ theme->a_hover_unfocused_close =
+ RrAppearanceCopy(theme->a_hover_unfocused_max);
theme->a_unfocused_unpressed_close =
RrAppearanceCopy(theme->a_unfocused_unpressed_max);
theme->a_unfocused_pressed_close =
@@ -376,6 +415,10 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
RrAppearanceCopy(theme->a_disabled_focused_max);
theme->a_disabled_unfocused_desk =
RrAppearanceCopy(theme->a_disabled_unfocused_max);
+ theme->a_hover_focused_desk =
+ RrAppearanceCopy(theme->a_hover_focused_max);
+ theme->a_hover_unfocused_desk =
+ RrAppearanceCopy(theme->a_hover_unfocused_max);
theme->a_unfocused_unpressed_desk =
RrAppearanceCopy(theme->a_unfocused_unpressed_max);
theme->a_unfocused_pressed_desk =
@@ -392,6 +435,10 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
RrAppearanceCopy(theme->a_disabled_focused_max);
theme->a_disabled_unfocused_shade =
RrAppearanceCopy(theme->a_disabled_unfocused_max);
+ theme->a_hover_focused_shade =
+ RrAppearanceCopy(theme->a_hover_focused_max);
+ theme->a_hover_unfocused_shade =
+ RrAppearanceCopy(theme->a_hover_unfocused_max);
theme->a_unfocused_unpressed_shade =
RrAppearanceCopy(theme->a_unfocused_unpressed_max);
theme->a_unfocused_pressed_shade =
@@ -408,6 +455,10 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
RrAppearanceCopy(theme->a_disabled_focused_max);
theme->a_disabled_unfocused_iconify =
RrAppearanceCopy(theme->a_disabled_focused_max);
+ theme->a_hover_focused_iconify =
+ RrAppearanceCopy(theme->a_hover_focused_max);
+ theme->a_hover_unfocused_iconify =
+ RrAppearanceCopy(theme->a_hover_focused_max);
theme->a_unfocused_unpressed_iconify =
RrAppearanceCopy(theme->a_unfocused_unpressed_max);
theme->a_unfocused_pressed_iconify =
@@ -470,6 +521,8 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
theme->a_disabled_focused_max->texture[0].type =
theme->a_disabled_unfocused_max->texture[0].type =
+ theme->a_hover_focused_max->texture[0].type =
+ theme->a_hover_unfocused_max->texture[0].type =
theme->a_focused_unpressed_max->texture[0].type =
theme->a_focused_pressed_max->texture[0].type =
theme->a_focused_pressed_set_max->texture[0].type =
@@ -478,12 +531,16 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
theme->a_unfocused_pressed_set_max->texture[0].type =
theme->a_disabled_focused_close->texture[0].type =
theme->a_disabled_unfocused_close->texture[0].type =
+ theme->a_hover_focused_close->texture[0].type =
+ theme->a_hover_unfocused_close->texture[0].type =
theme->a_focused_unpressed_close->texture[0].type =
theme->a_focused_pressed_close->texture[0].type =
theme->a_unfocused_unpressed_close->texture[0].type =
theme->a_unfocused_pressed_close->texture[0].type =
theme->a_disabled_focused_desk->texture[0].type =
theme->a_disabled_unfocused_desk->texture[0].type =
+ theme->a_hover_focused_desk->texture[0].type =
+ theme->a_hover_unfocused_desk->texture[0].type =
theme->a_focused_unpressed_desk->texture[0].type =
theme->a_focused_pressed_desk->texture[0].type =
theme->a_focused_pressed_set_desk->texture[0].type =
@@ -492,6 +549,8 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
theme->a_unfocused_pressed_set_desk->texture[0].type =
theme->a_disabled_focused_shade->texture[0].type =
theme->a_disabled_unfocused_shade->texture[0].type =
+ theme->a_hover_focused_shade->texture[0].type =
+ theme->a_hover_unfocused_shade->texture[0].type =
theme->a_focused_unpressed_shade->texture[0].type =
theme->a_focused_pressed_shade->texture[0].type =
theme->a_focused_pressed_set_shade->texture[0].type =
@@ -500,12 +559,16 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
theme->a_unfocused_pressed_set_shade->texture[0].type =
theme->a_disabled_focused_iconify->texture[0].type =
theme->a_disabled_unfocused_iconify->texture[0].type =
+ theme->a_hover_focused_iconify->texture[0].type =
+ theme->a_hover_unfocused_iconify->texture[0].type =
theme->a_focused_unpressed_iconify->texture[0].type =
theme->a_focused_pressed_iconify->texture[0].type =
theme->a_unfocused_unpressed_iconify->texture[0].type =
theme->a_unfocused_pressed_iconify->texture[0].type = RR_TEXTURE_MASK;
theme->a_disabled_focused_max->texture[0].data.mask.mask =
theme->a_disabled_unfocused_max->texture[0].data.mask.mask =
+ theme->a_hover_focused_max->texture[0].data.mask.mask =
+ theme->a_hover_unfocused_max->texture[0].data.mask.mask =
theme->a_focused_unpressed_max->texture[0].data.mask.mask =
theme->a_unfocused_unpressed_max->texture[0].data.mask.mask =
theme->a_focused_pressed_max->texture[0].data.mask.mask =
@@ -516,6 +579,8 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
theme->max_set_mask;
theme->a_disabled_focused_close->texture[0].data.mask.mask =
theme->a_disabled_unfocused_close->texture[0].data.mask.mask =
+ theme->a_hover_focused_close->texture[0].data.mask.mask =
+ theme->a_hover_unfocused_close->texture[0].data.mask.mask =
theme->a_focused_pressed_close->texture[0].data.mask.mask =
theme->a_unfocused_pressed_close->texture[0].data.mask.mask =
theme->a_focused_unpressed_close->texture[0].data.mask.mask =
@@ -523,6 +588,8 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
theme->close_mask;
theme->a_disabled_focused_desk->texture[0].data.mask.mask =
theme->a_disabled_unfocused_desk->texture[0].data.mask.mask =
+ theme->a_hover_focused_desk->texture[0].data.mask.mask =
+ theme->a_hover_unfocused_desk->texture[0].data.mask.mask =
theme->a_focused_unpressed_desk->texture[0].data.mask.mask =
theme->a_unfocused_unpressed_desk->texture[0].data.mask.mask =
theme->a_focused_pressed_desk->texture[0].data.mask.mask =
@@ -533,6 +600,8 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
theme->desk_set_mask;
theme->a_disabled_focused_shade->texture[0].data.mask.mask =
theme->a_disabled_unfocused_shade->texture[0].data.mask.mask =
+ theme->a_hover_focused_shade->texture[0].data.mask.mask =
+ theme->a_hover_unfocused_shade->texture[0].data.mask.mask =
theme->a_focused_unpressed_shade->texture[0].data.mask.mask =
theme->a_unfocused_unpressed_shade->texture[0].data.mask.mask =
theme->a_focused_pressed_shade->texture[0].data.mask.mask =
@@ -543,6 +612,8 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
theme->shade_set_mask;
theme->a_disabled_focused_iconify->texture[0].data.mask.mask =
theme->a_disabled_unfocused_iconify->texture[0].data.mask.mask =
+ theme->a_hover_focused_iconify->texture[0].data.mask.mask =
+ theme->a_hover_unfocused_iconify->texture[0].data.mask.mask =
theme->a_focused_unpressed_iconify->texture[0].data.mask.mask =
theme->a_unfocused_unpressed_iconify->texture[0].data.mask.mask =
theme->a_focused_pressed_iconify->texture[0].data.mask.mask =
@@ -560,34 +631,48 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
theme->a_disabled_unfocused_shade->texture[0].data.mask.color =
theme->a_disabled_unfocused_iconify->texture[0].data.mask.color =
theme->titlebut_disabled_unfocused_color;
+ theme->a_hover_focused_max->texture[0].data.mask.color =
+ theme->a_hover_focused_close->texture[0].data.mask.color =
+ theme->a_hover_focused_desk->texture[0].data.mask.color =
+ theme->a_hover_focused_shade->texture[0].data.mask.color =
+ theme->a_hover_focused_iconify->texture[0].data.mask.color =
+ theme->titlebut_hover_focused_color;
+ theme->a_hover_unfocused_max->texture[0].data.mask.color =
+ theme->a_hover_unfocused_close->texture[0].data.mask.color =
+ theme->a_hover_unfocused_desk->texture[0].data.mask.color =
+ theme->a_hover_unfocused_shade->texture[0].data.mask.color =
+ theme->a_hover_unfocused_iconify->texture[0].data.mask.color =
+ theme->titlebut_hover_unfocused_color;
theme->a_focused_unpressed_max->texture[0].data.mask.color =
- theme->a_focused_pressed_max->texture[0].data.mask.color =
- theme->a_focused_pressed_set_max->texture[0].data.mask.color =
theme->a_focused_unpressed_close->texture[0].data.mask.color =
- theme->a_focused_pressed_close->texture[0].data.mask.color =
theme->a_focused_unpressed_desk->texture[0].data.mask.color =
+ theme->a_focused_unpressed_shade->texture[0].data.mask.color =
+ theme->a_focused_unpressed_iconify->texture[0].data.mask.color =
+ theme->titlebut_focused_unpressed_color;
+ theme->a_focused_pressed_max->texture[0].data.mask.color =
+ theme->a_focused_pressed_set_max->texture[0].data.mask.color =
+ theme->a_focused_pressed_close->texture[0].data.mask.color =
theme->a_focused_pressed_desk->texture[0].data.mask.color =
theme->a_focused_pressed_set_desk->texture[0].data.mask.color =
- theme->a_focused_unpressed_shade->texture[0].data.mask.color =
theme->a_focused_pressed_shade->texture[0].data.mask.color =
theme->a_focused_pressed_set_shade->texture[0].data.mask.color =
- theme->a_focused_unpressed_iconify->texture[0].data.mask.color =
theme->a_focused_pressed_iconify->texture[0].data.mask.color =
- theme->titlebut_focused_color;
+ theme->titlebut_focused_pressed_color;
theme->a_unfocused_unpressed_max->texture[0].data.mask.color =
+ theme->a_unfocused_unpressed_close->texture[0].data.mask.color =
+ theme->a_unfocused_unpressed_desk->texture[0].data.mask.color =
+ theme->a_unfocused_unpressed_shade->texture[0].data.mask.color =
+ theme->a_unfocused_unpressed_iconify->texture[0].data.mask.color =
+ theme->titlebut_unfocused_unpressed_color;
theme->a_unfocused_pressed_max->texture[0].data.mask.color =
theme->a_unfocused_pressed_set_max->texture[0].data.mask.color =
- theme->a_unfocused_unpressed_close->texture[0].data.mask.color =
theme->a_unfocused_pressed_close->texture[0].data.mask.color =
- theme->a_unfocused_unpressed_desk->texture[0].data.mask.color =
theme->a_unfocused_pressed_desk->texture[0].data.mask.color =
theme->a_unfocused_pressed_set_desk->texture[0].data.mask.color =
- theme->a_unfocused_unpressed_shade->texture[0].data.mask.color =
theme->a_unfocused_pressed_shade->texture[0].data.mask.color =
theme->a_unfocused_pressed_set_shade->texture[0].data.mask.color =
- theme->a_unfocused_unpressed_iconify->texture[0].data.mask.color =
theme->a_unfocused_pressed_iconify->texture[0].data.mask.color =
- theme->titlebut_unfocused_color;
+ theme->titlebut_unfocused_pressed_color;
XrmDestroyDatabase(db);
@@ -609,8 +694,10 @@ void RrThemeFree(RrTheme *theme)
RrColorFree(theme->cb_focused_color);
RrColorFree(theme->title_unfocused_color);
RrColorFree(theme->title_focused_color);
- RrColorFree(theme->titlebut_unfocused_color);
- RrColorFree(theme->titlebut_focused_color);
+ RrColorFree(theme->titlebut_unfocused_pressed_color);
+ RrColorFree(theme->titlebut_focused_pressed_color);
+ RrColorFree(theme->titlebut_unfocused_unpressed_color);
+ RrColorFree(theme->titlebut_focused_unpressed_color);
RrColorFree(theme->menu_color);
RrColorFree(theme->menu_title_color);
RrColorFree(theme->menu_disabled_color);
@@ -631,24 +718,44 @@ void RrThemeFree(RrTheme *theme)
g_free(theme->title_layout);
+ RrAppearanceFree(theme->a_disabled_focused_max);
+ RrAppearanceFree(theme->a_disabled_unfocused_max);
+ RrAppearanceFree(theme->a_hover_focused_max);
+ RrAppearanceFree(theme->a_hover_unfocused_max);
RrAppearanceFree(theme->a_focused_unpressed_max);
RrAppearanceFree(theme->a_focused_pressed_max);
RrAppearanceFree(theme->a_focused_pressed_set_max);
RrAppearanceFree(theme->a_unfocused_unpressed_max);
RrAppearanceFree(theme->a_unfocused_pressed_max);
RrAppearanceFree(theme->a_unfocused_pressed_set_max);
+ RrAppearanceFree(theme->a_disabled_focused_close);
+ RrAppearanceFree(theme->a_disabled_unfocused_close);
+ RrAppearanceFree(theme->a_hover_focused_close);
+ RrAppearanceFree(theme->a_hover_unfocused_close);
RrAppearanceFree(theme->a_focused_unpressed_close);
RrAppearanceFree(theme->a_focused_pressed_close);
RrAppearanceFree(theme->a_unfocused_unpressed_close);
RrAppearanceFree(theme->a_unfocused_pressed_close);
+ RrAppearanceFree(theme->a_disabled_focused_desk);
+ RrAppearanceFree(theme->a_disabled_unfocused_desk);
+ RrAppearanceFree(theme->a_hover_focused_desk);
+ RrAppearanceFree(theme->a_hover_unfocused_desk);
RrAppearanceFree(theme->a_focused_unpressed_desk);
RrAppearanceFree(theme->a_focused_pressed_desk);
RrAppearanceFree(theme->a_unfocused_unpressed_desk);
RrAppearanceFree(theme->a_unfocused_pressed_desk);
+ RrAppearanceFree(theme->a_disabled_focused_shade);
+ RrAppearanceFree(theme->a_disabled_unfocused_shade);
+ RrAppearanceFree(theme->a_hover_focused_shade);
+ RrAppearanceFree(theme->a_hover_unfocused_shade);
RrAppearanceFree(theme->a_focused_unpressed_shade);
RrAppearanceFree(theme->a_focused_pressed_shade);
RrAppearanceFree(theme->a_unfocused_unpressed_shade);
RrAppearanceFree(theme->a_unfocused_pressed_shade);
+ RrAppearanceFree(theme->a_disabled_focused_iconify);
+ RrAppearanceFree(theme->a_disabled_unfocused_iconify);
+ RrAppearanceFree(theme->a_hover_focused_iconify);
+ RrAppearanceFree(theme->a_hover_unfocused_iconify);
RrAppearanceFree(theme->a_focused_unpressed_iconify);
RrAppearanceFree(theme->a_focused_pressed_iconify);
RrAppearanceFree(theme->a_unfocused_unpressed_iconify);
diff --git a/render/theme.h b/render/theme.h
index 74f309e7..18464c36 100644
--- a/render/theme.h
+++ b/render/theme.h
@@ -29,9 +29,13 @@ struct _RrTheme {
RrColor *title_focused_color;
RrColor *title_unfocused_color;
RrColor *titlebut_disabled_focused_color;
- RrColor *titlebut_disabled_unfocused_color;
- RrColor *titlebut_focused_color;
- RrColor *titlebut_unfocused_color;
+ RrColor *titlebut_disabled_unfocused_color;
+ RrColor *titlebut_hover_focused_color;
+ RrColor *titlebut_hover_unfocused_color;
+ RrColor *titlebut_focused_pressed_color;
+ RrColor *titlebut_unfocused_pressed_color;
+ RrColor *titlebut_focused_unpressed_color;
+ RrColor *titlebut_unfocused_unpressed_color;
RrColor *menu_title_color;
RrColor *menu_color;
RrColor *menu_disabled_color;
@@ -61,6 +65,8 @@ struct _RrTheme {
/* global appearances */
RrAppearance *a_disabled_focused_max;
RrAppearance *a_disabled_unfocused_max;
+ RrAppearance *a_hover_focused_max;
+ RrAppearance *a_hover_unfocused_max;
RrAppearance *a_focused_unpressed_max;
RrAppearance *a_focused_pressed_max;
RrAppearance *a_focused_pressed_set_max;
@@ -69,12 +75,16 @@ struct _RrTheme {
RrAppearance *a_unfocused_pressed_set_max;
RrAppearance *a_disabled_focused_close;
RrAppearance *a_disabled_unfocused_close;
+ RrAppearance *a_hover_focused_close;
+ RrAppearance *a_hover_unfocused_close;
RrAppearance *a_focused_unpressed_close;
RrAppearance *a_focused_pressed_close;
RrAppearance *a_unfocused_unpressed_close;
RrAppearance *a_unfocused_pressed_close;
RrAppearance *a_disabled_focused_desk;
RrAppearance *a_disabled_unfocused_desk;
+ RrAppearance *a_hover_focused_desk;
+ RrAppearance *a_hover_unfocused_desk;
RrAppearance *a_focused_unpressed_desk;
RrAppearance *a_focused_pressed_desk;
RrAppearance *a_focused_pressed_set_desk;
@@ -83,6 +93,8 @@ struct _RrTheme {
RrAppearance *a_unfocused_pressed_set_desk;
RrAppearance *a_disabled_focused_shade;
RrAppearance *a_disabled_unfocused_shade;
+ RrAppearance *a_hover_focused_shade;
+ RrAppearance *a_hover_unfocused_shade;
RrAppearance *a_focused_unpressed_shade;
RrAppearance *a_focused_pressed_shade;
RrAppearance *a_focused_pressed_set_shade;
@@ -91,6 +103,8 @@ struct _RrTheme {
RrAppearance *a_unfocused_pressed_set_shade;
RrAppearance *a_disabled_focused_iconify;
RrAppearance *a_disabled_unfocused_iconify;
+ RrAppearance *a_hover_focused_iconify;
+ RrAppearance *a_hover_unfocused_iconify;
RrAppearance *a_focused_unpressed_iconify;
RrAppearance *a_focused_pressed_iconify;
RrAppearance *a_unfocused_unpressed_iconify;