X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fappearance.cpp;h=ffe47ff576600b13e4e11d1828bf91fb3c1e67cf;hb=0cb9452fe3f8cfd3beec53a84bc8df9306fbd44f;hp=f1bb993c90544f65a2dcb758a36a54a98e4bf5c3;hpb=0388bdcffe5c2c3e720afa9aa911268eac9c32de;p=poefilter.git diff --git a/source/appearance.cpp b/source/appearance.cpp index f1bb993..ffe47ff 100644 --- a/source/appearance.cpp +++ b/source/appearance.cpp @@ -35,13 +35,13 @@ void Appearance::add_lines(FilterStatement &st) const st.add_line(format("SetFontSize %d", font_size)); if(background_color.defined) - st.add_line(format("SetBackgroundColor %d %d %d", background_color.r, background_color.g, background_color.b)); + st.add_line(format("SetBackgroundColor %d %d %d %d", background_color.r, background_color.g, background_color.b, background_color.a)); if(border_color.defined) - st.add_line(format("SetBorderColor %d %d %d", border_color.r, border_color.g, border_color.b)); + st.add_line(format("SetBorderColor %d %d %d %d", border_color.r, border_color.g, border_color.b, border_color.a)); if(text_color.defined) - st.add_line(format("SetTextColor %d %d %d", text_color.r, text_color.g, text_color.b)); + st.add_line(format("SetTextColor %d %d %d %d", text_color.r, text_color.g, text_color.b, text_color.a)); if(sound_type) st.add_line(format("PlayAlertSound %d %d", sound_type, sound_volume)); @@ -54,11 +54,15 @@ Appearance::Loader::Loader(Appearance &a, const Theme *t): { add("alert_sound", &Appearance::sound_type, &Appearance::sound_volume); add("background_color", &Loader::background_color); + add("background_color", &Loader::background_color_alpha); add("background_color", &Loader::background_color_named); add("border_color", &Loader::border_color); + 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); } @@ -67,6 +71,11 @@ void Appearance::Loader::background_color(unsigned r, unsigned g, unsigned b) obj.background_color = Color(r, g, b); } +void Appearance::Loader::background_color_alpha(unsigned r, unsigned g, unsigned b, unsigned a) +{ + obj.background_color = Color(r, g, b, a); +} + void Appearance::Loader::background_color_named(const string &name) { if(!theme) @@ -79,6 +88,11 @@ void Appearance::Loader::border_color(unsigned r, unsigned g, unsigned b) obj.border_color = Color(r, g, b); } +void Appearance::Loader::border_color_alpha(unsigned r, unsigned g, unsigned b, unsigned a) +{ + obj.border_color = Color(r, g, b, a); +} + void Appearance::Loader::border_color_named(const string &name) { if(!theme) @@ -92,11 +106,23 @@ 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); } +void Appearance::Loader::text_color_alpha(unsigned r, unsigned g, unsigned b, unsigned a) +{ + obj.text_color = Color(r, g, b, a); +} + void Appearance::Loader::text_color_named(const string &name) { if(!theme)