X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Frenderstyle.cc;h=330870c6c7ad04212a741b9eebfe73449608131c;hb=d11291df3e9ef0173139a97bf6c77471ab3a4119;hp=8803c7797a786989c7ae493d609124eb520937ba;hpb=c487295c75094be3858b76b23fc9863ec9d46b59;p=chaz%2Fopenbox diff --git a/otk/renderstyle.cc b/otk/renderstyle.cc index 8803c779..330870c6 100644 --- a/otk/renderstyle.cc +++ b/otk/renderstyle.cc @@ -5,17 +5,27 @@ #endif // HAVE_CONFIG_H #include "renderstyle.hh" -#include "rendercolor.hh" -#include "rendertexture.hh" +#include "display.hh" +#include "screeninfo.hh" namespace otk { -RenderStyle(int screen, const std::string &stylefile) +RenderStyle::RenderStyle(int screen, const std::string &stylefile) : _screen(screen), _file(stylefile) { - _text_focus_color = new RenderColor(_screen, 0x272a2f); - _text_unfocus_color = new RenderColor(_screen, 0x676869); +// pick one.. +//#define FIERON +#define MERRY + +#ifdef FIERON + _root_color = new RenderColor(_screen, 0x272a2f); + + _text_color_focus = new RenderColor(_screen, 0x272a2f); + _text_color_unfocus = new RenderColor(_screen, 0x676869); + + _button_color_focus = new RenderColor(_screen, 0x96ba86); + _button_color_unfocus = new RenderColor(_screen, 0x676869); _frame_border_color = new RenderColor(_screen, 0x181f24); _frame_border_width = 1; @@ -24,7 +34,8 @@ RenderStyle(int screen, const std::string &stylefile) _client_border_color_unfocus = new RenderColor(_screen, 0x555657); _client_border_width = 1; - _titlebar_focus = new RenderTexture(false, + _titlebar_focus = new RenderTexture(_screen, + false, RenderTexture::Flat, RenderTexture::Bevel1, false, @@ -33,10 +44,9 @@ RenderStyle(int screen, const std::string &stylefile) 0x858687, 0x373a3f, 0x0, - 0x0, - 0x0, 0x0); - _titlebar_unfocus = new RenderTexture(false, + _titlebar_unfocus = new RenderTexture(_screen, + false, RenderTexture::Flat, RenderTexture::Bevel1, false, @@ -45,23 +55,21 @@ RenderStyle(int screen, const std::string &stylefile) 0x555657, 0x171a1f, 0x0, - 0x0, - 0x0, 0x0); - _label_focus = new RenderTexture(false, + _label_focus = new RenderTexture(_screen, + false, RenderTexture::Flat, RenderTexture::Bevel1, true, RenderTexture::Vertical, false, - 0x858687, - 0x373a3f, - 0x0, - 0x0, + 0x96ba86, + 0x5a724c, 0x181f24, 0x0); - _label_unfocus = new RenderTexture(false, + _label_unfocus = new RenderTexture(_screen, + false, RenderTexture::Sunken, RenderTexture::Bevel1, false, @@ -69,25 +77,23 @@ RenderStyle(int screen, const std::string &stylefile) false, 0x555657, 0x272a2f, - //XXX, - //XXX, 0x0, 0x0); - _handle_focus = new RenderTexture(false, + _handle_focus = new RenderTexture(_screen, + false, RenderTexture::Flat, RenderTexture::Bevel1, - true, + false, RenderTexture::Vertical, false, 0x858687, 0x373a3f, 0x0, - 0x0, - 0x0, 0x0); - _handle_unfocus = new RenderTexture(false, + _handle_unfocus = new RenderTexture(_screen, + false, RenderTexture::Flat, RenderTexture::Bevel1, false, @@ -96,14 +102,375 @@ RenderStyle(int screen, const std::string &stylefile) 0x555657, 0x171a1f, 0x0, - 0x0, + 0x0); + + + _button_unpress_focus = new RenderTexture(_screen, + false, + RenderTexture::Raised, + RenderTexture::Bevel2, + false, + RenderTexture::CrossDiagonal, + false, + 0x858687, + 0x272a2f, + 0x0, + 0x0); + _button_unpress_unfocus = new RenderTexture(_screen, + false, + RenderTexture::Raised, + RenderTexture::Bevel2, + false, + RenderTexture::CrossDiagonal, + false, + 0x555657, + 0x171a1f, + 0x0, + 0x0); + + _button_press_focus = new RenderTexture(_screen, + false, + RenderTexture::Sunken, + RenderTexture::Bevel2, + false, + RenderTexture::CrossDiagonal, + false, + 0x96ba86, + 0x5a724c, + 0x0, + 0x0); + _button_press_unfocus = new RenderTexture(_screen, + false, + RenderTexture::Sunken, + RenderTexture::Bevel2, + false, + RenderTexture::CrossDiagonal, + false, + 0x555657, + 0x171a1f, + 0x0, + 0x0); + + _grip_focus = new RenderTexture(_screen, + false, + RenderTexture::Flat, + RenderTexture::Bevel1, + false, + RenderTexture::Vertical, + false, + 0x96ba86, + 0x5a724c, + 0x0, + 0x0); + _grip_unfocus = new RenderTexture(_screen, + false, + RenderTexture::Flat, + RenderTexture::Bevel1, + false, + RenderTexture::Vertical, + false, + 0x555657, + 0x171a1f, + 0x0, + 0x0); + + _label_font = new Font(_screen, "Arial,Sans-9:bold", true, 1, 0x40); + _label_justify = RightJustify; + + _max_mask = new PixmapMask(); + _max_mask->w = _max_mask->h = 8; + { + //char data[] = { 0x7e, 0xff, 0xc3, 0xc3, 0xc3, 0xc3, 0xff, 0x7e }; + char data [] = {0x00, 0x00, 0x18, 0x3c, 0x66, 0x42, 0x00, 0x00 }; + _max_mask->mask = + XCreateBitmapFromData(**display, + display->screenInfo(_screen)->rootWindow(), + data, 8, 8); + } + + _icon_mask = new PixmapMask(); + _icon_mask->w = _icon_mask->h = 8; + { + //char data[] = { 0x00, 0x00, 0xc3, 0xe7, 0x7e, 0x3c, 0x18, 0x00 }; + char data[] = { 0x00, 0x00, 0x42, 0x66, 0x3c, 0x18, 0x00, 0x00 }; + _icon_mask->mask = + XCreateBitmapFromData(**display, + display->screenInfo(_screen)->rootWindow(), + data, 8, 8); + } + + _alldesk_mask = new PixmapMask(); + _alldesk_mask->w = _alldesk_mask->h = 8; + { + //char data[] = { 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x00, 0x00 }; + char data[] = { 0x00, 0x66, 0x66, 0x00, 0x00, 0x66, 0x66, 0x00 }; + _alldesk_mask->mask = + XCreateBitmapFromData(**display, + display->screenInfo(_screen)->rootWindow(), + data, 8, 8); + } + + _close_mask = new PixmapMask(); + _close_mask->w = _close_mask->h = 8; + { + //char data[] = { 0xc3, 0xe7, 0x7e, 0x3c, 0x3c, 0x7e, 0xe7, 0xc3 }; + char data[] = { 0x00, 0xc3, 0x66, 0x3c, 0x3c, 0x66, 0xc3, 0x00 }; + _close_mask->mask = + XCreateBitmapFromData(**display, + display->screenInfo(_screen)->rootWindow(), + data, 8, 8); + } + + _bevel_width = 1; + _handle_width = 4; +#else +# ifdef MERRY + _root_color = new RenderColor(_screen, 0x7b756a); + + _text_color_focus = new RenderColor(_screen, 0xffffff); + _text_color_unfocus = new RenderColor(_screen, 0xffffff); + + _button_color_focus = new RenderColor(_screen, 0x222222); + _button_color_unfocus = new RenderColor(_screen, 0x333333); + + _frame_border_color = new RenderColor(_screen, 0x222222); + _frame_border_width = 1; + + _client_border_color_focus = new RenderColor(_screen, 0x858687); + _client_border_color_unfocus = new RenderColor(_screen, 0x555657); + _client_border_width = 0; + + _titlebar_focus = new RenderTexture(_screen, + false, + RenderTexture::Flat, + RenderTexture::Bevel1, + false, + RenderTexture::Solid, + false, + 0xe6e6e6, + 0xe6e6e6, + 0x0, + 0x0); + _titlebar_unfocus = new RenderTexture(_screen, + false, + RenderTexture::Flat, + RenderTexture::Bevel1, + false, + RenderTexture::Solid, + false, + 0xe6e6e6, + 0xe6e6e6, + 0x0, + 0x0); + + _label_focus = new RenderTexture(_screen, + false, + RenderTexture::Flat, + RenderTexture::Bevel1, + true, + RenderTexture::Solid, + false, + //0x6a6973, + //0x6a6973, + 0x4c59a6, + 0x4c59a6, + 0x222222, + 0x0); + _label_unfocus = new RenderTexture(_screen, + false, + RenderTexture::Flat, + RenderTexture::Bevel1, + true, + RenderTexture::Solid, + false, + 0xcdcac7, + 0xcdcac7, + 0xb0ada9, + 0x0); + + + _handle_focus = new RenderTexture(_screen, + false, + RenderTexture::Flat, + RenderTexture::Bevel1, + false, + RenderTexture::Solid, + false, + 0xe6e6e6, + 0xe6e6e6, + 0x0, + 0x0); + _handle_unfocus = new RenderTexture(_screen, + false, + RenderTexture::Flat, + RenderTexture::Bevel1, + false, + RenderTexture::Solid, + false, + 0xe6e6e6, + 0xe6e6e6, 0x0, 0x0); + + _button_unpress_focus = new RenderTexture(_screen, + false, + RenderTexture::Flat, + RenderTexture::Bevel1, + false, + RenderTexture::Solid, + false, + 0xe6e6e6, + 0xe6e6e6, + 0x0, + 0x0); + _button_unpress_unfocus = new RenderTexture(_screen, + false, + RenderTexture::Flat, + RenderTexture::Bevel1, + false, + RenderTexture::Solid, + false, + 0xe6e6e6, + 0xe6e6e6, + 0x0, + 0x0); + + _button_press_focus = new RenderTexture(_screen, + false, + RenderTexture::Sunken, + RenderTexture::Bevel1, + false, + RenderTexture::Solid, + false, + 0xe6e6e6, + 0xe6e6e6, + 0x0, + 0x0); + _button_press_unfocus = new RenderTexture(_screen, + false, + RenderTexture::Sunken, + RenderTexture::Bevel1, + false, + RenderTexture::Solid, + false, + 0xe6e6e6, + 0xe6e6e6, + 0x0, + 0x0); + + _grip_focus = new RenderTexture(_screen, + false, + RenderTexture::Flat, + RenderTexture::Bevel1, + false, + RenderTexture::Solid, + false, + 0xe6e6e6, + 0xe6e6e6, + 0x0, + 0x0); + _grip_unfocus = new RenderTexture(_screen, + false, + RenderTexture::Flat, + RenderTexture::Bevel1, + false, + RenderTexture::Solid, + false, + 0xe6e6e6, + 0xe6e6e6, + 0x0, + 0x0); + + _label_font = new Font(_screen, "Arial,Sans-8", true, 1, 0x3e); + _label_justify = CenterJustify; + + _max_mask = new PixmapMask(); + _max_mask->w = _max_mask->h = 7; + { + char data [] = {0x7c, 0x44, 0x47, 0x47, 0x7f, 0x1f, 0x1f }; + _max_mask->mask = + XCreateBitmapFromData(**display, + display->screenInfo(_screen)->rootWindow(), + data, 7, 7); + } + + _icon_mask = new PixmapMask(); + _icon_mask->w = _icon_mask->h = 7; + { + char data[] = {0x00, 0x00, 0x00, 0x00, 0x3e, 0x3e, 0x3e }; + _icon_mask->mask = + XCreateBitmapFromData(**display, + display->screenInfo(_screen)->rootWindow(), + data, 7, 7); + } + + _alldesk_mask = new PixmapMask(); + _alldesk_mask->w = _alldesk_mask->h = 7; + { + char data[] = {0x00, 0x36, 0x36, 0x00, 0x36, 0x36, 0x00 }; + _alldesk_mask->mask = + XCreateBitmapFromData(**display, + display->screenInfo(_screen)->rootWindow(), + data, 7, 7); + } + + _close_mask = new PixmapMask(); + _close_mask->w = _close_mask->h = 7; + { + char data[] = { 0x22, 0x77, 0x3e, 0x1c, 0x3e, 0x77, 0x22 }; + _close_mask->mask = + XCreateBitmapFromData(**display, + display->screenInfo(_screen)->rootWindow(), + data, 7, 7); + } + + _bevel_width = 1; + _handle_width = 3; +# else +# error 1 +# endif +#endif } -virtual ~RenderStyle() +RenderStyle::~RenderStyle() { + delete _root_color; + + delete _text_color_focus; + delete _text_color_unfocus; + + delete _button_color_focus; + delete _button_color_unfocus; + + delete _frame_border_color; + + delete _client_border_color_focus; + delete _client_border_color_unfocus; + + delete _titlebar_focus; + delete _titlebar_unfocus; + + delete _label_focus; + delete _label_unfocus; + + delete _handle_focus; + delete _handle_unfocus; + + delete _button_unpress_focus; + delete _button_unpress_unfocus; + delete _button_press_focus; + delete _button_press_unfocus; + + delete _grip_focus; + delete _grip_unfocus; + + delete _label_font; + + delete _max_mask; + delete _icon_mask; + delete _alldesk_mask; + delete _close_mask; } }