summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
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;