summaryrefslogtreecommitdiffstats
path: root/src/grid-snapper.cpp
diff options
context:
space:
mode:
authorJon A. Cruz <jon@joncruz.org>2006-06-10 05:32:30 +0000
committerjoncruz <joncruz@users.sourceforge.net>2006-06-10 05:32:30 +0000
commit2bb2555269b5a90d20f274370961469047b7194e (patch)
tree34fe1d78c5e0a04253431f8db288066f738d0640 /src/grid-snapper.cpp
parentfix malformed file (diff)
downloadinkscape-2bb2555269b5a90d20f274370961469047b7194e.tar.gz
inkscape-2bb2555269b5a90d20f274370961469047b7194e.zip
Applied patch 1503805
(bzr r1196)
Diffstat (limited to 'src/grid-snapper.cpp')
-rw-r--r--src/grid-snapper.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/grid-snapper.cpp b/src/grid-snapper.cpp
index 419dc4b82..5c94b9a97 100644
--- a/src/grid-snapper.cpp
+++ b/src/grid-snapper.cpp
@@ -13,6 +13,8 @@
*/
#include "sp-namedview.h"
+#include "inkscape.h"
+#include "desktop.h"
#include "display/canvas-grid.h"
/**
@@ -58,10 +60,16 @@ Inkscape::LineSnapper::LineList Inkscape::GridSnapper::_getSnapLines(NR::Point c
for (unsigned int i = 0; i < 2; ++i) {
/* This is to make sure we snap to only visible grid lines */
- double const scale = griditem->scaled[i] ? griditem->empspacing : 1;
+ double scaled_spacing = griditem->sw[i]; // this is spacing of visible lines if screen pixels
+
+ // convert screen pixels to px
+ // FIXME: after we switch to snapping dist in screen pixels, this will be unnecessary
+ if (SP_ACTIVE_DESKTOP) {
+ scaled_spacing /= SP_ACTIVE_DESKTOP->current_zoom();
+ }
NR::Coord const rounded = round_to_nearest_multiple_plus(p[i],
- _named_view->gridspacing[i] * scale,
+ scaled_spacing,
_named_view->gridorigin[i]);
s.push_back(std::make_pair(NR::Dim2(i), rounded));