summaryrefslogtreecommitdiffstats
path: root/src/desktop-style.cpp
diff options
context:
space:
mode:
authorbulia byak <buliabyak@gmail.com>2006-10-23 01:49:44 +0000
committerbuliabyak <buliabyak@users.sourceforge.net>2006-10-23 01:49:44 +0000
commit8bcf2a4496c29740e8be987758eaa01a8a7d5a55 (patch)
treea581234b9fc0bfadce23f4f207f56771b7d6a548 /src/desktop-style.cpp
parentfix calculating the blur radius, use the new API (diff)
downloadinkscape-8bcf2a4496c29740e8be987758eaa01a8a7d5a55.tar.gz
inkscape-8bcf2a4496c29740e8be987758eaa01a8a7d5a55.zip
factor in object's matrix expansion when querying blur radius
(bzr r1842)
Diffstat (limited to 'src/desktop-style.cpp')
-rw-r--r--src/desktop-style.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/desktop-style.cpp b/src/desktop-style.cpp
index 7dbbfd5e8..4f5ab982e 100644
--- a/src/desktop-style.cpp
+++ b/src/desktop-style.cpp
@@ -1033,6 +1033,8 @@ objects_query_blur (GSList *objects, SPStyle *style_res)
SPStyle *style = SP_OBJECT_STYLE (obj);
if (!style) continue;
+ NR::Matrix i2d = sp_item_i2d_affine (SP_ITEM(obj));
+
items ++;
//if object has a filter
@@ -1045,8 +1047,8 @@ objects_query_blur (GSList *objects, SPStyle *style_res)
if(SP_IS_GAUSSIANBLUR(primitive)) {
SPGaussianBlur * spblur = SP_GAUSSIANBLUR(primitive);
float num = spblur->stdDeviation.getNumber();
- blur_sum += num;
- if (blur_prev != -1 && num != blur_prev)
+ blur_sum += num * NR::expansion(i2d);
+ if (blur_prev != -1 && fabs (num - blur_prev) > 1e-2) // rather low tolerance because difference in blur radii is much harder to notice than e.g. difference in sizes
same_blur = false;
blur_prev = num;
//TODO: deal with opt number, for the moment it's not necessary to the ui.