summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorschwieni <mschwienbacher@gmail.com>2019-03-24 09:14:33 +0000
committerMarkus Schwienbacher <mschwienbacher@gmail.com>2019-03-25 17:15:50 +0000
commit3a1866ab31229a9adb417ff230add5ab6b9b9ddf (patch)
treed44f33bc8076a21c237c5544aebe6eab86495323 /src
parentlpe-pts2ellipse: added perspective circle from 4 points (diff)
downloadinkscape-3a1866ab31229a9adb417ff230add5ab6b9b9ddf.tar.gz
inkscape-3a1866ab31229a9adb417ff230add5ab6b9b9ddf.zip
lpe-pts2ellipse: added perspective circle from 4 points
improved tool-tips for better usability
Diffstat (limited to 'src')
-rw-r--r--src/live_effects/lpe-pts2ellipse.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/live_effects/lpe-pts2ellipse.cpp b/src/live_effects/lpe-pts2ellipse.cpp
index 0e972c68e..c657c18aa 100644
--- a/src/live_effects/lpe-pts2ellipse.cpp
+++ b/src/live_effects/lpe-pts2ellipse.cpp
@@ -726,6 +726,10 @@ int LPEPts2Ellipse::genPerspectiveEllipse(std::vector<Geom::Point> const &pts, G
path_out.push_back(path);
// 5) frames and axes
+ bool ccw_wind = false;
+ if (gen_perspective_frame.get_value() || draw_perspective_axes.get_value())
+ ccw_wind = is_ccw(pts);
+ const double ra = ccw_wind ? rot_angle : -rot_angle;
// draw frame?
if (gen_isometric_frame.get_value()) {
@@ -734,7 +738,7 @@ int LPEPts2Ellipse::genPerspectiveEllipse(std::vector<Geom::Point> const &pts, G
// draw perspective frame?
if (gen_perspective_frame.get_value()) {
- gen_perspective_frame_paths(path_out, rot_angle, projmatrix);
+ gen_perspective_frame_paths(path_out, ra, projmatrix);
}
// draw axes?
@@ -744,7 +748,7 @@ int LPEPts2Ellipse::genPerspectiveEllipse(std::vector<Geom::Point> const &pts, G
// draw perspective axes?
if (draw_perspective_axes.get_value()) {
- gen_perspective_axes_paths(path_out, rot_angle, projmatrix);
+ gen_perspective_axes_paths(path_out, ra, projmatrix);
}
return 0;