]> git.tdb.fi Git - poefilter.git/blobdiff - source/appearance.h
Revamp appearance definitions
[poefilter.git] / source / appearance.h
diff --git a/source/appearance.h b/source/appearance.h
new file mode 100644 (file)
index 0000000..a522796
--- /dev/null
@@ -0,0 +1,48 @@
+#ifndef APPEARANCE_H_
+#define APPEARANCE_H_
+
+#include <msp/datafile/objectloader.h>
+#include "color.h"
+
+class Theme;
+
+class Appearance
+{
+public:
+       class Loader: public Msp::DataFile::ObjectLoader<Appearance>
+       {
+       private:
+               const Theme &theme;
+
+       public:
+               Loader(Appearance &, const Theme &);
+
+               void background_color(unsigned, unsigned, unsigned);
+               void background_color_named(const std::string &);
+               void border_color(unsigned, unsigned, unsigned);
+               void border_color_named(const std::string &);
+               void font_size(float);
+               void text_color(unsigned, unsigned, unsigned);
+               void text_color_named(const std::string &);
+       };
+
+private:
+       unsigned font_size;
+       Color border_color;
+       Color background_color;
+       Color text_color;
+       unsigned sound_type;
+       unsigned sound_volume;
+
+public:
+       Appearance();
+
+       unsigned get_font_size() const { return font_size; }
+       const Color &get_border_color() const { return border_color; }
+       const Color &get_background_color() const { return background_color; }
+       const Color &get_text_color() const { return text_color; }
+       unsigned get_sound_type() const { return sound_type; }
+       unsigned get_sound_volume() const { return sound_volume; }
+};
+
+#endif