Merge branch 'backport' into work
[dana/openbox.git] / render / theme.h
index 62ff87d..da8e80d 100644 (file)
@@ -34,6 +34,7 @@ struct _RrTheme {
     RrFont *win_font_unfocused;
     RrFont *menu_title_font;
     RrFont *menu_font;
+    RrFont *osd_font;
 
     /* style settings - geometry */
     gint paddingx;
@@ -41,22 +42,32 @@ struct _RrTheme {
     gint handle_height;
     gint fbwidth; /*!< frame border width */
     gint mbwidth; /*!< menu border width */
+    gint obwidth; /*!< osd border width */
     gint cbwidthx;
     gint cbwidthy;
-    gint menu_overlap;
+    gint menu_overlap_x;
+    gint menu_overlap_y;
+    gint menu_sep_width;
+    gint menu_sep_paddingx;
+    gint menu_sep_paddingy;
     /* these ones are calculated, not set directly by the theme file */
     gint win_font_height;
     gint menu_title_font_height;
     gint menu_font_height;
     gint label_height;
     gint title_height;
-    gint menu_title_height;
     gint button_size;
     gint grip_width;
+    gint menu_title_label_height;
+    gint menu_title_height;
 
     /* style settings - colors */
-    RrColor *menu_b_color;
-    RrColor *frame_b_color;
+    RrColor *menu_border_color;
+    RrColor *osd_border_color;
+    RrColor *frame_focused_border_color;
+    RrColor *frame_unfocused_border_color;
+    RrColor *title_separator_focused_color;
+    RrColor *title_separator_unfocused_color;
     RrColor *cb_focused_color;
     RrColor *cb_unfocused_color;
     RrColor *title_focused_color;
@@ -76,9 +87,11 @@ struct _RrTheme {
     RrColor *titlebut_focused_unpressed_color;
     RrColor *titlebut_unfocused_unpressed_color;
     RrColor *menu_title_color;
+    RrColor *menu_sep_color;
     RrColor *menu_color;
-    RrColor *menu_disabled_color;
     RrColor *menu_selected_color;
+    RrColor *menu_disabled_color;
+    RrColor *menu_disabled_selected_color;
     RrColor *title_focused_shadow_color;
     gchar    title_focused_shadow_alpha;
     RrColor *title_unfocused_shadow_color;
@@ -94,9 +107,13 @@ struct _RrTheme {
     gchar    menu_text_selected_shadow_alpha;
     RrColor *menu_text_disabled_shadow_color;
     gchar    menu_text_disabled_shadow_alpha;
+    RrColor *menu_text_disabled_selected_shadow_color;
+    gchar    menu_text_disabled_selected_shadow_alpha;
 
     /* style settings - pics */
-    RrPixel32 *def_win_icon; /* 48x48 RGBA */
+    RrPixel32 *def_win_icon; /* RGBA */
+    gint       def_win_icon_w;
+    gint       def_win_icon_h;
 
     /* style settings - masks */
     RrPixmapMask *max_mask;
@@ -130,7 +147,12 @@ struct _RrTheme {
     RrPixmapMask *close_pressed_mask;
 
     RrPixmapMask *menu_bullet_mask; /* submenu pointer */
+#if 0
     RrPixmapMask *menu_toggle_mask; /* menu boolean */
+#endif
+
+    RrPixmapMask *down_arrow_mask;
+    RrPixmapMask *up_arrow_mask;
 
     /* global appearances */
     RrAppearance *a_disabled_focused_max;
@@ -205,10 +227,12 @@ struct _RrTheme {
     RrAppearance *a_menu_title;
     RrAppearance *a_menu;
     RrAppearance *a_menu_normal;
-    RrAppearance *a_menu_disabled;
     RrAppearance *a_menu_selected;
+    RrAppearance *a_menu_disabled;
+    RrAppearance *a_menu_disabled_selected;
     RrAppearance *a_menu_text_normal;
     RrAppearance *a_menu_text_disabled;
+    RrAppearance *a_menu_text_disabled_selected;
     RrAppearance *a_menu_text_selected;
     RrAppearance *a_menu_bullet_normal;
     RrAppearance *a_menu_bullet_selected;
@@ -220,13 +244,16 @@ struct _RrTheme {
     RrAppearance *osd_hilite_label; /* can be parent relative */
     RrAppearance *osd_unhilite_fg; /* can never be parent relative */
 
+    gchar *name;
 };
 
 /*! The font values are all optional. If a NULL is used for any of them, then
   the default font will be used. */
-RrTheme* RrThemeNew(const RrInstance *inst, gchar *theme,
+RrTheme* RrThemeNew(const RrInstance *inst, const gchar *theme,
+                    gboolean allow_fallback,
                     RrFont *active_window_font, RrFont *inactive_window_font,
-                    RrFont *menu_title_font, RrFont *menu_item_font);
+                    RrFont *menu_title_font, RrFont *menu_item_font,
+                    RrFont *osd_font);
 void RrThemeFree(RrTheme *theme);
 
 G_END_DECLS