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/snap.cpp | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) (limited to 'src/snap.cpp') diff --git a/src/snap.cpp b/src/snap.cpp index b4e284271..c6fa3fc25 100644 --- a/src/snap.cpp +++ b/src/snap.cpp @@ -285,29 +285,16 @@ Inkscape::SnappedPoint SnapManager::constrainedSnap(Inkscape::Snapper::PointType } Inkscape::SnappedPoint SnapManager::guideSnap(NR::Point const &p, - NR::Point const &guide_normal) const + NR::Point const &guide_normal) const { - if (!object.ThisSnapperMightSnap()) { - return Inkscape::SnappedPoint(p, NR_HUGE); - } - // This method is used to snap a guide to nodes, while dragging the guide around - Inkscape::ObjectSnapper::DimensionToSnap snap_dim; - if (guide_normal == component_vectors[NR::Y]) { - snap_dim = Inkscape::ObjectSnapper::SNAP_Y; - } else if (guide_normal == component_vectors[NR::X]) { - snap_dim = Inkscape::ObjectSnapper::SNAP_X; - } else { - g_warning("WARNING: snapping of angled guides is not supported yet!"); - // this is because _snapnodes, called in object.guideSnap, cannot only handle - // vertical or horizontal lines for now.... - // Rotating an agled guide will require some additional code, as it would be great to - // have it rotate around a snapped point - snap_dim = Inkscape::ObjectSnapper::SNAP_XY; + + if (!(object.ThisSnapperMightSnap() && _snap_enabled_globally)) { + return Inkscape::SnappedPoint(p, NR_HUGE); } SnappedConstraints sc; - object.guideSnap(sc, p, snap_dim); + object.guideSnap(sc, p, guide_normal); return findBestSnap(p, sc, false); } -- cgit v1.2.3