diff options
| author | Diederik van Lierop <mail@diedenrezi.nl> | 2012-01-31 21:05:36 +0000 |
|---|---|---|
| committer | Diederik van Lierop <mail@diedenrezi.nl> | 2012-01-31 21:05:36 +0000 |
| commit | d06dc443b19d8d6be61ea63461c65f62491bec6f (patch) | |
| tree | fce00854660d050b1e2955277e59decba29c5e84 /src/measure-context.cpp | |
| parent | Cherry-pick upstream GDL patch 31886 (2011-08-08). Avoid a crash when the pa... (diff) | |
| download | inkscape-d06dc443b19d8d6be61ea63461c65f62491bec6f.tar.gz inkscape-d06dc443b19d8d6be61ea63461c65f62491bec6f.zip | |
Implement tangential and perpendicular snapping in the measurement tool
(bzr r10924)
Diffstat (limited to 'src/measure-context.cpp')
| -rw-r--r-- | src/measure-context.cpp | 10 |
1 files 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(); } } |
