Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

/otk/renderstyle.cc

Go to the documentation of this file.
00001 // -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
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 // pick one..
00018 //#define FIERON
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     //char data[] = { 0x7e, 0xff, 0xc3, 0xc3, 0xc3, 0xc3, 0xff, 0x7e };
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     //char data[] = { 0x00, 0x00, 0xc3, 0xe7, 0x7e, 0x3c, 0x18, 0x00 };
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     //char data[] = { 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x00, 0x00 };
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     //char data[] = { 0xc3, 0xe7, 0x7e, 0x3c, 0x3c, 0x7e, 0xe7, 0xc3 };
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                                    //0x6a6973,
00274                                    //0x6a6973,
00275                                    0x4c59a6,
00276                  0x5a6dbd,
00277            0x222222,
00278                                    0x0);
00279   //urg this ain't so hot
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 }

Generated on Tue Feb 4 22:58:56 2003 for Openbox by doxygen1.3-rc2