diff options
| author | Jabiertxof <jtx@jtx> | 2016-12-26 09:27:48 +0000 |
|---|---|---|
| committer | Jabiertxof <jtx@jtx> | 2016-12-26 09:27:48 +0000 |
| commit | 92a72b1e7d998b2ef0ee213488e6257d3da25bb2 (patch) | |
| tree | e9cdab2262111aaad312d5bd441673985640cf6a /src/live_effects/lpe-mirror_symmetry.cpp | |
| parent | fixing things (diff) | |
| parent | Fixes bug #1652465 on mirror and copy rotate LPE. (diff) | |
| download | inkscape-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.cpp | 14 |
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; } |
