00001
00002
00003 #ifdef HAVE_CONFIG_H
00004 # include "../config.h"
00005 #endif // HAVE_CONFIG_H
00006
00007 #include "renderstyle.hh"
00008 #include "display.hh"
00009 #include "screeninfo.hh"
00010
00011 namespace otk {
00012
00013 RenderStyle::RenderStyle(int screen, const std::string &stylefile)
00014 : _screen(screen),
00015 _file(stylefile)
00016 {
00017
00018
00019 #define MERRY
00020
00021 #ifdef FIERON
00022 _root_color = new RenderColor(_screen, 0x272a2f);
00023
00024 _text_color_focus = new RenderColor(_screen, 0x272a2f);
00025 _text_color_unfocus = new RenderColor(_screen, 0x676869);
00026
00027 _button_color_focus = new RenderColor(_screen, 0x96ba86);
00028 _button_color_unfocus = new RenderColor(_screen, 0x676869);
00029
00030 _frame_border_color = new RenderColor(_screen, 0x181f24);
00031 _frame_border_width = 1;
00032
00033 _client_border_color_focus = new RenderColor(_screen, 0x858687);
00034 _client_border_color_unfocus = new RenderColor(_screen, 0x555657);
00035 _client_border_width = 1;
00036
00037 _titlebar_focus = new RenderTexture(_screen,
00038 false,
00039 RenderTexture::Flat,
00040 RenderTexture::Bevel1,
00041 false,
00042 RenderTexture::Vertical,
00043 false,
00044 0x858687,
00045 0x373a3f,
00046 0x0,
00047 0x0);
00048 _titlebar_unfocus = new RenderTexture(_screen,
00049 false,
00050 RenderTexture::Flat,
00051 RenderTexture::Bevel1,
00052 false,
00053 RenderTexture::Vertical,
00054 false,
00055 0x555657,
00056 0x171a1f,
00057 0x0,
00058 0x0);
00059
00060 _label_focus = new RenderTexture(_screen,
00061 false,
00062 RenderTexture::Flat,
00063 RenderTexture::Bevel1,
00064 true,
00065 RenderTexture::Vertical,
00066 false,
00067 0x96ba86,
00068 0x5a724c,
00069 0x181f24,
00070 0x0);
00071 _label_unfocus = new RenderTexture(_screen,
00072 false,
00073 RenderTexture::Sunken,
00074 RenderTexture::Bevel1,
00075 false,
00076 RenderTexture::CrossDiagonal,
00077 false,
00078 0x555657,
00079 0x272a2f,
00080 0x0,
00081 0x0);
00082
00083
00084 _handle_focus = new RenderTexture(_screen,
00085 false,
00086 RenderTexture::Flat,
00087 RenderTexture::Bevel1,
00088 false,
00089 RenderTexture::Vertical,
00090 false,
00091 0x858687,
00092 0x373a3f,
00093 0x0,
00094 0x0);
00095 _handle_unfocus = new RenderTexture(_screen,
00096 false,
00097 RenderTexture::Flat,
00098 RenderTexture::Bevel1,
00099 false,
00100 RenderTexture::Vertical,
00101 false,
00102 0x555657,
00103 0x171a1f,
00104 0x0,
00105 0x0);
00106
00107
00108 _button_unpress_focus = new RenderTexture(_screen,
00109 false,
00110 RenderTexture::Raised,
00111 RenderTexture::Bevel2,
00112 false,
00113 RenderTexture::CrossDiagonal,
00114 false,
00115 0x858687,
00116 0x272a2f,
00117 0x0,
00118 0x0);
00119 _button_unpress_unfocus = new RenderTexture(_screen,
00120 false,
00121 RenderTexture::Raised,
00122 RenderTexture::Bevel2,
00123 false,
00124 RenderTexture::CrossDiagonal,
00125 false,
00126 0x555657,
00127 0x171a1f,
00128 0x0,
00129 0x0);
00130
00131 _button_press_focus = new RenderTexture(_screen,
00132 false,
00133 RenderTexture::Sunken,
00134 RenderTexture::Bevel2,
00135 false,
00136 RenderTexture::CrossDiagonal,
00137 false,
00138 0x96ba86,
00139 0x5a724c,
00140 0x0,
00141 0x0);
00142 _button_press_unfocus = new RenderTexture(_screen,
00143 false,
00144 RenderTexture::Sunken,
00145 RenderTexture::Bevel2,
00146 false,
00147 RenderTexture::CrossDiagonal,
00148 false,
00149 0x555657,
00150 0x171a1f,
00151 0x0,
00152 0x0);
00153
00154 _grip_focus = new RenderTexture(_screen,
00155 false,
00156 RenderTexture::Flat,
00157 RenderTexture::Bevel1,
00158 false,
00159 RenderTexture::Vertical,
00160 false,
00161 0x96ba86,
00162 0x5a724c,
00163 0x0,
00164 0x0);
00165 _grip_unfocus = new RenderTexture(_screen,
00166 false,
00167 RenderTexture::Flat,
00168 RenderTexture::Bevel1,
00169 false,
00170 RenderTexture::Vertical,
00171 false,
00172 0x555657,
00173 0x171a1f,
00174 0x0,
00175 0x0);
00176
00177 _label_font = new Font(_screen, "Arial,Sans-9:bold", true, 1, 0x40);
00178 _label_justify = RightJustify;
00179
00180 _max_mask = new PixmapMask();
00181 _max_mask->w = _max_mask->h = 8;
00182 {
00183
00184 char data [] = {0x00, 0x00, 0x18, 0x3c, 0x66, 0x42, 0x00, 0x00 };
00185 _max_mask->mask =
00186 XCreateBitmapFromData(**display,
00187 display->screenInfo(_screen)->rootWindow(),
00188 data, 8, 8);
00189 }
00190
00191 _icon_mask = new PixmapMask();
00192 _icon_mask->w = _icon_mask->h = 8;
00193 {
00194
00195 char data[] = { 0x00, 0x00, 0x42, 0x66, 0x3c, 0x18, 0x00, 0x00 };
00196 _icon_mask->mask =
00197 XCreateBitmapFromData(**display,
00198 display->screenInfo(_screen)->rootWindow(),
00199 data, 8, 8);
00200 }
00201
00202 _alldesk_mask = new PixmapMask();
00203 _alldesk_mask->w = _alldesk_mask->h = 8;
00204 {
00205
00206 char data[] = { 0x00, 0x66, 0x66, 0x00, 0x00, 0x66, 0x66, 0x00 };
00207 _alldesk_mask->mask =
00208 XCreateBitmapFromData(**display,
00209 display->screenInfo(_screen)->rootWindow(),
00210 data, 8, 8);
00211 }
00212
00213 _close_mask = new PixmapMask();
00214 _close_mask->w = _close_mask->h = 8;
00215 {
00216
00217 char data[] = { 0x00, 0xc3, 0x66, 0x3c, 0x3c, 0x66, 0xc3, 0x00 };
00218 _close_mask->mask =
00219 XCreateBitmapFromData(**display,
00220 display->screenInfo(_screen)->rootWindow(),
00221 data, 8, 8);
00222 }
00223
00224 _bevel_width = 1;
00225 _handle_width = 4;
00226 #else
00227 # ifdef MERRY
00228 _root_color = new RenderColor(_screen, 0x7b756a);
00229
00230 _text_color_focus = new RenderColor(_screen, 0xffffff);
00231 _text_color_unfocus = new RenderColor(_screen, 0xffffff);
00232
00233 _button_color_focus = new RenderColor(_screen, 0x222222);
00234 _button_color_unfocus = new RenderColor(_screen, 0x333333);
00235
00236 _frame_border_color = new RenderColor(_screen, 0x222222);
00237 _frame_border_width = 1;
00238
00239 _client_border_color_focus = new RenderColor(_screen, 0x858687);
00240 _client_border_color_unfocus = new RenderColor(_screen, 0x555657);
00241 _client_border_width = 0;
00242
00243 _titlebar_focus = new RenderTexture(_screen,
00244 false,
00245 RenderTexture::Flat,
00246 RenderTexture::Bevel1,
00247 false,
00248 RenderTexture::Solid,
00249 false,
00250 0xe6e6e6,
00251 0xe6e6e6,
00252 0x0,
00253 0x0);
00254 _titlebar_unfocus = new RenderTexture(_screen,
00255 false,
00256 RenderTexture::Flat,
00257 RenderTexture::Bevel1,
00258 false,
00259 RenderTexture::Vertical,
00260 false,
00261 0xe6e6e6,
00262 0xd9d9d9,
00263 0x0,
00264 0x0);
00265
00266 _label_focus = new RenderTexture(_screen,
00267 false,
00268 RenderTexture::Flat,
00269 RenderTexture::Bevel1,
00270 true,
00271 RenderTexture::Vertical,
00272 false,
00273
00274
00275 0x4c59a6,
00276 0x5a6dbd,
00277 0x222222,
00278 0x0);
00279
00280 _label_unfocus = new RenderTexture(_screen,
00281 false,
00282 RenderTexture::Flat,
00283 RenderTexture::Bevel1,
00284 true,
00285 RenderTexture::Vertical,
00286 false,
00287 0xb4b2ad,
00288 0xc3c1bc,
00289 0x6a696a,
00290 0x0);
00291
00292
00293 _handle_focus = new RenderTexture(_screen,
00294 false,
00295 RenderTexture::Flat,
00296 RenderTexture::Bevel1,
00297 false,
00298 RenderTexture::Vertical,
00299 false,
00300 0xe6e6e6,
00301 0xd9d9d9,
00302 0x0,
00303 0x0);
00304 _handle_unfocus = new RenderTexture(_screen,
00305 false,
00306 RenderTexture::Flat,
00307 RenderTexture::Bevel1,
00308 false,
00309 RenderTexture::Solid,
00310 false,
00311 0xe6e6e6,
00312 0xe6e6e6,
00313 0x0,
00314 0x0);
00315
00316
00317 _button_unpress_focus = new RenderTexture(_screen,
00318 false,
00319 RenderTexture::Flat,
00320 RenderTexture::Bevel1,
00321 false,
00322 RenderTexture::Solid,
00323 false,
00324 0xe6e6e6,
00325 0xe6e6e6,
00326 0x0,
00327 0x0);
00328 _button_unpress_unfocus = new RenderTexture(_screen,
00329 false,
00330 RenderTexture::Flat,
00331 RenderTexture::Bevel1,
00332 false,
00333 RenderTexture::Solid,
00334 false,
00335 0xe6e6e6,
00336 0xe6e6e6,
00337 0x0,
00338 0x0);
00339
00340 _button_press_focus = new RenderTexture(_screen,
00341 false,
00342 RenderTexture::Sunken,
00343 RenderTexture::Bevel2,
00344 false,
00345 RenderTexture::Vertical,
00346 false,
00347 0xe6e6e6,
00348 0xe6e6e6,
00349 0x0,
00350 0x0);
00351 _button_press_unfocus = new RenderTexture(_screen,
00352 false,
00353 RenderTexture::Sunken,
00354 RenderTexture::Bevel2,
00355 false,
00356 RenderTexture::Vertical,
00357 false,
00358 0xe6e6e6,
00359 0xe6e6e6,
00360 0x0,
00361 0x0);
00362
00363 _grip_focus = new RenderTexture(_screen,
00364 false,
00365 RenderTexture::Flat,
00366 RenderTexture::Bevel1,
00367 false,
00368 RenderTexture::Vertical,
00369 false,
00370 0xe6e6e6,
00371 0xd9d9d9,
00372 0x0,
00373 0x0);
00374 _grip_unfocus = new RenderTexture(_screen,
00375 false,
00376 RenderTexture::Flat,
00377 RenderTexture::Bevel1,
00378 false,
00379 RenderTexture::Solid,
00380 false,
00381 0xe6e6e6,
00382 0xe6e6e6,
00383 0x0,
00384 0x0);
00385
00386 _label_font = new Font(_screen, "Arial,Sans-8", true, 1, 0x3e);
00387 _label_justify = CenterJustify;
00388
00389 _max_mask = new PixmapMask();
00390 _max_mask->w = _max_mask->h = 7;
00391 {
00392 char data [] = {0x7c, 0x44, 0x47, 0x47, 0x7f, 0x1f, 0x1f };
00393 _max_mask->mask =
00394 XCreateBitmapFromData(**display,
00395 display->screenInfo(_screen)->rootWindow(),
00396 data, 7, 7);
00397 }
00398
00399 _icon_mask = new PixmapMask();
00400 _icon_mask->w = _icon_mask->h = 7;
00401 {
00402 char data[] = {0x00, 0x00, 0x00, 0x00, 0x3e, 0x3e, 0x3e };
00403 _icon_mask->mask =
00404 XCreateBitmapFromData(**display,
00405 display->screenInfo(_screen)->rootWindow(),
00406 data, 7, 7);
00407 }
00408
00409 _alldesk_mask = new PixmapMask();
00410 _alldesk_mask->w = _alldesk_mask->h = 7;
00411 {
00412 char data[] = {0x00, 0x36, 0x36, 0x00, 0x36, 0x36, 0x00 };
00413 _alldesk_mask->mask =
00414 XCreateBitmapFromData(**display,
00415 display->screenInfo(_screen)->rootWindow(),
00416 data, 7, 7);
00417 }
00418
00419 _close_mask = new PixmapMask();
00420 _close_mask->w = _close_mask->h = 7;
00421 {
00422 char data[] = { 0x22, 0x77, 0x3e, 0x1c, 0x3e, 0x77, 0x22 };
00423 _close_mask->mask =
00424 XCreateBitmapFromData(**display,
00425 display->screenInfo(_screen)->rootWindow(),
00426 data, 7, 7);
00427 }
00428
00429 _bevel_width = 1;
00430 _handle_width = 3;
00431 # else
00432 # error 1
00433 # endif
00434 #endif
00435 }
00436
00437 RenderStyle::~RenderStyle()
00438 {
00439 delete _root_color;
00440
00441 delete _text_color_focus;
00442 delete _text_color_unfocus;
00443
00444 delete _button_color_focus;
00445 delete _button_color_unfocus;
00446
00447 delete _frame_border_color;
00448
00449 delete _client_border_color_focus;
00450 delete _client_border_color_unfocus;
00451
00452 delete _titlebar_focus;
00453 delete _titlebar_unfocus;
00454
00455 delete _label_focus;
00456 delete _label_unfocus;
00457
00458 delete _handle_focus;
00459 delete _handle_unfocus;
00460
00461 delete _button_unpress_focus;
00462 delete _button_unpress_unfocus;
00463 delete _button_press_focus;
00464 delete _button_press_unfocus;
00465
00466 delete _grip_focus;
00467 delete _grip_unfocus;
00468
00469 delete _label_font;
00470
00471 delete _max_mask;
00472 delete _icon_mask;
00473 delete _alldesk_mask;
00474 delete _close_mask;
00475 }
00476
00477 }