diff options
| author | Jabier Arraiza Cenoz <jabier.arraiza@marker.es> | 2015-03-28 21:04:40 +0000 |
|---|---|---|
| committer | Jabiertxof <jtx@jtx.marker.es> | 2015-03-28 21:04:40 +0000 |
| commit | 2763fbcc2619a390e5f81c2887b1f8f312eb5e65 (patch) | |
| tree | 74e3539eaa07a3a632c6ca9a42a848d5c055392f /src | |
| parent | update to trunk (diff) | |
| download | inkscape-2763fbcc2619a390e5f81c2887b1f8f312eb5e65.tar.gz inkscape-2763fbcc2619a390e5f81c2887b1f8f312eb5e65.zip | |
Allow rotate copies whithout distorsion in kaleidoscope shapes
(bzr r13708.1.22)
Diffstat (limited to 'src')
| -rw-r--r-- | src/live_effects/lpe-copy_rotate.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/live_effects/lpe-copy_rotate.cpp b/src/live_effects/lpe-copy_rotate.cpp index 5474bfb70..2e87133b3 100644 --- a/src/live_effects/lpe-copy_rotate.cpp +++ b/src/live_effects/lpe-copy_rotate.cpp @@ -92,13 +92,10 @@ LPECopyRotate::doOnApply(SPLPEItem const* lpeitem) void LPECopyRotate::transform_multiply(Geom::Affine const& postmul, bool set) { - if(postmul->isRotation()){ - Geom::Point rot = (Geom::Rotate)postmul::vector(); - coord angle = rad_to_deg(atan2(rot)); - starting_angle.param_setValue(starting_angle + angle); - starting_angle.param_update_default(starting_angle + angle); - rotation_angle.param_setValue(rotation_angle + angle); - rotation_angle.param_update_default(rotation_angle + angle); + if(kaleidoscope){ + Geom::Coord angle = Geom::rad_to_deg(atan(-postmul[1]/postmul[0])); + angle += starting_angle; + starting_angle.param_set_value(angle); } // cycle through all parameters. Most parameters will not need transformation, but path and point params do. |
