]> Dogcows Code - chaz/openbox/blob - render/theme.h
new icon from merry, more clarity when small
[chaz/openbox] / render / theme.h
1 #ifndef __theme_h
2 #define __theme_h
3
4 #include "render.h"
5
6 typedef struct _RrTheme RrTheme;
7
8 struct _RrTheme {
9 gchar *path;
10 gchar *name;
11
12 const RrInstance *inst;
13
14 /* style settings - optional decor */
15 gboolean show_handle;
16
17 /* style settings - geometry */
18 gint padding;
19 gint handle_height;
20 gint bwidth;
21 gint cbwidth;
22 gint label_height;
23 gint title_height;
24 gint button_size;
25 gint grip_width;
26 gint menu_overlap;
27
28 /* style settings - colors */
29 RrColor *b_color;
30 RrColor *cb_focused_color;
31 RrColor *cb_unfocused_color;
32 RrColor *title_focused_color;
33 RrColor *title_unfocused_color;
34 RrColor *titlebut_disabled_focused_color;
35 RrColor *titlebut_disabled_unfocused_color;
36 RrColor *titlebut_hover_focused_color;
37 RrColor *titlebut_hover_unfocused_color;
38 RrColor *titlebut_toggled_focused_color;
39 RrColor *titlebut_toggled_unfocused_color;
40 RrColor *titlebut_focused_pressed_color;
41 RrColor *titlebut_unfocused_pressed_color;
42 RrColor *titlebut_focused_unpressed_color;
43 RrColor *titlebut_unfocused_unpressed_color;
44 RrColor *menu_title_color;
45 RrColor *menu_color;
46 RrColor *menu_disabled_color;
47 RrColor *menu_selected_color;
48
49 /* style settings - fonts */
50 gint winfont_height;
51 RrFont *winfont_focused;
52 RrFont *winfont_unfocused;
53 gint mtitlefont_height;
54 RrFont *mtitlefont;
55 gint mfont_height;
56 RrFont *mfont;
57
58 /* style settings - pics */
59 RrPixel32 *def_win_icon; /* 48x48 RGBA */
60
61 /* style settings - masks */
62 RrPixmapMask *max_mask;
63 RrPixmapMask *max_toggled_mask;
64 RrPixmapMask *max_hover_mask;
65 RrPixmapMask *max_disabled_mask;
66 RrPixmapMask *max_pressed_mask;
67 RrPixmapMask *iconify_mask;
68 RrPixmapMask *iconify_hover_mask;
69 RrPixmapMask *iconify_disabled_mask;
70 RrPixmapMask *iconify_pressed_mask;
71 RrPixmapMask *desk_mask;
72 RrPixmapMask *desk_toggled_mask;
73 RrPixmapMask *desk_hover_mask;
74 RrPixmapMask *desk_disabled_mask;
75 RrPixmapMask *desk_pressed_mask;
76 RrPixmapMask *shade_mask;
77 RrPixmapMask *shade_toggled_mask;
78 RrPixmapMask *shade_hover_mask;
79 RrPixmapMask *shade_disabled_mask;
80 RrPixmapMask *shade_pressed_mask;
81 RrPixmapMask *close_mask;
82 RrPixmapMask *close_hover_mask;
83 RrPixmapMask *close_disabled_mask;
84 RrPixmapMask *close_pressed_mask;
85
86 RrPixmapMask *menu_bullet_mask; /* submenu pointer */
87 RrPixmapMask *menu_toggle_mask; /* menu boolean */
88
89 /* global appearances */
90 RrAppearance *a_disabled_focused_max;
91 RrAppearance *a_disabled_unfocused_max;
92 RrAppearance *a_hover_focused_max;
93 RrAppearance *a_hover_unfocused_max;
94 RrAppearance *a_toggled_focused_max;
95 RrAppearance *a_toggled_unfocused_max;
96 RrAppearance *a_focused_unpressed_max;
97 RrAppearance *a_focused_pressed_max;
98 RrAppearance *a_unfocused_unpressed_max;
99 RrAppearance *a_unfocused_pressed_max;
100 RrAppearance *a_disabled_focused_close;
101 RrAppearance *a_disabled_unfocused_close;
102 RrAppearance *a_hover_focused_close;
103 RrAppearance *a_hover_unfocused_close;
104 RrAppearance *a_focused_unpressed_close;
105 RrAppearance *a_focused_pressed_close;
106 RrAppearance *a_unfocused_unpressed_close;
107 RrAppearance *a_unfocused_pressed_close;
108 RrAppearance *a_disabled_focused_desk;
109 RrAppearance *a_disabled_unfocused_desk;
110 RrAppearance *a_hover_focused_desk;
111 RrAppearance *a_hover_unfocused_desk;
112 RrAppearance *a_toggled_focused_desk;
113 RrAppearance *a_toggled_unfocused_desk;
114 RrAppearance *a_focused_unpressed_desk;
115 RrAppearance *a_focused_pressed_desk;
116 RrAppearance *a_unfocused_unpressed_desk;
117 RrAppearance *a_unfocused_pressed_desk;
118 RrAppearance *a_disabled_focused_shade;
119 RrAppearance *a_disabled_unfocused_shade;
120 RrAppearance *a_hover_focused_shade;
121 RrAppearance *a_hover_unfocused_shade;
122 RrAppearance *a_toggled_focused_shade;
123 RrAppearance *a_toggled_unfocused_shade;
124 RrAppearance *a_focused_unpressed_shade;
125 RrAppearance *a_focused_pressed_shade;
126 RrAppearance *a_unfocused_unpressed_shade;
127 RrAppearance *a_unfocused_pressed_shade;
128 RrAppearance *a_disabled_focused_iconify;
129 RrAppearance *a_disabled_unfocused_iconify;
130 RrAppearance *a_hover_focused_iconify;
131 RrAppearance *a_hover_unfocused_iconify;
132 RrAppearance *a_focused_unpressed_iconify;
133 RrAppearance *a_focused_pressed_iconify;
134 RrAppearance *a_unfocused_unpressed_iconify;
135 RrAppearance *a_unfocused_pressed_iconify;
136 RrAppearance *a_focused_grip;
137 RrAppearance *a_unfocused_grip;
138 RrAppearance *a_focused_title;
139 RrAppearance *a_unfocused_title;
140 RrAppearance *a_focused_label;
141 RrAppearance *a_unfocused_label;
142 /* always parentrelative, so no focused/unfocused */
143 RrAppearance *a_icon;
144 RrAppearance *a_focused_handle;
145 RrAppearance *a_unfocused_handle;
146 RrAppearance *a_menu_title;
147 RrAppearance *a_menu;
148 RrAppearance *a_menu_normal;
149 RrAppearance *a_menu_disabled;
150 RrAppearance *a_menu_selected;
151 RrAppearance *a_menu_text_normal;
152 RrAppearance *a_menu_text_disabled;
153 RrAppearance *a_menu_text_selected;
154 RrAppearance *a_menu_bullet_normal;
155 RrAppearance *a_menu_bullet_selected;
156 RrAppearance *a_clear; /* clear with no texture */
157 RrAppearance *a_clear_tex; /* clear with a texture */
158
159 RrAppearance *app_hilite_bg;
160 RrAppearance *app_unhilite_bg;
161 RrAppearance *app_hilite_fg; /* never parent relative */
162 RrAppearance *app_unhilite_fg; /* never parent relative */
163 RrAppearance *app_hilite_label; /* can be parent relative */
164 RrAppearance *app_unhilite_label; /* can be parent relative */
165
166 };
167
168 RrTheme* RrThemeNew(const RrInstance *inst, gchar *theme);
169 void RrThemeFree(RrTheme *theme);
170
171 #endif
This page took 0.042381 seconds and 4 git commands to generate.