X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftheme.cpp;h=6f9f5d95913394e13309eb1ef46f716d4286aac5;hb=9931bfa14fbaef1e6fe8858fcb56c4beb9a17c67;hp=b531cb6351222360651075d19b832889b64dc923;hpb=74086c211f082f6f47c3d038dd308a257a81e006;p=poefilter.git diff --git a/source/theme.cpp b/source/theme.cpp index b531cb6..6f9f5d9 100644 --- a/source/theme.cpp +++ b/source/theme.cpp @@ -33,6 +33,12 @@ const Appearance &Theme::get_appearance(const string &name) const return get_item(appearances, name); } +const Appearance *Theme::find_appearance(const string &name) const +{ + AppearanceMap::const_iterator i = appearances.find(name); + return (i!=appearances.end() ? &i->second : 0); +} + Theme::Loader::Loader(Theme &t): DataFile::ObjectLoader(t) @@ -40,12 +46,14 @@ Theme::Loader::Loader(Theme &t): add("appearance", &Loader::appearance); add("base_font_size", &Theme::base_font_size); add("color", &Loader::color); + add("color", &Loader::color_alpha); } void Theme::Loader::appearance(const string &name) { Appearance app; - load_sub(app, obj); + Appearance::Loader ldr(app, &obj); + load_sub_with(ldr); obj.set_appearance(name, app); } @@ -53,3 +61,8 @@ void Theme::Loader::color(const string &name, unsigned r, unsigned g, unsigned b { obj.set_color(name, Color(r, g, b)); } + +void Theme::Loader::color_alpha(const string &name, unsigned r, unsigned g, unsigned b, unsigned a) +{ + obj.set_color(name, Color(r, g, b, a)); +}