Code

Cmake: Improve Gtkmm dependency checking, add new files to CMakeLists.txts, remove...
[inkscape.git] / src / desktop-events.cpp
index d2b21294c6bd419d12f3cd441171cb598d2f9639..e151f0ac918936057a552e5b83b149d1f9b6ba91 100644 (file)
@@ -142,19 +142,13 @@ 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;
-                Inkscape::SnappedPoint snappoint = m.guideSnap(event_dt, normal);
-                event_dt = snappoint.getPoint();
-
+                SnapManager &m = desktop->namedview->snap_manager;
+                m.setup(desktop);
+                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);
-
-                if (snappoint.getSnapped()) {
-                    desktop->snapindicator->set_new_snappoint(snappoint);
-                } else {
-                    desktop->snapindicator->remove_snappoint();
-                }
+                desktop->setPosition (event_dt);                
             }
             break;
     case GDK_BUTTON_RELEASE:
@@ -163,8 +157,9 @@ 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;
-                event_dt = m.guideSnap(event_dt, normal).getPoint();
+                SnapManager &m = desktop->namedview->snap_manager;
+                m.setup(desktop);
+                m.guideSnap(event_dt, normal);
                                 
                 dragging = false;
                 gtk_object_destroy(GTK_OBJECT(guide));
@@ -245,21 +240,15 @@ 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;
-                Inkscape::SnappedPoint snappoint = m.guideSnap(motion_dt, guide->normal_to_line);
-                motion_dt = snappoint.getPoint();
-
+                SnapManager &m = desktop->namedview->snap_manager;
+                m.setup(desktop);
+                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);
                 desktop->setPosition (motion_dt);
 
-                if (snappoint.getSnapped()) {
-                    desktop->snapindicator->set_new_snappoint(snappoint);
-                } else {
-                    desktop->snapindicator->remove_snappoint();
-                }
-
                 ret = TRUE;
             }
             break;
@@ -270,8 +259,9 @@ 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;
-                    event_dt = m.guideSnap(event_dt, guide->normal_to_line).getPoint();
+                    SnapManager &m = desktop->namedview->snap_manager;
+                    m.setup(desktop);
+                    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);