diff options
Diffstat (limited to 'src/FbWinFrameTheme.hh')
-rw-r--r-- | src/FbWinFrameTheme.hh | 60 |
1 files changed, 20 insertions, 40 deletions
diff --git a/src/FbWinFrameTheme.hh b/src/FbWinFrameTheme.hh index bc8ed40..fd2a7e9 100644 --- a/src/FbWinFrameTheme.hh +++ b/src/FbWinFrameTheme.hh | |||
@@ -31,41 +31,28 @@ | |||
31 | #include "FbTk/Shape.hh" | 31 | #include "FbTk/Shape.hh" |
32 | 32 | ||
33 | #include "IconbarTheme.hh" | 33 | #include "IconbarTheme.hh" |
34 | #include <string> | ||
34 | 35 | ||
35 | class FbWinFrameTheme: public FbTk::Theme, | 36 | class FbWinFrameTheme: public FbTk::Theme, |
36 | public FbTk::ThemeProxy<FbWinFrameTheme> { | 37 | public FbTk::ThemeProxy<FbWinFrameTheme> { |
37 | public: | 38 | public: |
38 | explicit FbWinFrameTheme(int screen_num); | 39 | explicit FbWinFrameTheme(int screen_num, const std::string &extra, |
40 | const std::string &altextra); | ||
39 | ~FbWinFrameTheme(); | 41 | ~FbWinFrameTheme(); |
40 | /** | 42 | /** |
41 | @name textures | 43 | @name textures |
42 | */ | 44 | */ |
43 | //@{ | 45 | //@{ |
44 | const FbTk::Texture &titleFocusTexture() const { return *m_title_focus; } | 46 | const FbTk::Texture &titleTexture() const { return *m_title; } |
45 | const FbTk::Texture &titleUnfocusTexture() const { return *m_title_unfocus; } | 47 | const FbTk::Texture &handleTexture() const { return *m_handle; } |
46 | 48 | const FbTk::Texture &buttonTexture() const { return *m_button; } | |
47 | const FbTk::Texture &handleFocusTexture() const { return *m_handle_focus; } | ||
48 | const FbTk::Texture &handleUnfocusTexture() const { return *m_handle_unfocus; } | ||
49 | |||
50 | const FbTk::Texture &buttonFocusTexture() const { return *m_button_focus; } | ||
51 | const FbTk::Texture &buttonUnfocusTexture() const { return *m_button_unfocus; } | ||
52 | const FbTk::Texture &buttonPressedTexture() const { return *m_button_pressed; } | 49 | const FbTk::Texture &buttonPressedTexture() const { return *m_button_pressed; } |
53 | 50 | const FbTk::Texture &gripTexture() const { return *m_grip; } | |
54 | const FbTk::Texture &gripFocusTexture() const { return *m_grip_focus; } | ||
55 | const FbTk::Texture &gripUnfocusTexture() const { return *m_grip_unfocus; } | ||
56 | //@} | 51 | //@} |
57 | 52 | ||
58 | /** | 53 | const FbTk::Color &buttonColor() const { return *m_button_color; } |
59 | @name colors | ||
60 | */ | ||
61 | //@{ | ||
62 | const FbTk::Color &buttonFocuscolor() const { return *m_button_focus_color; } | ||
63 | const FbTk::Color &buttonUnfocuscolor() const { return *m_button_unfocus_color; } | ||
64 | //@} | ||
65 | FbTk::Font &font() { return *m_font; } | 54 | FbTk::Font &font() { return *m_font; } |
66 | 55 | GC buttonPicGC() const { return m_button_pic_gc.gc(); } | |
67 | GC buttonPicFocusGC() const { return m_button_pic_focus_gc.gc(); } | ||
68 | GC buttonPicUnfocusGC() const { return m_button_pic_unfocus_gc.gc(); } | ||
69 | 56 | ||
70 | bool fallback(FbTk::ThemeItem_base &item); | 57 | bool fallback(FbTk::ThemeItem_base &item); |
71 | void reconfigTheme(); | 58 | void reconfigTheme(); |
@@ -81,19 +68,16 @@ public: | |||
81 | Cursor bottomSideCursor() const { return m_cursor_bottom_side; } | 68 | Cursor bottomSideCursor() const { return m_cursor_bottom_side; } |
82 | 69 | ||
83 | FbTk::Shape::ShapePlace shapePlace() const { return *m_shape_place; } | 70 | FbTk::Shape::ShapePlace shapePlace() const { return *m_shape_place; } |
84 | const FbTk::BorderTheme &border(bool focus) const { return (focus ? m_border_focus : m_border_unfocus); } | 71 | const FbTk::BorderTheme &border() const { return m_border; } |
85 | 72 | ||
86 | unsigned int titleHeight() const { return *m_title_height; } | 73 | unsigned int titleHeight() const { return *m_title_height; } |
87 | unsigned int bevelWidth() const { return *m_bevel_width; } | 74 | unsigned int bevelWidth() const { return *m_bevel_width; } |
88 | unsigned int handleWidth() const { return *m_handle_width; } | 75 | unsigned int handleWidth() const { return *m_handle_width; } |
89 | 76 | ||
90 | unsigned char focusedAlpha() const { return m_focused_alpha; } | 77 | unsigned char alpha() const { return m_alpha; } |
91 | unsigned char unfocusedAlpha() const { return m_unfocused_alpha; } | 78 | void setAlpha(unsigned char alpha) { m_alpha = alpha; } |
92 | void setFocusedAlpha(unsigned char alpha) { m_focused_alpha = alpha; } | ||
93 | void setUnfocusedAlpha(unsigned char alpha) { m_unfocused_alpha = alpha; } | ||
94 | 79 | ||
95 | IconbarTheme &focusedIconbarTheme() { return m_focused_iconbar_theme; } | 80 | IconbarTheme &iconbarTheme() { return m_iconbar_theme; } |
96 | IconbarTheme &unfocusedIconbarTheme() { return m_unfocused_iconbar_theme; } | ||
97 | 81 | ||
98 | virtual FbTk::Subject &reconfigSig() { return FbTk::Theme::reconfigSig(); } | 82 | virtual FbTk::Subject &reconfigSig() { return FbTk::Theme::reconfigSig(); } |
99 | virtual const FbTk::Subject &reconfigSig() const { return FbTk::Theme::reconfigSig(); } | 83 | virtual const FbTk::Subject &reconfigSig() const { return FbTk::Theme::reconfigSig(); } |
@@ -102,20 +86,17 @@ public: | |||
102 | virtual const FbWinFrameTheme &operator *() const { return *this; } | 86 | virtual const FbWinFrameTheme &operator *() const { return *this; } |
103 | 87 | ||
104 | private: | 88 | private: |
105 | FbTk::ThemeItem<FbTk::Texture> m_title_focus, m_title_unfocus; | 89 | FbTk::ThemeItem<FbTk::Texture> m_title, m_handle, m_button, |
106 | FbTk::ThemeItem<FbTk::Texture> m_handle_focus, m_handle_unfocus; | 90 | m_button_pressed, m_grip; |
107 | FbTk::ThemeItem<FbTk::Texture> m_button_focus, m_button_unfocus, m_button_pressed; | ||
108 | FbTk::ThemeItem<FbTk::Texture> m_grip_focus, m_grip_unfocus; | ||
109 | |||
110 | FbTk::ThemeItem<FbTk::Color> m_button_focus_color, m_button_unfocus_color; | ||
111 | 91 | ||
92 | FbTk::ThemeItem<FbTk::Color> m_button_color; | ||
112 | FbTk::ThemeItem<FbTk::Font> m_font; | 93 | FbTk::ThemeItem<FbTk::Font> m_font; |
113 | FbTk::ThemeItem<FbTk::Shape::ShapePlace> m_shape_place; | 94 | FbTk::ThemeItem<FbTk::Shape::ShapePlace> m_shape_place; |
114 | 95 | ||
115 | FbTk::ThemeItem<int> m_title_height, m_bevel_width, m_handle_width; | 96 | FbTk::ThemeItem<int> m_title_height, m_bevel_width, m_handle_width; |
116 | FbTk::BorderTheme m_border_focus, m_border_unfocus; | 97 | FbTk::BorderTheme m_border; |
117 | 98 | ||
118 | FbTk::GContext m_button_pic_focus_gc, m_button_pic_unfocus_gc; | 99 | FbTk::GContext m_button_pic_gc; |
119 | 100 | ||
120 | Cursor m_cursor_move; | 101 | Cursor m_cursor_move; |
121 | Cursor m_cursor_lower_left_angle; | 102 | Cursor m_cursor_lower_left_angle; |
@@ -126,10 +107,9 @@ private: | |||
126 | Cursor m_cursor_right_side; | 107 | Cursor m_cursor_right_side; |
127 | Cursor m_cursor_top_side; | 108 | Cursor m_cursor_top_side; |
128 | Cursor m_cursor_bottom_side; | 109 | Cursor m_cursor_bottom_side; |
129 | unsigned char m_focused_alpha; | 110 | unsigned char m_alpha; |
130 | unsigned char m_unfocused_alpha; | ||
131 | 111 | ||
132 | IconbarTheme m_focused_iconbar_theme, m_unfocused_iconbar_theme; | 112 | IconbarTheme m_iconbar_theme; |
133 | }; | 113 | }; |
134 | 114 | ||
135 | #endif // FBWINFRAMETHEME_HH | 115 | #endif // FBWINFRAMETHEME_HH |