X-Git-Url: http://git.tdb.fi/?p=poefilter.git;a=blobdiff_plain;f=source%2Fappearance.cpp;h=0500aa57fc826687a0ab9d3b8e47680a7348ee9a;hp=ffe47ff576600b13e4e11d1828bf91fb3c1e67cf;hb=b4df72b647f47c25a0ccada832eda9bc0dfb5504;hpb=e1d95ecdf6c4b1a29d5ef32d493f1266be57d642 diff --git a/source/appearance.cpp b/source/appearance.cpp index ffe47ff..0500aa5 100644 --- a/source/appearance.cpp +++ b/source/appearance.cpp @@ -9,7 +9,13 @@ using namespace Msp; Appearance::Appearance(): font_size(0), sound_type(0), - sound_volume(100) + sound_volume(100), + show_icon(false), + icon_shape(CIRCLE), + icon_color(WHITE), + icon_size(1), + show_beam(false), + beam_color(WHITE) { } void Appearance::merge_from(const Appearance &other) @@ -43,8 +49,14 @@ void Appearance::add_lines(FilterStatement &st) const if(text_color.defined) st.add_line(format("SetTextColor %d %d %d %d", text_color.r, text_color.g, text_color.b, text_color.a)); + if(show_icon) + st.add_line(format("MinimapIcon %d %s %s", icon_size, icon_color, icon_shape)); + if(sound_type) st.add_line(format("PlayAlertSound %d %d", sound_type, sound_volume)); + + if(show_beam) + st.add_line(format("PlayEffect %s", beam_color)); } @@ -61,6 +73,9 @@ Appearance::Loader::Loader(Appearance &a, const Theme *t): add("border_color", &Loader::border_color_named); add("font_size", &Loader::font_size); add("inherit", &Loader::inherit); + add("light_beam", &Loader::light_beam); + add("minimap_icon", &Loader::minimap_icon); + add("minimap_icon", &Loader::minimap_icon_size); add("text_color", &Loader::text_color); add("text_color", &Loader::text_color_alpha); add("text_color", &Loader::text_color_named); @@ -113,6 +128,25 @@ void Appearance::Loader::inherit(const string &name) obj = theme->get_appearance(name); } +void Appearance::Loader::light_beam(EffectColor color) +{ + obj.show_beam = true; + obj.beam_color = color; +} + +void Appearance::Loader::minimap_icon(EffectColor color, IconShape shape) +{ + minimap_icon_size(color, shape, 1); +} + +void Appearance::Loader::minimap_icon_size(EffectColor color, IconShape shape, unsigned size) +{ + obj.show_icon = true; + obj.icon_shape = shape; + obj.icon_color = color; + obj.icon_size = size; +} + void Appearance::Loader::text_color(unsigned r, unsigned g, unsigned b) { obj.text_color = Color(r, g, b);