00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef ICONBARTHEME_HH
00026 #define ICONBARTHEME_HH
00027
00028 #include "FbTk/Theme.hh"
00029 #include "FbTk/Texture.hh"
00030
00031 #include "TextTheme.hh"
00032 #include "BorderTheme.hh"
00033
00034 class IconbarTheme:public FbTk::Theme {
00035 public:
00036 IconbarTheme(int screen_num, const std::string &name, const std::string &altname);
00037 virtual ~IconbarTheme();
00038
00039 void reconfigTheme();
00040 bool fallback(FbTk::ThemeItem_base &item);
00041
00042 void setAntialias(bool antialias);
00043
00044 const TextTheme &focusedText() const { return m_focused_text; }
00045 const TextTheme &unfocusedText() const { return m_unfocused_text; }
00046
00047 const BorderTheme &focusedBorder() const { return m_focused_border; }
00048 const BorderTheme &unfocusedBorder() const { return m_unfocused_border; }
00049 const BorderTheme &border() const { return m_border; }
00050
00051 const FbTk::Texture &focusedTexture() const { return *m_focused_texture; }
00052 const FbTk::Texture &unfocusedTexture() const { return *m_unfocused_texture; }
00053 const FbTk::Texture &emptyTexture() const { return *m_empty_texture; }
00054 inline unsigned char alpha() const { return *m_alpha; }
00055
00056 private:
00057 FbTk::ThemeItem<FbTk::Texture> m_focused_texture, m_unfocused_texture, m_empty_texture;
00058 BorderTheme m_focused_border, m_unfocused_border, m_border;
00059 TextTheme m_focused_text, m_unfocused_text;
00060 std::string m_name;
00061 FbTk::ThemeItem<int> m_alpha;
00062 };
00063
00064 #endif // ICONBARTHEME_HH