diff options
| author | Jabier Arraiza Cenoz <jabier.arraiza@marker.es> | 2016-10-04 15:32:38 +0000 |
|---|---|---|
| committer | jabiertxof <info@marker.es> | 2016-10-04 15:32:38 +0000 |
| commit | 5a0f38c94489c344e66b0a4441668ea02e3361d8 (patch) | |
| tree | 47cb1b2c79ee67d558a89646fa88ac7760f11da4 | |
| parent | Fix merge bugs (diff) | |
| download | inkscape-5a0f38c94489c344e66b0a4441668ea02e3361d8.tar.gz inkscape-5a0f38c94489c344e66b0a4441668ea02e3361d8.zip | |
Fix scaling bug
(bzr r15017.1.37)
| -rw-r--r-- | src/live_effects/lpe-measure-line.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/live_effects/lpe-measure-line.cpp b/src/live_effects/lpe-measure-line.cpp index 6e77931b0..57e67ab3a 100644 --- a/src/live_effects/lpe-measure-line.cpp +++ b/src/live_effects/lpe-measure-line.cpp @@ -541,6 +541,9 @@ LPEMeasureLine::doBeforeEffect (SPLPEItem const* lpeitem) SPPath *sp_path = dynamic_cast<SPPath *>(splpeitem); if (sp_path) { Geom::PathVector pathvector = sp_path->get_original_curve()->get_pathvector(); + SPDocument * doc = SP_ACTIVE_DOCUMENT; + Geom::Affine affinetransform = i2anc_affine(SP_OBJECT(lpeitem), SP_OBJECT(doc->getRoot())); + pathvector *= affinetransform; if (arrows_outside) { createArrowMarker((Glib::ustring)"ArrowDINout-start"); createArrowMarker((Glib::ustring)"ArrowDINout-end"); @@ -618,9 +621,8 @@ LPEMeasureLine::doBeforeEffect (SPLPEItem const* lpeitem) } else { pos = pos - Point::polar(angle_cross, (position + text_top_bottom) - fontsize/2.5); } - if (!scale_insensitive) { - Geom::Affine affinetransform = i2anc_affine(SP_OBJECT(lpeitem), SP_OBJECT(desktop->doc()->getRoot())); - length *= (affinetransform.expansionX() + affinetransform.expansionY()) / 2.0; + if (scale_insensitive) { + length *= (affinetransform.inverse().expansionX() + affinetransform.inverse().expansionY()) / 2.0; } createTextLabel(pos, length, angle, remove); bool overflow = false; |
