]> Dogcows Code - chaz/openbox/blobdiff - render/theme.c
Introducing the icon cache.
[chaz/openbox] / render / theme.c
index d188e6ae7fc99615cf0c629994e6605255afdf72..cd2352c3ca5bb43f8935e80d9b52e61cdda83be8 100644 (file)
@@ -115,6 +115,7 @@ RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name,
     theme->a_menu_normal = RrAppearanceNew(inst, 0);
     theme->a_menu_selected = RrAppearanceNew(inst, 0);
     theme->a_menu_disabled = RrAppearanceNew(inst, 0);
+    /* a_menu_disabled_selected is copied from a_menu_selected */
     theme->a_menu_text_normal = RrAppearanceNew(inst, 1);
     theme->a_menu_text_selected = RrAppearanceNew(inst, 1);
     theme->a_menu_text_disabled = RrAppearanceNew(inst, 1);
@@ -176,9 +177,14 @@ RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name,
         theme->osd_font = RrFontOpenDefault(inst);
 
     /* load direct dimensions */
-    if (!read_int(db, "menu.overlap", &theme->menu_overlap) ||
-        theme->menu_overlap < -100 || theme->menu_overlap > 100)
-        theme->menu_overlap = 0;
+    if ((!read_int(db, "menu.overlap.x", &theme->menu_overlap_x) &&
+         !read_int(db, "menu.overlap", &theme->menu_overlap_x)) ||
+        theme->menu_overlap_x < -100 || theme->menu_overlap_x > 100)
+        theme->menu_overlap_x = 0;
+    if ((!read_int(db, "menu.overlap.y", &theme->menu_overlap_y) &&
+         !read_int(db, "menu.overlap", &theme->menu_overlap_y)) ||
+        theme->menu_overlap_y < -100 || theme->menu_overlap_y > 100)
+        theme->menu_overlap_y = 0;
     if (!read_int(db, "window.handle.width", &theme->handle_height) ||
         theme->handle_height < 0 || theme->handle_height > 100)
         theme->handle_height = 6;
@@ -541,6 +547,9 @@ RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name,
     theme->def_win_icon = read_c_image(OB_DEFAULT_ICON_WIDTH,
                                        OB_DEFAULT_ICON_HEIGHT,
                                        OB_DEFAULT_ICON_pixel_data);
+    theme->def_win_icon_w = OB_DEFAULT_ICON_WIDTH;
+    theme->def_win_icon_h = OB_DEFAULT_ICON_HEIGHT;
+
 
     /* read the decoration textures */
     if (!read_appearance(db, inst,
@@ -896,13 +905,9 @@ RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name,
             j = (i > 0 ? 0 : 255);
             i = ABS(i*255/100);
 
-            theme->title_focused_shadow_color = RrColorNew(inst, j, j, j);
-            theme->title_focused_shadow_alpha = i;
             theme->osd_shadow_color = RrColorNew(inst, j, j, j);
             theme->osd_shadow_alpha = i;
         } else {
-            theme->title_focused_shadow_color = RrColorNew(inst, 0, 0, 0);
-            theme->title_focused_shadow_alpha = 50;
             theme->osd_shadow_color = RrColorNew(inst, 0, 0, 0);
             theme->osd_shadow_alpha = 50;
         }
@@ -1454,6 +1459,7 @@ void RrThemeFree(RrTheme *theme)
         RrFontClose(theme->win_font_unfocused);
         RrFontClose(theme->menu_title_font);
         RrFontClose(theme->menu_font);
+        RrFontClose(theme->osd_font);
 
         RrAppearanceFree(theme->a_disabled_focused_max);
         RrAppearanceFree(theme->a_disabled_unfocused_max);
This page took 0.022134 seconds and 4 git commands to generate.