]> Dogcows Code - chaz/openbox/blob - render/theme.h
put the render theme into a struct
[chaz/openbox] / render / theme.h
1 #ifndef __theme_h
2 #define __theme_h
3
4 #include "render.h"
5 #include "color.h"
6 #include "font.h"
7 #include "mask.h"
8
9 typedef struct _RrTheme RrTheme;
10
11 struct _RrTheme {
12 gchar *name;
13
14 const RrInstance *inst;
15
16 /* style settings - geometry */
17 gint bevel;
18 gint handle_height;
19 gint bwidth;
20 gint cbwidth;
21 gint label_height;
22 gint title_height;
23 gint button_size;
24 gint grip_width;
25
26 /* style settings - colors */
27 color_rgb *b_color;
28 color_rgb *cb_focused_color;
29 color_rgb *cb_unfocused_color;
30 color_rgb *title_focused_color;
31 color_rgb *title_unfocused_color;
32 color_rgb *titlebut_focused_color;
33 color_rgb *titlebut_unfocused_color;
34 color_rgb *menu_title_color;
35 color_rgb *menu_color;
36 color_rgb *menu_disabled_color;
37 color_rgb *menu_hilite_color;
38
39 /* style settings - fonts */
40 gint winfont_height;
41 RrFont *winfont;
42 gboolean winfont_shadow;
43 gint winfont_shadow_offset;
44 gint winfont_shadow_tint;
45 gint mtitlefont_height;
46 RrFont *mtitlefont;
47 gboolean mtitlefont_shadow;
48 gint mtitlefont_shadow_offset;
49 gint mtitlefont_shadow_tint;
50 gint mfont_height;
51 RrFont *mfont;
52 gboolean mfont_shadow;
53 gint mfont_shadow_offset;
54 gint mfont_shadow_tint;
55
56 /* style settings - title layout */
57 gchar *title_layout;
58
59 /* style settings - masks */
60 RrPixmapMask *max_set_mask;
61 RrPixmapMask *max_unset_mask;
62 RrPixmapMask *iconify_mask;
63 RrPixmapMask *desk_set_mask;
64 RrPixmapMask *desk_unset_mask;
65 RrPixmapMask *shade_set_mask;
66 RrPixmapMask *shade_unset_mask;
67 RrPixmapMask *close_mask;
68
69 /* global appearances */
70 RrAppearance *a_focused_unpressed_max;
71 RrAppearance *a_focused_pressed_max;
72 RrAppearance *a_focused_pressed_set_max;
73 RrAppearance *a_unfocused_unpressed_max;
74 RrAppearance *a_unfocused_pressed_max;
75 RrAppearance *a_unfocused_pressed_set_max;
76 RrAppearance *a_focused_unpressed_close;
77 RrAppearance *a_focused_pressed_close;
78 RrAppearance *a_unfocused_unpressed_close;
79 RrAppearance *a_unfocused_pressed_close;
80 RrAppearance *a_focused_unpressed_desk;
81 RrAppearance *a_focused_pressed_desk;
82 RrAppearance *a_focused_pressed_set_desk;
83 RrAppearance *a_unfocused_unpressed_desk;
84 RrAppearance *a_unfocused_pressed_desk;
85 RrAppearance *a_unfocused_pressed_set_desk;
86 RrAppearance *a_focused_unpressed_shade;
87 RrAppearance *a_focused_pressed_shade;
88 RrAppearance *a_focused_pressed_set_shade;
89 RrAppearance *a_unfocused_unpressed_shade;
90 RrAppearance *a_unfocused_pressed_shade;
91 RrAppearance *a_unfocused_pressed_set_shade;
92 RrAppearance *a_focused_unpressed_iconify;
93 RrAppearance *a_focused_pressed_iconify;
94 RrAppearance *a_unfocused_unpressed_iconify;
95 RrAppearance *a_unfocused_pressed_iconify;
96 RrAppearance *a_focused_grip;
97 RrAppearance *a_unfocused_grip;
98 RrAppearance *a_focused_title;
99 RrAppearance *a_unfocused_title;
100 RrAppearance *a_focused_label;
101 RrAppearance *a_unfocused_label;
102 /* always parentrelative, so no focused/unfocused */
103 RrAppearance *a_icon;
104 RrAppearance *a_focused_handle;
105 RrAppearance *a_unfocused_handle;
106 RrAppearance *a_menu_title;
107 RrAppearance *a_menu;
108 RrAppearance *a_menu_item;
109 RrAppearance *a_menu_disabled;
110 RrAppearance *a_menu_hilite;
111
112 RrAppearance *app_hilite_bg;
113 RrAppearance *app_unhilite_bg;
114 RrAppearance *app_hilite_label;
115 RrAppearance *app_unhilite_label;
116 RrAppearance *app_icon;
117 };
118
119 RrTheme *RrThemeNew(const RrInstance *inst, gchar *theme);
120 void RrThemeFree(RrTheme *theme);
121
122 #endif
This page took 0.038279 seconds and 4 git commands to generate.