aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/IconbarTheme.cc23
-rw-r--r--src/IconbarTheme.hh24
2 files changed, 47 insertions, 0 deletions
diff --git a/src/IconbarTheme.cc b/src/IconbarTheme.cc
new file mode 100644
index 0000000..0813128
--- /dev/null
+++ b/src/IconbarTheme.cc
@@ -0,0 +1,23 @@
1#include "IconbarTheme.hh"
2#include "FbTk/App.hh"
3
4IconbarTheme::IconbarTheme(int screen_num,
5 const std::string &name,
6 const std::string &altname):
7 FbTk::Theme(screen_num),
8 m_focused_texture(*this, name + ".focused", altname + ".Focused"),
9 m_unfocused_texture(*this, name + ".unfocused", altname + ".Unfocused"),
10 m_focused_text(*this, name + ".focused", altname + ".Focused"),
11 m_unfocused_text(*this, name + ".unfocused", altname + ".Unfocused") {
12
13 FbTk::ThemeManager::instance().loadTheme(*this);
14
15}
16IconbarTheme::~IconbarTheme() {
17
18}
19void IconbarTheme::reconfigTheme() {
20 m_focused_text.update();
21 m_unfocused_text.update();
22}
23
diff --git a/src/IconbarTheme.hh b/src/IconbarTheme.hh
new file mode 100644
index 0000000..d75b3cd
--- /dev/null
+++ b/src/IconbarTheme.hh
@@ -0,0 +1,24 @@
1#ifndef ICONBARTHEME_HH
2#define ICONBARTHEME_HH
3
4#include "FbTk/Theme.hh"
5#include "FbTk/Texture.hh"
6#include "TextTheme.hh"
7
8class IconbarTheme:public FbTk::Theme {
9public:
10 IconbarTheme(int screen_num, const std::string &name, const std::string &altname);
11 virtual ~IconbarTheme();
12
13 void reconfigTheme();
14 const TextTheme &focusedText() const { return m_focused_text; }
15 const TextTheme &unfocusedText() const { return m_unfocused_text; }
16
17 const FbTk::Texture &focusedTexture() const { return *m_focused_texture; }
18 const FbTk::Texture &unfocusedTexture() const { return *m_unfocused_texture; }
19private:
20 FbTk::ThemeItem<FbTk::Texture> m_focused_texture, m_unfocused_texture;
21 TextTheme m_focused_text, m_unfocused_text;
22};
23
24#endif // ICONBARTHEME_HH