summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2016-12-28 16:46:37 +0000
committerjabiertxof <info@marker.es>2016-12-28 16:46:37 +0000
commit50fca17129701b09a9049e4469ca39d0c06c15a7 (patch)
treedf95ed75dde51a6a7e5de25cdceaeb45281e27fc /src
parentFixing scale (diff)
downloadinkscape-50fca17129701b09a9049e4469ca39d0c06c15a7.tar.gz
inkscape-50fca17129701b09a9049e4469ca39d0c06c15a7.zip
Fixing scale
(bzr r15356.2.3)
Diffstat (limited to 'src')
-rw-r--r--src/live_effects/lpe-clone-original.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/live_effects/lpe-clone-original.cpp b/src/live_effects/lpe-clone-original.cpp
index 04afe00e2..4ba752b85 100644
--- a/src/live_effects/lpe-clone-original.cpp
+++ b/src/live_effects/lpe-clone-original.cpp
@@ -87,7 +87,11 @@ LPECloneOriginal::cloneAttrbutes(SPObject *origin, SPObject *dest, bool live, co
if (scale != 100.0) {
double scale_affine = scale/100.0;
Geom::Affine scale = Geom::Affine(Geom::Scale(scale_affine));
- c_pv *= Geom::Translate((*orig_bbox).corner(0)).inverse() * scale * Geom::Translate((*orig_bbox).corner(0));
+ if (preserve_position) {
+ c_pv *= Geom::Translate(Geom::Point(boundingbox_X.min(), boundingbox_Y.min()) - (*orig_bbox).corner(0)).inverse() * scale * Geom::Translate(Geom::Point(boundingbox_X.min(), boundingbox_Y.min()) - (*orig_bbox).corner(0));
+ } else {
+ c_pv *= Geom::Translate((*orig_bbox).corner(0)).inverse() * scale * Geom::Translate((*orig_bbox).corner(0));
+ }
}
}
c->set_pathvector(c_pv);