summaryrefslogtreecommitdiffstats
path: root/src/desktop-events.cpp
diff options
context:
space:
mode:
authorDiederik van Lierop <mail@diedenrezi.nl>2008-04-30 07:32:12 +0000
committerdvlierop2 <dvlierop2@users.sourceforge.net>2008-04-30 07:32:12 +0000
commit8e980bd257a274f7f32aca2e05f2a694675cf4ef (patch)
tree4b2b83970d640c900a3eadb0266e29a92f088dde /src/desktop-events.cpp
parentmerge redundant language-agnostics options into CPPFLAGS, split off linker flags (diff)
downloadinkscape-8e980bd257a274f7f32aca2e05f2a694675cf4ef.tar.gz
inkscape-8e980bd257a274f7f32aca2e05f2a694675cf4ef.zip
- Major refactoring of snapping related code...
- Enabling snap indicator for all remaining tools (bzr r5556)
Diffstat (limited to 'src/desktop-events.cpp')
-rw-r--r--src/desktop-events.cpp26
1 files changed, 9 insertions, 17 deletions
diff --git a/src/desktop-events.cpp b/src/desktop-events.cpp
index d2b21294c..29734f459 100644
--- a/src/desktop-events.cpp
+++ b/src/desktop-events.cpp
@@ -142,19 +142,14 @@ static gint sp_dt_ruler_event(GtkWidget *widget, GdkEvent *event, SPDesktopWidge
NR::Point const event_w(sp_canvas_window_to_world(dtw->canvas, event_win));
NR::Point event_dt(desktop->w2d(event_w));
- SnapManager const &m = desktop->namedview->snap_manager;
+ SnapManager &m = desktop->namedview->snap_manager;
+ m.setup(desktop);
Inkscape::SnappedPoint snappoint = m.guideSnap(event_dt, normal);
event_dt = snappoint.getPoint();
sp_guideline_set_position(SP_GUIDELINE(guide), event_dt.to_2geom());
desktop->set_coordinate_status(event_dt);
- desktop->setPosition (event_dt);
-
- if (snappoint.getSnapped()) {
- desktop->snapindicator->set_new_snappoint(snappoint);
- } else {
- desktop->snapindicator->remove_snappoint();
- }
+ desktop->setPosition (event_dt);
}
break;
case GDK_BUTTON_RELEASE:
@@ -163,7 +158,8 @@ static gint sp_dt_ruler_event(GtkWidget *widget, GdkEvent *event, SPDesktopWidge
NR::Point const event_w(sp_canvas_window_to_world(dtw->canvas, event_win));
NR::Point event_dt(desktop->w2d(event_w));
- SnapManager const &m = desktop->namedview->snap_manager;
+ SnapManager &m = desktop->namedview->snap_manager;
+ m.setup(desktop);
event_dt = m.guideSnap(event_dt, normal).getPoint();
dragging = false;
@@ -245,7 +241,8 @@ gint sp_dt_guide_event(SPCanvasItem *item, GdkEvent *event, gpointer data)
// This is for snapping while dragging existing guidelines. New guidelines,
// which are dragged off the ruler, are being snapped in sp_dt_ruler_event
- SnapManager const &m = desktop->namedview->snap_manager;
+ SnapManager &m = desktop->namedview->snap_manager;
+ m.setup(desktop);
Inkscape::SnappedPoint snappoint = m.guideSnap(motion_dt, guide->normal_to_line);
motion_dt = snappoint.getPoint();
@@ -254,12 +251,6 @@ gint sp_dt_guide_event(SPCanvasItem *item, GdkEvent *event, gpointer data)
desktop->set_coordinate_status(motion_dt);
desktop->setPosition (motion_dt);
- if (snappoint.getSnapped()) {
- desktop->snapindicator->set_new_snappoint(snappoint);
- } else {
- desktop->snapindicator->remove_snappoint();
- }
-
ret = TRUE;
}
break;
@@ -270,7 +261,8 @@ gint sp_dt_guide_event(SPCanvasItem *item, GdkEvent *event, gpointer data)
event->button.y);
NR::Point event_dt(desktop->w2d(event_w));
- SnapManager const &m = desktop->namedview->snap_manager;
+ SnapManager &m = desktop->namedview->snap_manager;
+ m.setup(desktop);
event_dt = m.guideSnap(event_dt, guide->normal_to_line).getPoint();
if (sp_canvas_world_pt_inside_window(item->canvas, event_w)) {