X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftheme.cpp;fp=source%2Ftheme.cpp;h=b531cb6351222360651075d19b832889b64dc923;hb=74086c211f082f6f47c3d038dd308a257a81e006;hp=3b09dc3f3fddd9540dcef643c25483f12c6c5151;hpb=fc27eb63c05d915d606e17992ecd5b7f68478101;p=poefilter.git diff --git a/source/theme.cpp b/source/theme.cpp index 3b09dc3..b531cb6 100644 --- a/source/theme.cpp +++ b/source/theme.cpp @@ -4,19 +4,6 @@ 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) { } @@ -36,14 +23,32 @@ void Theme::set_base_font_size(unsigned size) 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(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));