summaryrefslogtreecommitdiffstats
path: root/src/display/canvas-grid.cpp
diff options
context:
space:
mode:
authorDiederik van Lierop <mail@diedenrezi.nl>2007-12-08 21:18:49 +0000
committerdvlierop2 <dvlierop2@users.sourceforge.net>2007-12-08 21:18:49 +0000
commit60310d81f6d2ab4b7e919a07097e95d187c3273f (patch)
tree0e907f212c69edb1674514bb28555dacd5fb746b /src/display/canvas-grid.cpp
parentcorrected a typo and added a check for modevia name definition. fall back on ... (diff)
downloadinkscape-60310d81f6d2ab4b7e919a07097e95d187c3273f.tar.gz
inkscape-60310d81f6d2ab4b7e919a07097e95d187c3273f.zip
Snap to axonometric grid lines
(bzr r4194)
Diffstat (limited to 'src/display/canvas-grid.cpp')
-rw-r--r--src/display/canvas-grid.cpp9
1 files changed, 7 insertions, 2 deletions
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;