From 60310d81f6d2ab4b7e919a07097e95d187c3273f Mon Sep 17 00:00:00 2001 From: Diederik van Lierop Date: Sat, 8 Dec 2007 21:18:49 +0000 Subject: Snap to axonometric grid lines (bzr r4194) --- src/display/canvas-grid.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/display/canvas-grid.cpp') diff --git a/src/display/canvas-grid.cpp b/src/display/canvas-grid.cpp index db4648ec0..183b299d1 100644 --- a/src/display/canvas-grid.cpp +++ b/src/display/canvas-grid.cpp @@ -886,10 +886,15 @@ CanvasXYGridSnapper::_getSnapLines(NR::Point const &p) const } NR::Coord rounded; + NR::Point point_on_line; + rounded = Inkscape::Util::round_to_upper_multiple_plus(p[i], scaled_spacing, grid->origin[i]); - s.push_back(std::make_pair(NR::Dim2(i), rounded)); + point_on_line = i ? NR::Point(0, rounded) : NR::Point(rounded, 0); + s.push_back(std::make_pair(component_vectors[i], point_on_line)); + rounded = Inkscape::Util::round_to_lower_multiple_plus(p[i], scaled_spacing, grid->origin[i]); - s.push_back(std::make_pair(NR::Dim2(i), rounded)); + point_on_line = i ? NR::Point(0, rounded) : NR::Point(rounded, 0); + s.push_back(std::make_pair(component_vectors[i], point_on_line)); } return s; -- cgit v1.2.3