--- /dev/null
+#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