From d06dc443b19d8d6be61ea63461c65f62491bec6f Mon Sep 17 00:00:00 2001 From: Diederik van Lierop Date: Tue, 31 Jan 2012 22:05:36 +0100 Subject: Implement tangential and perpendicular snapping in the measurement tool (bzr r10924) --- src/measure-context.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/measure-context.cpp b/src/measure-context.cpp index f98ff4de1..2143e35eb 100644 --- a/src/measure-context.cpp +++ b/src/measure-context.cpp @@ -214,7 +214,10 @@ static gint sp_measure_context_root_handler(SPEventContext *event_context, GdkEv SnapManager &m = desktop->namedview->snap_manager; m.setup(desktop); - m.preSnap(Inkscape::SnapCandidatePoint(motion_dt, Inkscape::SNAPSOURCE_OTHER_HANDLE)); + Inkscape::SnapCandidatePoint scp(motion_dt, Inkscape::SNAPSOURCE_OTHER_HANDLE); + scp.addOrigin(start_point); + + m.preSnap(scp); m.unSetup(); } } else { @@ -246,7 +249,10 @@ static gint sp_measure_context_root_handler(SPEventContext *event_context, GdkEv if (!(event->motion.state & GDK_SHIFT_MASK)) { SnapManager &m = desktop->namedview->snap_manager; m.setup(desktop); - m.freeSnapReturnByRef(end_point, Inkscape::SNAPSOURCE_OTHER_HANDLE); + Inkscape::SnapCandidatePoint scp(end_point, Inkscape::SNAPSOURCE_OTHER_HANDLE); + scp.addOrigin(start_point); + Inkscape::SnappedPoint sp = m.freeSnap(scp); + end_point = sp.getPoint(); m.unSetup(); } } -- cgit v1.2.3