diff options
| author | Diederik van Lierop <mail@diedenrezi.nl> | 2008-05-12 18:58:04 +0000 |
|---|---|---|
| committer | dvlierop2 <dvlierop2@users.sourceforge.net> | 2008-05-12 18:58:04 +0000 |
| commit | de27d953d1c13d2e7563b43c2d959b1b02aee9c3 (patch) | |
| tree | efc8ed7eaba9a2b0ed87eaf14b797103bd8fa33a /src/desktop-events.cpp | |
| parent | fix typo (diff) | |
| download | inkscape-de27d953d1c13d2e7563b43c2d959b1b02aee9c3.tar.gz inkscape-de27d953d1c13d2e7563b43c2d959b1b02aee9c3.zip | |
Add a centralized check (i.e. in the snapper mechanism) whether we've snapped or not, instead of leaving it up to the various tools. This should prevent these tools from moving to (0,0) if they bluntly use the value returned by the snapping mechanism without checking whether snapping has really occured.
(bzr r5659)
Diffstat (limited to 'src/desktop-events.cpp')
| -rw-r--r-- | src/desktop-events.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/desktop-events.cpp b/src/desktop-events.cpp index 29734f459..e151f0ac9 100644 --- a/src/desktop-events.cpp +++ b/src/desktop-events.cpp @@ -144,9 +144,8 @@ static gint sp_dt_ruler_event(GtkWidget *widget, GdkEvent *event, SPDesktopWidge SnapManager &m = desktop->namedview->snap_manager; m.setup(desktop); - Inkscape::SnappedPoint snappoint = m.guideSnap(event_dt, normal); - event_dt = snappoint.getPoint(); - + m.guideSnap(event_dt, normal); + sp_guideline_set_position(SP_GUIDELINE(guide), event_dt.to_2geom()); desktop->set_coordinate_status(event_dt); desktop->setPosition (event_dt); @@ -160,7 +159,7 @@ static gint sp_dt_ruler_event(GtkWidget *widget, GdkEvent *event, SPDesktopWidge SnapManager &m = desktop->namedview->snap_manager; m.setup(desktop); - event_dt = m.guideSnap(event_dt, normal).getPoint(); + m.guideSnap(event_dt, normal); dragging = false; gtk_object_destroy(GTK_OBJECT(guide)); @@ -243,9 +242,8 @@ gint sp_dt_guide_event(SPCanvasItem *item, GdkEvent *event, gpointer data) // which are dragged off the ruler, are being snapped in sp_dt_ruler_event SnapManager &m = desktop->namedview->snap_manager; m.setup(desktop); - Inkscape::SnappedPoint snappoint = m.guideSnap(motion_dt, guide->normal_to_line); - motion_dt = snappoint.getPoint(); - + m.guideSnap(motion_dt, guide->normal_to_line); + sp_guide_moveto(*guide, motion_dt.to_2geom(), false); moved = true; desktop->set_coordinate_status(motion_dt); @@ -263,7 +261,7 @@ gint sp_dt_guide_event(SPCanvasItem *item, GdkEvent *event, gpointer data) SnapManager &m = desktop->namedview->snap_manager; m.setup(desktop); - event_dt = m.guideSnap(event_dt, guide->normal_to_line).getPoint(); + m.guideSnap(event_dt, guide->normal_to_line); if (sp_canvas_world_pt_inside_window(item->canvas, event_w)) { sp_guide_moveto(*guide, event_dt.to_2geom(), true); |
