using namespace std;
using namespace Msp;
-Color::Color():
- r(200),
- g(200),
- b(200)
-{ }
-
-Color::Color(unsigned r_, unsigned g_, unsigned b_):
- r(r_),
- g(g_),
- b(b_)
-{ }
-
-
Theme::Theme():
base_font_size(32)
{ }
base_font_size = size;
}
+void Theme::set_appearance(const string &name, const Appearance &app)
+{
+ appearances[name] = app;
+}
+
+const Appearance &Theme::get_appearance(const string &name) const
+{
+ return get_item(appearances, name);
+}
+
Theme::Loader::Loader(Theme &t):
DataFile::ObjectLoader<Theme>(t)
{
+ add("appearance", &Loader::appearance);
add("base_font_size", &Theme::base_font_size);
add("color", &Loader::color);
}
+void Theme::Loader::appearance(const string &name)
+{
+ Appearance app;
+ load_sub(app, obj);
+ obj.set_appearance(name, app);
+}
+
void Theme::Loader::color(const string &name, unsigned r, unsigned g, unsigned b)
{
obj.set_color(name, Color(r, g, b));