diff options
| author | Johan B. C. Engelen <jbc.engelen@swissonline.ch> | 2008-03-02 22:01:12 +0000 |
|---|---|---|
| committer | johanengelen <johanengelen@users.sourceforge.net> | 2008-03-02 22:01:12 +0000 |
| commit | 017e93e3dae0be363c6b9caf71d68dc4d1055bc9 (patch) | |
| tree | 70d3afe3e23ab28effaa8f94c1c977e2a7c2aa11 /src/desktop-events.cpp | |
| parent | * [INTL: sk] (trunk) Updated Slovak translation (diff) | |
| download | inkscape-017e93e3dae0be363c6b9caf71d68dc4d1055bc9.tar.gz inkscape-017e93e3dae0be363c6b9caf71d68dc4d1055bc9.zip | |
remove flashing test indicator on pointparam.
remove some leftover code from point param code
remove test pointparam from LPEKnot
added SnapIndicator
added SnapIndicator to SPDesktop, and a call from guidesnapping to display a snapindicator when a guide is snapped.
fix canvas-temporary-item-list.cpp
(bzr r4931)
Diffstat (limited to 'src/desktop-events.cpp')
| -rw-r--r-- | src/desktop-events.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/desktop-events.cpp b/src/desktop-events.cpp index 1351d62f0..e115a744a 100644 --- a/src/desktop-events.cpp +++ b/src/desktop-events.cpp @@ -17,6 +17,7 @@ #include <map> #include <string> #include "display/guideline.h" +#include "display/snap-indicator.h" #include "helper/unit-menu.h" #include "helper/units.h" #include "desktop.h" @@ -142,11 +143,16 @@ static gint sp_dt_ruler_event(GtkWidget *widget, GdkEvent *event, SPDesktopWidge NR::Point event_dt(desktop->w2d(event_w)); SnapManager const &m = desktop->namedview->snap_manager; - event_dt = m.guideSnap(event_dt, normal).getPoint(); - + 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.getDistance() < NR_HUGE) { + desktop->snapindicator->set_new_snappoint(snappoint.getPoint().to_2geom()); + } } break; case GDK_BUTTON_RELEASE: @@ -238,12 +244,18 @@ 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; - motion_dt = m.guideSnap(motion_dt, guide->normal_to_line).getPoint(); - + Inkscape::SnappedPoint snappoint = m.guideSnap(motion_dt, guide->normal_to_line); + motion_dt = snappoint.getPoint(); + sp_guide_moveto(*guide, motion_dt.to_2geom(), false); moved = true; desktop->set_coordinate_status(motion_dt); desktop->setPosition (motion_dt); + + if (snappoint.getDistance() < NR_HUGE) { + desktop->snapindicator->set_new_snappoint(snappoint.getPoint().to_2geom()); + } + ret = TRUE; } break; |
