RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
{
XrmDatabase db = NULL;
- RrJustify winjust, mtitlejust, mjust;
+ RrJustify winjust, mtitlejust;
gchar *str;
gchar *font_str;
RrTheme *theme;
theme->a_unfocused_handle = RrAppearanceNew(inst, 0);
theme->a_menu = RrAppearanceNew(inst, 0);
theme->a_menu_title = RrAppearanceNew(inst, 1);
- theme->a_menu_item = RrAppearanceNew(inst, 1);
- theme->a_menu_disabled = RrAppearanceNew(inst, 1);
- theme->a_menu_hilite = RrAppearanceNew(inst, 1);
+ theme->a_menu_item = RrAppearanceNew(inst, 0);
+ theme->a_menu_disabled = RrAppearanceNew(inst, 0);
+ theme->a_menu_hilite = RrAppearanceNew(inst, 0);
+ theme->a_menu_text_item = RrAppearanceNew(inst, 1);
+ theme->a_menu_text_disabled = RrAppearanceNew(inst, 1);
+ theme->a_menu_text_hilite = RrAppearanceNew(inst, 1);
theme->a_menu_bullet = RrAppearanceNew(inst, 1);
theme->a_clear = RrAppearanceNew(inst, 0);
+ theme->a_clear_tex = RrAppearanceNew(inst, 1);
theme->app_hilite_bg = RrAppearanceNew(inst, 0);
theme->app_unhilite_bg = RrAppearanceNew(inst, 0);
theme->app_hilite_label = RrAppearanceNew(inst, 1);
theme->app_unhilite_label = RrAppearanceNew(inst, 1);
- theme->app_icon = RrAppearanceNew(inst, 1);
if (name) {
db = loaddb(theme, name);
/* load the font stuff */
if (!read_string(db, "window.focus.font", &font_str))
- font_str = "arial,sans:bold:pixelsize=9:shadow=y:shadowtint=50";
+ font_str = "arial,sans:bold:pixelsize=10:shadow=y:shadowtint=50";
if (!(theme->winfont_focused = RrFontOpen(inst, font_str))) {
RrThemeFree(theme);
}
theme->mfont_height = RrFontHeight(theme->mfont);
- mjust = RR_JUSTIFY_LEFT;
- if (read_string(db, "menu.frame.justify", &str)) {
- if (!g_ascii_strcasecmp(str, "right"))
- mjust = RR_JUSTIFY_RIGHT;
- else if (!g_ascii_strcasecmp(str, "center"))
- mjust = RR_JUSTIFY_CENTER;
- }
-
/* load direct dimensions */
if (!read_int(db, "menuOverlap", &theme->menu_overlap) ||
theme->menu_overlap < 0 || theme->menu_overlap > 20)
}
if (!read_mask(inst, "bullet.xbm", theme, &theme->menu_bullet_mask)) {
- guchar data[] = { 0x18, 0x30, 0x60, 0xfe, 0xfe, 0x60, 0x30, 0x18 };
- theme->menu_bullet_mask = RrPixmapMaskNew(inst, 8, 8, (char*)data);
+ guchar data[] = { 0x01, 0x03, 0x07, 0x0f, 0x07, 0x03, 0x01 };
+ theme->menu_bullet_mask = RrPixmapMaskNew(inst, 4, 7, (char*)data);
}
/* read the decoration textures */
"window.button.toggled.focus",
theme->a_toggled_focused_max,
TRUE))
+ {
+ RrAppearanceFree(theme->a_toggled_focused_max);
theme->a_toggled_focused_max =
RrAppearanceCopy(theme->a_focused_pressed_max);
+ }
if (!read_appearance(db, inst,
"window.button.toggled.unfocus",
theme->a_toggled_unfocused_max,
TRUE))
+ {
+ RrAppearanceFree(theme->a_toggled_unfocused_max);
theme->a_toggled_unfocused_max =
RrAppearanceCopy(theme->a_unfocused_pressed_max);
+ }
if (!read_appearance(db, inst,
"window.button.focus",
theme->a_focused_unpressed_max,
"window.button.hover.focus",
theme->a_hover_focused_max,
TRUE))
+ {
+ RrAppearanceFree(theme->a_hover_focused_max);
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))
+ {
+ RrAppearanceFree(theme->a_hover_unfocused_max);
theme->a_hover_unfocused_max =
RrAppearanceCopy(theme->a_unfocused_unpressed_max);
+ }
theme->a_disabled_focused_close =
RrAppearanceCopy(theme->a_disabled_focused_max);
theme->a_focused_pressed_iconify =
RrAppearanceCopy(theme->a_focused_pressed_max);
- theme->a_icon->surface.grad = RR_SURFACE_PARENTREL;
- theme->a_clear->surface.grad = RR_SURFACE_PARENTREL;
+ theme->a_icon->surface.grad =
+ theme->a_clear->surface.grad =
+ theme->a_clear_tex->surface.grad =
+ theme->a_menu_item->surface.grad =
+ theme->a_menu_disabled->surface.grad =
+ theme->a_menu_text_item->surface.grad =
+ theme->a_menu_text_disabled->surface.grad =
+ theme->a_menu_text_hilite->surface.grad =
+ theme->a_menu_bullet->surface.grad = RR_SURFACE_PARENTREL;
/* set up the textures */
theme->a_focused_label->texture[0].type =
theme->a_menu_title->texture[0].data.text.font = theme->mtitlefont;
theme->a_menu_title->texture[0].data.text.color = theme->menu_title_color;
- theme->a_menu_item->surface.grad =
- theme->a_menu_disabled->surface.grad =
- theme->a_menu_bullet->surface.grad =
- theme->app_icon->surface.grad = RR_SURFACE_PARENTREL;
-
- theme->a_menu_item->texture[0].type =
- theme->a_menu_disabled->texture[0].type =
- theme->a_menu_hilite->texture[0].type = RR_TEXTURE_TEXT;
- theme->a_menu_item->texture[0].data.text.justify =
- theme->a_menu_disabled->texture[0].data.text.justify =
- theme->a_menu_hilite->texture[0].data.text.justify = mjust;
- theme->a_menu_item->texture[0].data.text.font =
- theme->a_menu_disabled->texture[0].data.text.font =
- theme->a_menu_hilite->texture[0].data.text.font = theme->mfont;
- theme->a_menu_item->texture[0].data.text.color = theme->menu_color;
- theme->a_menu_disabled->texture[0].data.text.color =
+ theme->a_menu_text_item->texture[0].type =
+ theme->a_menu_text_disabled->texture[0].type =
+ theme->a_menu_text_hilite->texture[0].type = RR_TEXTURE_TEXT;
+ theme->a_menu_text_item->texture[0].data.text.justify =
+ theme->a_menu_text_disabled->texture[0].data.text.justify =
+ theme->a_menu_text_hilite->texture[0].data.text.justify =
+ RR_JUSTIFY_LEFT;
+ theme->a_menu_text_item->texture[0].data.text.font =
+ theme->a_menu_text_disabled->texture[0].data.text.font =
+ theme->a_menu_text_hilite->texture[0].data.text.font = theme->mfont;
+ theme->a_menu_text_item->texture[0].data.text.color = theme->menu_color;
+ theme->a_menu_text_disabled->texture[0].data.text.color =
theme->menu_disabled_color;
- theme->a_menu_hilite->texture[0].data.text.color =
+ theme->a_menu_text_hilite->texture[0].data.text.color =
theme->menu_hilite_color;
theme->a_menu_bullet->texture[0].data.mask.color =
theme->menu_bullet_color;
theme->label_height = theme->winfont_height;
theme->title_height = theme->label_height + theme->bevel * 2;
theme->button_size = theme->label_height - 2;
- theme->grip_width = theme->button_size * 2;
+ theme->grip_width = theme->title_height * 1.5;
return theme;
}
RrColorFree(theme->menu_title_color);
RrColorFree(theme->menu_disabled_color);
RrColorFree(theme->menu_hilite_color);
+ RrColorFree(theme->menu_bullet_color);
RrPixmapMaskFree(theme->max_mask);
RrPixmapMaskFree(theme->max_toggled_mask);
RrAppearanceFree(theme->a_menu_item);
RrAppearanceFree(theme->a_menu_disabled);
RrAppearanceFree(theme->a_menu_hilite);
+ RrAppearanceFree(theme->a_menu_text_item);
+ RrAppearanceFree(theme->a_menu_text_disabled);
+ RrAppearanceFree(theme->a_menu_text_hilite);
RrAppearanceFree(theme->a_clear);
+ RrAppearanceFree(theme->a_clear_tex);
RrAppearanceFree(theme->app_hilite_bg);
RrAppearanceFree(theme->app_unhilite_bg);
RrAppearanceFree(theme->app_hilite_label);
RrAppearanceFree(theme->app_unhilite_label);
- RrAppearanceFree(theme->app_icon);
}
}