]> git.tdb.fi Git - poefilter.git/blobdiff - source/appearance.cpp
Add inheritance for appearances
[poefilter.git] / source / appearance.cpp
index ccd847666b388900534464f1ae196b0d09737e53..ffe47ff576600b13e4e11d1828bf91fb3c1e67cf 100644 (file)
@@ -60,6 +60,7 @@ Appearance::Loader::Loader(Appearance &a, const Theme *t):
        add("border_color", &Loader::border_color_alpha);
        add("border_color", &Loader::border_color_named);
        add("font_size", &Loader::font_size);
+       add("inherit", &Loader::inherit);
        add("text_color", &Loader::text_color);
        add("text_color", &Loader::text_color_alpha);
        add("text_color", &Loader::text_color_named);
@@ -105,6 +106,13 @@ void Appearance::Loader::font_size(float s)
        obj.font_size = base_size*s+0.5f;
 }
 
+void Appearance::Loader::inherit(const string &name)
+{
+       if(!theme)
+               throw logic_error("No theme");
+       obj = theme->get_appearance(name);
+}
+
 void Appearance::Loader::text_color(unsigned r, unsigned g, unsigned b)
 {
        obj.text_color = Color(r, g, b);