diff options
| author | bulia byak <buliabyak@gmail.com> | 2006-10-23 01:49:44 +0000 |
|---|---|---|
| committer | buliabyak <buliabyak@users.sourceforge.net> | 2006-10-23 01:49:44 +0000 |
| commit | 8bcf2a4496c29740e8be987758eaa01a8a7d5a55 (patch) | |
| tree | a581234b9fc0bfadce23f4f207f56771b7d6a548 /src/desktop-style.cpp | |
| parent | fix calculating the blur radius, use the new API (diff) | |
| download | inkscape-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.cpp | 6 |
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. |
