1 #include <msp/core/maputils.h>
11 void Theme::set_color(const string &name, const Color &color)
16 const Color &Theme::get_color(const string &name) const
18 return get_item(colors, name);
21 void Theme::set_base_font_size(unsigned size)
23 base_font_size = size;
26 void Theme::set_appearance(const string &name, const Appearance &app)
28 appearances[name] = app;
31 const Appearance &Theme::get_appearance(const string &name) const
33 return get_item(appearances, name);
36 const Appearance *Theme::find_appearance(const string &name) const
38 AppearanceMap::const_iterator i = appearances.find(name);
39 return (i!=appearances.end() ? &i->second : 0);
43 Theme::Loader::Loader(Theme &t):
44 DataFile::ObjectLoader<Theme>(t)
46 add("appearance", &Loader::appearance);
47 add("base_font_size", &Theme::base_font_size);
48 add("color", &Loader::color);
49 add("color", &Loader::color_alpha);
52 void Theme::Loader::appearance(const string &name)
55 Appearance::Loader ldr(app, &obj);
57 obj.set_appearance(name, app);
60 void Theme::Loader::color(const string &name, unsigned r, unsigned g, unsigned b)
62 obj.set_color(name, Color(r, g, b));
65 void Theme::Loader::color_alpha(const string &name, unsigned r, unsigned g, unsigned b, unsigned a)
67 obj.set_color(name, Color(r, g, b, a));