From ab4b85bc1cf30c1c4dbe43ef4de05aa1ee8420e5 Mon Sep 17 00:00:00 2001 From: dvlierop2 Date: Thu, 2 Apr 2009 20:21:13 +0000 Subject: [PATCH] - Don't display the snap-source-indicator when we're about to rotate using the selector tool (because it won't snap when rotating!) - Use a smaller snap-source-indicator, which is visually more appealing --- src/display/snap-indicator.cpp | 2 +- src/seltrans.cpp | 18 +++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/display/snap-indicator.cpp b/src/display/snap-indicator.cpp index 901bee6ad..240fe9545 100644 --- a/src/display/snap-indicator.cpp +++ b/src/display/snap-indicator.cpp @@ -271,7 +271,7 @@ SnapIndicator::set_new_snapsource(std::pair const p) SPCanvasItem * canvasitem = sp_canvas_item_new( sp_desktop_tempgroup (_desktop), SP_TYPE_CTRL, "anchor", GTK_ANCHOR_CENTER, - "size", 10.0, + "size", 6.0, "stroked", TRUE, "stroke_color", 0xf000f0ff, "mode", SP_KNOT_MODE_XOR, diff --git a/src/seltrans.cpp b/src/seltrans.cpp index e6c53acfe..1ee7faff8 100644 --- a/src/seltrans.cpp +++ b/src/seltrans.cpp @@ -357,13 +357,17 @@ void Inkscape::SelTrans::grab(Geom::Point const &p, gdouble x, gdouble y, bool s } } - // Now either _bbox_points or _snap_points has a single element, the other one has zero..... or both have zero elements - g_assert((_bbox_points.size() + _snap_points.size()) < 2); - if (m.snapprefs.getSnapEnabledGlobally()) { - if (_bbox_points.size() == 1) { - _desktop->snapindicator->set_new_snapsource(_bbox_points.at(0)); - } else if (_snap_points.size() == 1){ - _desktop->snapindicator->set_new_snapsource(_snap_points.at(0)); + + // Optionally, show the snap source + if (!(_state == STATE_ROTATE && x != 0.5 && y != 0.5)) { // but not when we're draging a rotation handle, because that won't snap + // Now either _bbox_points or _snap_points has a single element, the other one has zero..... or both have zero elements + g_assert((_bbox_points.size() + _snap_points.size()) < 2); + if (m.snapprefs.getSnapEnabledGlobally()) { + if (_bbox_points.size() == 1) { + _desktop->snapindicator->set_new_snapsource(_bbox_points.at(0)); + } else if (_snap_points.size() == 1){ + _desktop->snapindicator->set_new_snapsource(_snap_points.at(0)); + } } } } -- 2.30.2