]> icculus.org git repositories - mikachu/openbox.git/blob - otk/renderstyle.hh
part of a hardcoded style done
[mikachu/openbox.git] / otk / renderstyle.hh
1 // -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
2 #ifndef __renderstyle_hh
3 #define __renderstyle_hh
4
5 #include "rendertexture.hh"
6
7 #include <string>
8
9 namespace otk {
10
11 class RenderStyle {
12 public:
13   enum TextJustify {
14     LeftJustify,
15     RightJustify,
16     CenterJustify
17   };
18
19 private:
20   int _screen;
21   std::string _file;
22   
23   RenderColor *_text_focus_color;
24   RenderColor *_text_unfocus_color;
25
26   RenderColor *_frame_border_color;
27   int _frame_border_wirth;
28   RenderColor *_client_border_color_focus; 
29   RenderColor *_client_border_color_unfocus;
30   int _client_border_width;
31  
32   RenderTexture *_titlebar_focus;
33   RenderTexture *_titlebar_unfocus;
34
35   RenderTexture *_label_focus;
36   RenderTexture *_label_unfocus;
37
38   RenderTexture *_handle_focus;
39   RenderTexture *_handle_unfocus;
40
41   RenderTexture *_button_unpress_focus;
42   RenderTexture *_button_unpress_unfocus;
43   RenderTexture *_button_press_focus;
44   RenderTexture *_button_press_unfocus;
45
46   RenderTexture *_grip_focus;
47   RenderTexture *_grip_unfocus;
48
49   Font *_label_font;
50   TextJustify _label_justify;
51
52   int _handle_width;
53   int _bevel_width;
54
55 public:
56   RenderStyle(int screen, const std::string &stylefile);
57   virtual ~RenderStyle();
58
59   inline RenderColor *textFocusColor() const { return _text_color_focus; }
60   inline RenderColor *textUnfocusColor() const { return _text_color_unfocus; }
61
62   inline RenderColor *frameBorderColor() const { return _frame_border_color; }
63   inline int frameBorderWidth() const { return _frame_border_wirth; }
64   inline RenderColor *clientBorderFocusColor() const
65     { return _client_border_color_focus; }
66   inline RenderColor *clientBorderUnfocusColor() const
67     { return _client_border_color_unfocus; }
68   inline int clientBorderWidth() const { return _client_border_width; }
69  
70   inline RenderTexture *titlebarFocusBackground() const
71     { return _titlebar_focus; }
72   inline RenderTexture *titlebarUnfocusBackground() const
73     { return _titlebar_unfocus; }
74
75   inline RenderTexture *labelFocusBackground() const { return _label_focus; }
76   inline RenderTexture *labelUnfocusBackground() const { return _label_unfocus;}
77
78   inline RenderTexture *handleFocusBackground() const { _handle_focus; }
79   inline RenderTexture *handleUnfocusBackground() const { _handle_unfocus; }
80
81   inline RenderTexture *buttonUnpressFocusBackground() const
82     { return _button_unpress_focus; }
83   inline RenderTexture *buttonUnpressUnfocusBackground() const
84     { return _button_unpress_unfocus; }
85   inline RenderTexture *buttonPressFocusBackground() const
86     { return _button_press_focus; }
87   inline RenderTexture *buttonPressUnfocusBackgrounf() const
88     { return _button_press_unfocus; }
89
90   inline RenderTexture *gripdFocusBackground() const { return _grip_focus; }
91   inline RenderTexture *gripUnfocusBackground() const { return _grip_unfocus; }
92
93   inline Font *labelFont() const { return _label_font; }
94   inline TextJustify labelTextJustify() const { return _label_justify; }
95
96   inline int handleWidth() const { return _handle_width; }
97   inline int bevelWidth() const { return _bevel_width; }
98 };
99
100 }
101
102 #endif // __rendertexture_hh