X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Frenderstyle.hh;h=0ecb8e4d974176318ce34814932a689fa9288d71;hb=c487295c75094be3858b76b23fc9863ec9d46b59;hp=920dc1fa36595bff15058186b8f3f93dcbfdff9c;hpb=25a5b729090f48d27f754016280b4a54de9eef21;p=chaz%2Fopenbox diff --git a/otk/renderstyle.hh b/otk/renderstyle.hh index 920dc1fa..0ecb8e4d 100644 --- a/otk/renderstyle.hh +++ b/otk/renderstyle.hh @@ -4,9 +4,97 @@ #include "rendertexture.hh" +#include + namespace otk { class RenderStyle { +public: + enum TextJustify { + LeftJustify, + RightJustify, + CenterJustify + }; + +private: + int _screen; + std::string _file; + + RenderColor *_text_focus_color; + RenderColor *_text_unfocus_color; + + RenderColor *_frame_border_color; + int _frame_border_wirth; + RenderColor *_client_border_color_focus; + RenderColor *_client_border_color_unfocus; + int _client_border_width; + + RenderTexture *_titlebar_focus; + RenderTexture *_titlebar_unfocus; + + RenderTexture *_label_focus; + RenderTexture *_label_unfocus; + + RenderTexture *_handle_focus; + RenderTexture *_handle_unfocus; + + RenderTexture *_button_unpress_focus; + RenderTexture *_button_unpress_unfocus; + RenderTexture *_button_press_focus; + RenderTexture *_button_press_unfocus; + + RenderTexture *_grip_focus; + RenderTexture *_grip_unfocus; + + Font *_label_font; + TextJustify _label_justify; + + int _handle_width; + int _bevel_width; + +public: + RenderStyle(int screen, const std::string &stylefile); + virtual ~RenderStyle(); + + inline RenderColor *textFocusColor() const { return _text_color_focus; } + inline RenderColor *textUnfocusColor() const { return _text_color_unfocus; } + + inline RenderColor *frameBorderColor() const { return _frame_border_color; } + inline int frameBorderWidth() const { return _frame_border_wirth; } + inline RenderColor *clientBorderFocusColor() const + { return _client_border_color_focus; } + inline RenderColor *clientBorderUnfocusColor() const + { return _client_border_color_unfocus; } + inline int clientBorderWidth() const { return _client_border_width; } + + inline RenderTexture *titlebarFocusBackground() const + { return _titlebar_focus; } + inline RenderTexture *titlebarUnfocusBackground() const + { return _titlebar_unfocus; } + + inline RenderTexture *labelFocusBackground() const { return _label_focus; } + inline RenderTexture *labelUnfocusBackground() const { return _label_unfocus;} + + inline RenderTexture *handleFocusBackground() const { _handle_focus; } + inline RenderTexture *handleUnfocusBackground() const { _handle_unfocus; } + + inline RenderTexture *buttonUnpressFocusBackground() const + { return _button_unpress_focus; } + inline RenderTexture *buttonUnpressUnfocusBackground() const + { return _button_unpress_unfocus; } + inline RenderTexture *buttonPressFocusBackground() const + { return _button_press_focus; } + inline RenderTexture *buttonPressUnfocusBackgrounf() const + { return _button_press_unfocus; } + + inline RenderTexture *gripdFocusBackground() const { return _grip_focus; } + inline RenderTexture *gripUnfocusBackground() const { return _grip_unfocus; } + + inline Font *labelFont() const { return _label_font; } + inline TextJustify labelTextJustify() const { return _label_justify; } + + inline int handleWidth() const { return _handle_width; } + inline int bevelWidth() const { return _bevel_width; } }; }