summaryrefslogtreecommitdiffstats
path: root/src/object-snapper.cpp
diff options
context:
space:
mode:
authorDiederik van Lierop <mail@diedenrezi.nl>2009-01-31 13:51:52 +0000
committerdvlierop2 <dvlierop2@users.sourceforge.net>2009-01-31 13:51:52 +0000
commit07d32ff9bade493f2549e8e90c32d11ba12b199d (patch)
treee23af978f1919af10ac80d315f90d8323bb2d0ee /src/object-snapper.cpp
parent* [INTL:pl] Further small updates to the Polish translation (diff)
downloadinkscape-07d32ff9bade493f2549e8e90c32d11ba12b199d.tar.gz
inkscape-07d32ff9bade493f2549e8e90c32d11ba12b199d.zip
Store the snapper tolerances in the snap-preferences instead of in each snapper individualy. This way we don't have to update all snappers when the namedview has been updated (and we can get rid of the _update_snap_distances() call)
(bzr r7208)
Diffstat (limited to 'src/object-snapper.cpp')
-rw-r--r--src/object-snapper.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/object-snapper.cpp b/src/object-snapper.cpp
index f5021e208..7b4a989a8 100644
--- a/src/object-snapper.cpp
+++ b/src/object-snapper.cpp
@@ -64,6 +64,21 @@ Inkscape::ObjectSnapper::~ObjectSnapper()
}
/**
+ * \return Snap tolerance (desktop coordinates); depends on current zoom so that it's always the same in screen pixels
+ */
+Geom::Coord Inkscape::ObjectSnapper::getSnapperTolerance() const
+{
+ SPDesktop const *dt = _snapmanager->getDesktop();
+ double const zoom = dt ? dt->current_zoom() : 1;
+ return _snapmanager->snapprefs.getObjectTolerance() / zoom;
+}
+
+bool Inkscape::ObjectSnapper::getSnapperAlwaysSnap() const
+{
+ return _snapmanager->snapprefs.getObjectTolerance() == 10000; //TODO: Replace this threshold of 10000 by a constant; see also tolerance-slider.cpp
+}
+
+/**
* Find all items within snapping range.
* \param parent Pointer to the document's root, or to a clipped path or mask object
* \param it List of items to ignore