]> icculus.org git repositories - dana/openbox.git/blob - render/theme.h
renamed the _t bitmaps, and added disabled and hover bitmaps
[dana/openbox.git] / 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 - geometry */
15     gint bevel;
16     gint handle_height;
17     gint bwidth;
18     gint cbwidth;
19     gint label_height;
20     gint title_height;
21     gint button_size;
22     gint grip_width;
23     gint menu_overlap;
24
25     /* style settings - colors */
26     RrColor *b_color;
27     RrColor *cb_focused_color;
28     RrColor *cb_unfocused_color;
29     RrColor *title_focused_color;
30     RrColor *title_unfocused_color;
31     RrColor *titlebut_disabled_focused_color;
32     RrColor *titlebut_disabled_unfocused_color;
33     RrColor *titlebut_hover_focused_color;
34     RrColor *titlebut_hover_unfocused_color;
35     RrColor *titlebut_focused_pressed_color;
36     RrColor *titlebut_unfocused_pressed_color;
37     RrColor *titlebut_focused_unpressed_color;
38     RrColor *titlebut_unfocused_unpressed_color;
39     RrColor *menu_title_color;
40     RrColor *menu_color;
41     RrColor *menu_disabled_color;
42     RrColor *menu_hilite_color;
43
44     /* style settings - fonts */
45     gint winfont_height;
46     RrFont *winfont;
47     gint mtitlefont_height;
48     RrFont *mtitlefont;
49     gint mfont_height;
50     RrFont *mfont;
51
52     /* style settings - masks */
53     RrPixmapMask *max_set_mask;
54     RrPixmapMask *max_unset_mask;
55     RrPixmapMask *max_hover_mask;
56     RrPixmapMask *max_disabled_mask;
57     RrPixmapMask *iconify_mask;
58     RrPixmapMask *iconify_hover_mask;
59     RrPixmapMask *iconify_disabled_mask;
60     RrPixmapMask *desk_set_mask;
61     RrPixmapMask *desk_unset_mask;
62     RrPixmapMask *desk_hover_mask;
63     RrPixmapMask *desk_disabled_mask;
64     RrPixmapMask *shade_set_mask;
65     RrPixmapMask *shade_unset_mask;
66     RrPixmapMask *shade_hover_mask;
67     RrPixmapMask *shade_disabled_mask;
68     RrPixmapMask *close_mask;
69     RrPixmapMask *close_hover_mask;
70     RrPixmapMask *close_disabled_mask;
71
72     /* global appearances */
73     RrAppearance *a_disabled_focused_max;
74     RrAppearance *a_disabled_unfocused_max;
75     RrAppearance *a_hover_focused_max;
76     RrAppearance *a_hover_unfocused_max;
77     RrAppearance *a_focused_unpressed_max;
78     RrAppearance *a_focused_pressed_max;
79     RrAppearance *a_focused_pressed_set_max;
80     RrAppearance *a_unfocused_unpressed_max;
81     RrAppearance *a_unfocused_pressed_max;
82     RrAppearance *a_unfocused_pressed_set_max;
83     RrAppearance *a_disabled_focused_close;
84     RrAppearance *a_disabled_unfocused_close;
85     RrAppearance *a_hover_focused_close;
86     RrAppearance *a_hover_unfocused_close;
87     RrAppearance *a_focused_unpressed_close;
88     RrAppearance *a_focused_pressed_close;
89     RrAppearance *a_unfocused_unpressed_close;
90     RrAppearance *a_unfocused_pressed_close;
91     RrAppearance *a_disabled_focused_desk;
92     RrAppearance *a_disabled_unfocused_desk;
93     RrAppearance *a_hover_focused_desk;
94     RrAppearance *a_hover_unfocused_desk;
95     RrAppearance *a_focused_unpressed_desk;
96     RrAppearance *a_focused_pressed_desk;
97     RrAppearance *a_focused_pressed_set_desk;
98     RrAppearance *a_unfocused_unpressed_desk;
99     RrAppearance *a_unfocused_pressed_desk;
100     RrAppearance *a_unfocused_pressed_set_desk;
101     RrAppearance *a_disabled_focused_shade;
102     RrAppearance *a_disabled_unfocused_shade;
103     RrAppearance *a_hover_focused_shade;
104     RrAppearance *a_hover_unfocused_shade;
105     RrAppearance *a_focused_unpressed_shade;
106     RrAppearance *a_focused_pressed_shade;
107     RrAppearance *a_focused_pressed_set_shade;
108     RrAppearance *a_unfocused_unpressed_shade;
109     RrAppearance *a_unfocused_pressed_shade;
110     RrAppearance *a_unfocused_pressed_set_shade;
111     RrAppearance *a_disabled_focused_iconify;
112     RrAppearance *a_disabled_unfocused_iconify;
113     RrAppearance *a_hover_focused_iconify;
114     RrAppearance *a_hover_unfocused_iconify;
115     RrAppearance *a_focused_unpressed_iconify;
116     RrAppearance *a_focused_pressed_iconify;
117     RrAppearance *a_unfocused_unpressed_iconify;
118     RrAppearance *a_unfocused_pressed_iconify;
119     RrAppearance *a_focused_grip;
120     RrAppearance *a_unfocused_grip;
121     RrAppearance *a_focused_title;
122     RrAppearance *a_unfocused_title;
123     RrAppearance *a_focused_label;
124     RrAppearance *a_unfocused_label;
125     /* always parentrelative, so no focused/unfocused */
126     RrAppearance *a_icon;
127     RrAppearance *a_focused_handle;
128     RrAppearance *a_unfocused_handle;
129     RrAppearance *a_menu_title;
130     RrAppearance *a_menu;
131     RrAppearance *a_menu_item;
132     RrAppearance *a_menu_disabled;
133     RrAppearance *a_menu_hilite;
134
135     RrAppearance *app_hilite_bg;
136     RrAppearance *app_unhilite_bg;
137     RrAppearance *app_hilite_label;
138     RrAppearance *app_unhilite_label;
139     RrAppearance *app_icon;
140 };
141
142 RrTheme *RrThemeNew(const RrInstance *inst, gchar *theme);
143 void RrThemeFree(RrTheme *theme);
144
145 #endif