summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2016-10-04 15:32:38 +0000
committerjabiertxof <info@marker.es>2016-10-04 15:32:38 +0000
commit5a0f38c94489c344e66b0a4441668ea02e3361d8 (patch)
tree47cb1b2c79ee67d558a89646fa88ac7760f11da4
parentFix merge bugs (diff)
downloadinkscape-5a0f38c94489c344e66b0a4441668ea02e3361d8.tar.gz
inkscape-5a0f38c94489c344e66b0a4441668ea02e3361d8.zip
Fix scaling bug
(bzr r15017.1.37)
-rw-r--r--src/live_effects/lpe-measure-line.cpp8
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;