summaryrefslogtreecommitdiffstats
path: root/src/snap.cpp
diff options
context:
space:
mode:
authorDiederik van Lierop <mailat-signdiedenrezidotnl>2010-01-30 22:04:33 +0000
committerDiederik van Lierop <mailat-signdiedenrezidotnl>2010-01-30 22:04:33 +0000
commite52fb9fac3f1bbd924c0ca3b6b5e214a095d44af (patch)
tree05abc6241c288c5adf39733b914059e393f2fc75 /src/snap.cpp
parentReally fix btool build. (diff)
downloadinkscape-e52fb9fac3f1bbd924c0ca3b6b5e214a095d44af.tar.gz
inkscape-e52fb9fac3f1bbd924c0ca3b6b5e214a095d44af.zip
Finally introducing the pre-snap indicator
(bzr r9034)
Diffstat (limited to 'src/snap.cpp')
-rw-r--r--src/snap.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/snap.cpp b/src/snap.cpp
index 4727c7b3e..9ee575e22 100644
--- a/src/snap.cpp
+++ b/src/snap.cpp
@@ -214,6 +214,22 @@ Inkscape::SnappedPoint SnapManager::freeSnap(Inkscape::SnapCandidatePoint const
return findBestSnap(p, sc, false);
}
+void SnapManager::preSnap(Inkscape::SnapCandidatePoint const &p)
+{
+ // setup() must have been called before calling this method!
+
+ if (_snapindicator) {
+ _snapindicator = false; // prevent other methods from drawing a snap indicator; we want to control this here
+ Inkscape::SnappedPoint s = freeSnap(p);
+ if (s.getSnapped()) {
+ _desktop->snapindicator->set_new_snaptarget(s, true);
+ } else {
+ _desktop->snapindicator->remove_snaptarget();
+ }
+ _snapindicator = true; // restore the original value
+ }
+}
+
/**
* \brief Snap to the closest multiple of a grid pitch
*