]> Dogcows Code - chaz/openbox/blob - otk/renderstyle.cc
8361ce4ddeb1ad0279056a7601f23690e82e8c3c
[chaz/openbox] / otk / renderstyle.cc
1 // -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
2
3 #ifdef HAVE_CONFIG_H
4 # include "../config.h"
5 #endif // HAVE_CONFIG_H
6
7 #include "renderstyle.hh"
8 #include "display.hh"
9 #include "screeninfo.hh"
10
11 namespace otk {
12
13 RenderStyle::RenderStyle(int screen, const std::string &stylefile)
14 : _screen(screen),
15 _file(stylefile)
16 {
17 _text_color_focus = new RenderColor(_screen, 0x272a2f);
18 _text_color_unfocus = new RenderColor(_screen, 0x676869);
19
20 _button_color_focus = new RenderColor(_screen, 0x96ba86);
21 _button_color_unfocus = new RenderColor(_screen, 0x676869);
22
23 _frame_border_color = new RenderColor(_screen, 0x181f24);
24 _frame_border_width = 1;
25
26 _client_border_color_focus = new RenderColor(_screen, 0x858687);
27 _client_border_color_unfocus = new RenderColor(_screen, 0x555657);
28 _client_border_width = 1;
29
30 _titlebar_focus = new RenderTexture(_screen,
31 false,
32 RenderTexture::Flat,
33 RenderTexture::Bevel1,
34 false,
35 RenderTexture::Vertical,
36 false,
37 0x858687,
38 0x373a3f,
39 0x0,
40 0x0);
41 _titlebar_unfocus = new RenderTexture(_screen,
42 false,
43 RenderTexture::Flat,
44 RenderTexture::Bevel1,
45 false,
46 RenderTexture::Vertical,
47 false,
48 0x555657,
49 0x171a1f,
50 0x0,
51 0x0);
52
53 _label_focus = new RenderTexture(_screen,
54 false,
55 RenderTexture::Flat,
56 RenderTexture::Bevel1,
57 true,
58 RenderTexture::Vertical,
59 false,
60 0x858687,
61 0x373a3f,
62 0x181f24,
63 0x0);
64 _label_unfocus = new RenderTexture(_screen,
65 false,
66 RenderTexture::Sunken,
67 RenderTexture::Bevel1,
68 false,
69 RenderTexture::CrossDiagonal,
70 false,
71 0x555657,
72 0x272a2f,
73 0x0,
74 0x0);
75
76
77 _handle_focus = new RenderTexture(_screen,
78 false,
79 RenderTexture::Flat,
80 RenderTexture::Bevel1,
81 true,
82 RenderTexture::Vertical,
83 false,
84 0x858687,
85 0x373a3f,
86 0x0,
87 0x0);
88 _handle_unfocus = new RenderTexture(_screen,
89 false,
90 RenderTexture::Flat,
91 RenderTexture::Bevel1,
92 false,
93 RenderTexture::Vertical,
94 false,
95 0x555657,
96 0x171a1f,
97 0x0,
98 0x0);
99
100
101 _button_unpress_focus = new RenderTexture(_screen,
102 false,
103 RenderTexture::Raised,
104 RenderTexture::Bevel2,
105 false,
106 RenderTexture::CrossDiagonal,
107 false,
108 0x858687,
109 0x272a2f,
110 0x0,
111 0x0);
112 _button_unpress_unfocus = new RenderTexture(_screen,
113 false,
114 RenderTexture::Raised,
115 RenderTexture::Bevel2,
116 false,
117 RenderTexture::CrossDiagonal,
118 false,
119 0x555657,
120 0x171a1f,
121 0x0,
122 0x0);
123
124 _button_press_focus = new RenderTexture(_screen,
125 false,
126 RenderTexture::Sunken,
127 RenderTexture::Bevel2,
128 false,
129 RenderTexture::CrossDiagonal,
130 false,
131 0x96ba86,
132 0x5a724c,
133 0x0,
134 0x0);
135 _button_press_unfocus = new RenderTexture(_screen,
136 false,
137 RenderTexture::Sunken,
138 RenderTexture::Bevel2,
139 false,
140 RenderTexture::CrossDiagonal,
141 false,
142 0x555657,
143 0x171a1f,
144 0x0,
145 0x0);
146
147 _grip_focus = new RenderTexture(_screen,
148 false,
149 RenderTexture::Flat,
150 RenderTexture::Bevel1,
151 false,
152 RenderTexture::Vertical,
153 false,
154 0x96ba86,
155 0x5a724c,
156 0x0,
157 0x0);
158 _grip_unfocus = new RenderTexture(_screen,
159 false,
160 RenderTexture::Flat,
161 RenderTexture::Bevel1,
162 false,
163 RenderTexture::Vertical,
164 false,
165 0x555657,
166 0x171a1f,
167 0x0,
168 0x0);
169
170 _label_font = new Font(_screen, "Arial,Sans-9:bold", true, 1, 0x40);
171
172 XImage *image = XCreateImage(**display,
173 display->screenInfo(_screen)->visual(),
174 2, XYBitmap, 0, NULL, 8, 8, 0, 0);
175 assert(image);
176
177 _max_mask = new PixmapMask();
178 _max_mask->w = _max_mask->h = 8;
179 {
180 unsigned char data[] = {
181 0,1,1,1,1,1,1,0,
182 1,1,1,1,1,1,1,1,
183 1,1,0,0,0,0,1,1,
184 1,1,0,0,0,0,1,1,
185 1,1,0,0,0,0,1,1,
186 1,1,0,0,0,0,1,1,
187 1,1,1,1,1,1,1,1,
188 0,1,1,1,1,1,1,0 };
189 image->data = (char*)data;
190 XPutImage(**display, _max_mask->mask, DefaultGC(**display, _screen),
191 image, 0, 0, 0, 0, 8, 8);
192 }
193
194 _icon_mask = new PixmapMask();
195 _icon_mask->w = _icon_mask->h = 8;
196 {
197 unsigned char data[] = {
198 0,0,0,0,0,0,0,0,
199 0,0,0,0,0,0,0,0,
200 1,1,0,0,0,0,1,1,
201 1,1,1,0,0,1,1,1,
202 0,1,1,1,1,1,1,0,
203 0,0,1,1,1,1,0,0,
204 0,0,0,1,1,0,0,0,
205 0,0,0,0,0,0,0,0 };
206 image->data = (char*)data;
207 XPutImage(**display, _icon_mask->mask, DefaultGC(**display, _screen),
208 image, 0, 0, 0, 0, 8, 8);
209 }
210
211 _stick_mask = new PixmapMask();
212 _stick_mask->w = _stick_mask->h = 8;
213 {
214 unsigned char data[] = {
215 0,0,0,0,0,0,0,0,
216 0,0,0,0,0,0,0,0,
217 0,0,0,1,1,0,0,0,
218 0,0,1,1,1,1,0,0,
219 0,0,1,1,1,1,0,0,
220 0,0,0,1,1,0,0,0,
221 0,0,0,0,0,0,0,0,
222 0,0,0,0,0,0,0,0 };
223 image->data = (char*)data;
224 XPutImage(**display, _stick_mask->mask, DefaultGC(**display, _screen),
225 image, 0, 0, 0, 0, 8, 8);
226 }
227
228 _close_mask = new PixmapMask();
229 _close_mask->w = _close_mask->h = 8;
230 {
231 unsigned char data[] = {
232 1,1,0,0,0,0,1,1,
233 1,1,1,0,0,1,1,1,
234 0,1,1,1,1,1,1,0,
235 0,0,1,1,1,1,0,0,
236 0,0,1,1,1,1,0,0,
237 0,1,1,1,1,1,1,0,
238 1,1,1,0,0,1,1,1,
239 1,1,0,0,0,0,1,1 };
240 image->data = (char*)data;
241 XPutImage(**display, _close_mask->mask, DefaultGC(**display, _screen),
242 image, 0, 0, 0, 0, 8, 8);
243 }
244
245 image->data = NULL;
246 XDestroyImage(image);
247 }
248
249 RenderStyle::~RenderStyle()
250 {
251 delete _text_color_focus;
252 delete _text_color_unfocus;
253
254 delete _button_color_focus;
255 delete _button_color_unfocus;
256
257 delete _frame_border_color;
258
259 delete _client_border_color_focus;
260 delete _client_border_color_unfocus;
261
262 delete _titlebar_focus;
263 delete _titlebar_unfocus;
264
265 delete _label_focus;
266 delete _label_unfocus;
267
268 delete _handle_focus;
269 delete _handle_unfocus;
270
271 delete _button_unpress_focus;
272 delete _button_unpress_unfocus;
273 delete _button_press_focus;
274 delete _button_press_unfocus;
275
276 delete _grip_focus;
277 delete _grip_unfocus;
278
279 delete _label_font;
280
281 delete _max_mask;
282 delete _icon_mask;
283 delete _stick_mask;
284 delete _close_mask;
285 }
286
287 }
This page took 0.052794 seconds and 4 git commands to generate.