From c600fbef1f09a29fd7ae8f660ab2d12dff2fa1b3 Mon Sep 17 00:00:00 2001 From: Jabier Arraiza Date: Sun, 20 Oct 2019 23:51:17 +0200 Subject: Improvements to blending and tooltip --- src/ui/widget/filter-effect-chooser.cpp | 4 +++- src/ui/widget/filter-effect-chooser.h | 4 ++-- src/ui/widget/object-composite-settings.cpp | 10 +++++++++- 3 files changed, 14 insertions(+), 4 deletions(-) (limited to 'src/ui/widget') diff --git a/src/ui/widget/filter-effect-chooser.cpp b/src/ui/widget/filter-effect-chooser.cpp index 08a3a3750..fc5adbb59 100644 --- a/src/ui/widget/filter-effect-chooser.cpp +++ b/src/ui/widget/filter-effect-chooser.cpp @@ -78,10 +78,12 @@ SimpleFilterModifier::SimpleFilterModifier(int flags) _isolation.property_active() = false; _hb_blend.pack_start(_isolation, false, false, 5); _hb_blend.pack_start(_lb_isolation, false, false, 5); + _isolation.set_tooltip_text("Don't blend childrens with objects behind"); + _lb_isolation.set_tooltip_text("Don't blend childrens with objects behind"); } _hb_blend.pack_start(_lb_blend, false, false, 5); _hb_blend.pack_start(_blend, false, false, 5); - Gtk::Separator *separator = Gtk::manage(new Gtk::Separator()); + Gtk::Separator *separator = Gtk::manage(new Gtk::Separator()); separator->set_margin_top(8); separator->set_margin_bottom(8); add(*separator); diff --git a/src/ui/widget/filter-effect-chooser.h b/src/ui/widget/filter-effect-chooser.h index 21b8e7c7f..1892ba463 100644 --- a/src/ui/widget/filter-effect-chooser.h +++ b/src/ui/widget/filter-effect-chooser.h @@ -43,10 +43,10 @@ public: sigc::signal &signal_isolation_changed(); int get_isolation_mode(); - void set_isolation_mode(const int, bool notifi); + void set_isolation_mode(const int, bool notify); int get_blend_mode(); - void set_blend_mode(const int, bool notifi); + void set_blend_mode(const int, bool notify); double get_blur_value() const; void set_blur_value(const double); diff --git a/src/ui/widget/object-composite-settings.cpp b/src/ui/widget/object-composite-settings.cpp index 785cb589a..974c46b18 100644 --- a/src/ui/widget/object-composite-settings.cpp +++ b/src/ui/widget/object-composite-settings.cpp @@ -114,7 +114,11 @@ ObjectCompositeSettings::_blendBlurValueChanged() SPStyle *style = item->style; g_assert(style != nullptr); item->style->mix_blend_mode.set = TRUE; - item->style->mix_blend_mode.value = _filter_modifier.get_blend_mode(); + if (item->style->isolation.value == SP_CSS_ISOLATION_ISOLATE) { + item->style->mix_blend_mode.value = SP_CSS_BLEND_NORMAL; + } else { + item->style->mix_blend_mode.value = _filter_modifier.get_blend_mode(); + } item->updateRepr(SP_OBJECT_WRITE_NO_CHILDREN | SP_OBJECT_WRITE_EXT); if (radius == 0 && item->style->filter.set @@ -193,6 +197,10 @@ void ObjectCompositeSettings::_isolationValueChanged() for (auto item : _subject->list()) { item->style->isolation.set = TRUE; item->style->isolation.value = _filter_modifier.get_isolation_mode(); + if (item->style->isolation.value == SP_CSS_ISOLATION_ISOLATE) { + item->style->mix_blend_mode.set = TRUE; + item->style->mix_blend_mode.value = SP_CSS_BLEND_NORMAL; + } item->updateRepr(SP_OBJECT_WRITE_NO_CHILDREN | SP_OBJECT_WRITE_EXT); } -- cgit v1.2.3