diff options
| author | jtx <javier.arraiza@marker.es> | 2015-08-28 10:32:00 +0000 |
|---|---|---|
| committer | jtx <javier.arraiza@marker.es> | 2015-08-28 10:32:00 +0000 |
| commit | 8ceb1ada94fa58656a3a40bef7c7d1b8232d5a09 (patch) | |
| tree | fd213d83706b38a3570a8dca6982019b514cf1f4 /src | |
| parent | Add lock angle to transform by two points LPE (diff) | |
| download | inkscape-8ceb1ada94fa58656a3a40bef7c7d1b8232d5a09.tar.gz inkscape-8ceb1ada94fa58656a3a40bef7c7d1b8232d5a09.zip | |
Improve elastic mode in transform by two points LPE
(bzr r14329)
Diffstat (limited to 'src')
| -rw-r--r-- | src/live_effects/lpe-transform_2pts.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/live_effects/lpe-transform_2pts.cpp b/src/live_effects/lpe-transform_2pts.cpp index 83c24dc0c..79ffd74de 100644 --- a/src/live_effects/lpe-transform_2pts.cpp +++ b/src/live_effects/lpe-transform_2pts.cpp @@ -340,7 +340,11 @@ LPETransform2Pts::doEffect_pwd2 (Geom::Piecewise<Geom::D2<Geom::SBasis> > const if(elastic) { Geom::Angle original_angle = original.angle(); m *= Geom::Rotate(-original_angle); - m *= Geom::Scale(sca, 1.0); + if(sca > 1){ + m *= Geom::Scale(sca, 1.0); + } else { + m *= Geom::Scale(sca, 1.0-((1.0-sca)/2.0)); + } m *= Geom::Rotate(transformed.angle()); helper *= m; m *= Geom::Translate((Geom::Point)start - helper.initialPoint()); |
