diff options
| author | Jabier Arraiza Cenoz <jabier.arraiza@marker.es> | 2017-05-12 17:09:47 +0000 |
|---|---|---|
| committer | jabiertxof <info@marker.es> | 2017-05-12 17:09:47 +0000 |
| commit | f9d2f22497a59cc551a43f3c669ef02263d99a3b (patch) | |
| tree | 0bb5d10686bc197ff17622c7b2fa9f73d1b21099 /src | |
| parent | Inkview: Fix translation of help output as well as encoding on Windows (diff) | |
| download | inkscape-f9d2f22497a59cc551a43f3c669ef02263d99a3b.tar.gz inkscape-f9d2f22497a59cc551a43f3c669ef02263d99a3b.zip | |
Fix a bug pointed by suv in IRC about simple mode of rotate copies with origin position
(bzr r15689)
Diffstat (limited to 'src')
| -rw-r--r-- | src/live_effects/lpe-copy_rotate.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/live_effects/lpe-copy_rotate.cpp b/src/live_effects/lpe-copy_rotate.cpp index b54368b4e..f8be0f2a5 100644 --- a/src/live_effects/lpe-copy_rotate.cpp +++ b/src/live_effects/lpe-copy_rotate.cpp @@ -365,7 +365,7 @@ LPECopyRotate::doBeforeEffect (SPLPEItem const* lpeitem) rotation_angle.param_set_value(360.0/(double)num_copies); } - if ((method == RM_KALEIDOSCOPE || method == RM_FUSE) && rotation_angle * num_copies > 360.1 && rotation_angle > 0) { + if ((method == RM_KALEIDOSCOPE || method == RM_FUSE) && rotation_angle * num_copies > 360.1 && rotation_angle > 0 && copies_to_360) { num_copies.param_set_value(floor(360/rotation_angle)); } if ((method == RM_KALEIDOSCOPE || method == RM_FUSE) && mirror_copies && copies_to_360) { @@ -657,6 +657,10 @@ LPECopyRotate::doEffect_path_post (Geom::PathVector const & path_in) } } } else { + t = pre * Geom::Rotate(-Geom::rad_from_deg(starting_angle)) * r * rot * Geom::Rotate(Geom::rad_from_deg(starting_angle)) * Geom::Translate(origin); + if(mirror_copies && i%2 != 0) { + t = pre * Geom::Rotate(Geom::rad_from_deg(-starting_angle-rotation_angle)) * r * rot * Geom::Rotate(-Geom::rad_from_deg(starting_angle)) * Geom::Translate(origin); + } output_pv = path_in * t; output.insert(output.end(), output_pv.begin(), output_pv.end()); } |
