diff options
| author | Diederik van Lierop <mailat-signdiedenrezidotnl> | 2010-01-30 22:04:33 +0000 |
|---|---|---|
| committer | Diederik van Lierop <mailat-signdiedenrezidotnl> | 2010-01-30 22:04:33 +0000 |
| commit | e52fb9fac3f1bbd924c0ca3b6b5e214a095d44af (patch) | |
| tree | 05abc6241c288c5adf39733b914059e393f2fc75 /src/snap.cpp | |
| parent | Really fix btool build. (diff) | |
| download | inkscape-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.cpp | 16 |
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 * |
