summaryrefslogtreecommitdiffstats
path: root/src/ui
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2016-11-07 18:33:46 +0000
committerjabiertxof <info@marker.es>2016-11-07 18:33:46 +0000
commitade23a14a5b64bd2ddcf183abedd6b678efbc7da (patch)
treee184e5b62a9536fb9356509a0787659249997ceb /src/ui
parentFix some bugs pointed by vlada (diff)
parent1639832 Blend and blur unspected results (diff)
downloadinkscape-ade23a14a5b64bd2ddcf183abedd6b678efbc7da.tar.gz
inkscape-ade23a14a5b64bd2ddcf183abedd6b678efbc7da.zip
Update to trunk
(bzr r15142.1.36)
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/dialog/objects.cpp9
-rw-r--r--src/ui/widget/filter-effect-chooser.cpp4
2 files changed, 8 insertions, 5 deletions
diff --git a/src/ui/dialog/objects.cpp b/src/ui/dialog/objects.cpp
index 09ffc9c4c..446af4ccb 100644
--- a/src/ui/dialog/objects.cpp
+++ b/src/ui/dialog/objects.cpp
@@ -1512,11 +1512,18 @@ void ObjectsPanel::_blendChangedIter(const Gtk::TreeIter& iter, Glib::ustring bl
if (SP_IS_GAUSSIANBLUR(&primitive)) {
Geom::OptRect bbox = item->bounds(SPItem::GEOMETRIC_BBOX);
if (bbox) {
- radius = SP_GAUSSIANBLUR(&primitive)->stdDeviation.getNumber();
+ double perimeter = bbox->dimensions()[Geom::X] + bbox->dimensions()[Geom::Y]; // fixme: this is only half the perimeter, is that correct?
+ radius = _fe_blur.get_blur_value() * perimeter / 400;
}
}
}
}
+ if (radius != 0) {
+ // The modify function expects radius to be in display pixels.
+ Geom::Affine i2d (item->i2dt_affine());
+ double expansion = i2d.descrim();
+ radius *= expansion;
+ }
SPFilter *filter = new_filter_simple_from_item(_document, item, blendmode.c_str(), radius);
sp_style_set_property_url(item, "filter", filter, false);
} else {
diff --git a/src/ui/widget/filter-effect-chooser.cpp b/src/ui/widget/filter-effect-chooser.cpp
index ae2f3e7c2..eace494ed 100644
--- a/src/ui/widget/filter-effect-chooser.cpp
+++ b/src/ui/widget/filter-effect-chooser.cpp
@@ -51,10 +51,6 @@ sigc::signal<void>& SimpleFilterModifier::signal_blend_blur_changed()
const Glib::ustring SimpleFilterModifier::get_blend_mode()
{
- if (!(_flags & BLEND)) {
- return "normal";
- }
-
const Util::EnumData<Inkscape::Filters::FilterBlendMode> *d = _blend.get_active_data();
if (d) {
return _blend.get_active_data()->key;