summaryrefslogtreecommitdiffstats
path: root/src/live_effects/lpe-mirror_symmetry.cpp
diff options
context:
space:
mode:
authorJabiertxof <jtx@jtx>2016-12-26 09:27:48 +0000
committerJabiertxof <jtx@jtx>2016-12-26 09:27:48 +0000
commit92a72b1e7d998b2ef0ee213488e6257d3da25bb2 (patch)
treee9cdab2262111aaad312d5bd441673985640cf6a /src/live_effects/lpe-mirror_symmetry.cpp
parentfixing things (diff)
parentFixes bug #1652465 on mirror and copy rotate LPE. (diff)
downloadinkscape-92a72b1e7d998b2ef0ee213488e6257d3da25bb2.tar.gz
inkscape-92a72b1e7d998b2ef0ee213488e6257d3da25bb2.zip
Update to trunk
(bzr r15295.1.39)
Diffstat (limited to 'src/live_effects/lpe-mirror_symmetry.cpp')
-rw-r--r--src/live_effects/lpe-mirror_symmetry.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/live_effects/lpe-mirror_symmetry.cpp b/src/live_effects/lpe-mirror_symmetry.cpp
index 5464c2bad..bca3d5cc0 100644
--- a/src/live_effects/lpe-mirror_symmetry.cpp
+++ b/src/live_effects/lpe-mirror_symmetry.cpp
@@ -186,11 +186,14 @@ LPEMirrorSymmetry::doBeforeEffect (SPLPEItem const* lpeitem)
end_point.param_setValue(point_b, true);
previous_center = Geom::middle_point((Geom::Point)start_point, (Geom::Point)end_point);
center_point.param_setValue(previous_center, true);
+ return;
}
if ( mode == MT_X || mode == MT_Y ) {
- start_point.param_setValue(point_a, true);
- end_point.param_setValue(point_b, true);
- center_point.param_setValue(Geom::middle_point(point_a, point_b), true);
+ if (!are_near(previous_center, (Geom::Point)center_point, 0.01)) {
+ start_point.param_setValue(point_a, true);
+ end_point.param_setValue(point_b, true);
+ center_point.param_setValue(Geom::middle_point(point_a, point_b), true);
+ }
} else if ( mode == MT_FREE) {
if (are_near(previous_center, (Geom::Point)center_point, 0.01)) {
center_point.param_setValue(Geom::middle_point((Geom::Point)start_point, (Geom::Point)end_point), true);
@@ -207,7 +210,6 @@ LPEMirrorSymmetry::doBeforeEffect (SPLPEItem const* lpeitem)
Geom::Point ep = Geom::Point(document->getWidth().value("px")/2.0, document->getHeight().value("px")) * transform;
end_point.param_setValue(ep, true);
center_point.param_setValue(Geom::middle_point((Geom::Point)start_point, (Geom::Point)end_point), true);
- previous_center = center_point;
} else { //horizontal page
SPDocument * document = SP_ACTIVE_DOCUMENT;
Geom::Affine transform = i2anc_affine(SP_OBJECT(lpeitem), NULL).inverse();
@@ -216,10 +218,6 @@ LPEMirrorSymmetry::doBeforeEffect (SPLPEItem const* lpeitem)
Geom::Point ep = Geom::Point(document->getWidth().value("px"), document->getHeight().value("px")/2.0) * transform;
end_point.param_setValue(ep, true);
center_point.param_setValue(Geom::middle_point((Geom::Point)start_point, (Geom::Point)end_point), true);
- previous_center = center_point;
- }
- if (!are_near(previous_center, (Geom::Point)center_point, 0.01)) {
- center_point.param_setValue(Geom::middle_point((Geom::Point)start_point, (Geom::Point)end_point), true);
}
previous_center = center_point;
}