summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2017-05-12 17:09:47 +0000
committerjabiertxof <info@marker.es>2017-05-12 17:09:47 +0000
commitf9d2f22497a59cc551a43f3c669ef02263d99a3b (patch)
tree0bb5d10686bc197ff17622c7b2fa9f73d1b21099 /src
parentInkview: Fix translation of help output as well as encoding on Windows (diff)
downloadinkscape-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.cpp6
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());
}