From ef2e57886d26946690d4f98db587fc6cd3ec615a Mon Sep 17 00:00:00 2001 From: Diederik van Lierop Date: Thu, 27 Dec 2007 19:45:52 +0000 Subject: Snapping a guide to nodes (while dragging it across the canvas) now also works for angled guides (bzr r4321) --- src/object-snapper.h | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'src/object-snapper.h') diff --git a/src/object-snapper.h b/src/object-snapper.h index c16b42580..a2d199c87 100644 --- a/src/object-snapper.h +++ b/src/object-snapper.h @@ -32,7 +32,12 @@ public: ObjectSnapper(SPNamedView const *nv, NR::Coord const d); ~ObjectSnapper(); - enum DimensionToSnap {SNAP_X, SNAP_Y, SNAP_XY}; + enum DimensionToSnap { + GUIDE_TRANSL_SNAP_X, // For snapping a vertical guide (normal in the X-direction) to objects, + GUIDE_TRANSL_SNAP_Y, // For snapping a horizontal guide (normal in the Y-direction) to objects + ANGLED_GUIDE_TRANSL_SNAP, // For snapping an angled guide, while translating it accross the desktop + ANGLED_GUIDE_ROT_SNAP, // For snapping an angled guide, while rotating it around some pivot point + TRANSL_SNAP_XY}; // All other cases; for snapping to objects, other than guides void setSnapToItemNode(bool s) { _snap_to_itemnode = s; @@ -80,7 +85,7 @@ public: void guideSnap(SnappedConstraints &sc, NR::Point const &p, - DimensionToSnap const snap_dim) const; + NR::Point const &guide_normal) const; bool ThisSnapperMightSnap() const; @@ -114,9 +119,13 @@ private: void _snapNodes(SnappedConstraints &sc, Inkscape::Snapper::PointType const &t, NR::Point const &p, - bool const &first_point, - DimensionToSnap const snap_dim) const; - + bool const &first_point) const; + + void _snapTranslatingGuideToNodes(SnappedConstraints &sc, + Inkscape::Snapper::PointType const &t, + NR::Point const &p, + NR::Point const &guide_normal) const; + void _collectNodes(Inkscape::Snapper::PointType const &t, bool const &first_point) const; -- cgit v1.2.3