]> icculus.org git repositories - dana/openbox.git/blob - otk/renderstyle.cc
starts.. then exits.
[dana/openbox.git] / 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   _max_mask = new PixmapMask();
173   _max_mask->w = _max_mask->h = 8;
174   {
175     char data[] = { 0x7e, 0xff, 0xc3, 0xc3, 0xc3, 0xc3, 0xff, 0x7e };
176     _max_mask->mask=
177       XCreateBitmapFromData(**display,
178                             display->screenInfo(_screen)->rootWindow(),
179                             data, 8, 8);
180   }
181
182   _icon_mask = new PixmapMask();
183   _icon_mask->w = _icon_mask->h = 8;
184   {
185     char data[] = { 0x00, 0x00, 0xc3, 0xe7, 0x7e, 0x3c, 0x18, 0x00 };
186     _icon_mask->mask=
187       XCreateBitmapFromData(**display,
188                             display->screenInfo(_screen)->rootWindow(),
189                             data, 8, 8);
190   }
191   
192   _stick_mask = new PixmapMask();
193   _stick_mask->w = _stick_mask->h = 8;
194   {
195     char data[] = { 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x00, 0x00 };
196     _icon_mask->mask=
197       XCreateBitmapFromData(**display,
198                             display->screenInfo(_screen)->rootWindow(),
199                             data, 8, 8);
200   }
201   
202   _close_mask = new PixmapMask();
203   _close_mask->w = _close_mask->h = 8;
204   {
205     char data[] = { 0xc3, 0xe7, 0x7e, 0x3c, 0x3c, 0x7e, 0xe7, 0xc3 };
206     _icon_mask->mask=
207       XCreateBitmapFromData(**display,
208                             display->screenInfo(_screen)->rootWindow(),
209                             data, 8, 8);
210   }
211 }
212
213 RenderStyle::~RenderStyle()
214 {
215   delete _text_color_focus;
216   delete _text_color_unfocus;
217
218   delete _button_color_focus;
219   delete _button_color_unfocus;
220
221   delete _frame_border_color;
222
223   delete _client_border_color_focus; 
224   delete _client_border_color_unfocus;
225  
226   delete _titlebar_focus;
227   delete _titlebar_unfocus;
228
229   delete _label_focus;
230   delete _label_unfocus;
231
232   delete _handle_focus;
233   delete _handle_unfocus;
234
235   delete _button_unpress_focus;
236   delete _button_unpress_unfocus;
237   delete _button_press_focus;
238   delete _button_press_unfocus;
239
240   delete _grip_focus;
241   delete _grip_unfocus;
242
243   delete _label_font;
244
245   delete _max_mask;
246   delete _icon_mask;
247   delete _stick_mask;
248   delete _close_mask;
249 }
250
251 }