summaryrefslogtreecommitdiffstats
path: root/src/gradient-drag.cpp
diff options
context:
space:
mode:
authorDiederik van Lierop <mailat-signdiedenrezidotnl>2010-02-14 13:13:56 +0000
committerDiederik van Lierop <mailat-signdiedenrezidotnl>2010-02-14 13:13:56 +0000
commit972a1ed27c674b8d10a304db226d84b5ccf4b1d4 (patch)
treefe1f08642b53b42a42e630ab08cba94ed6966c8e /src/gradient-drag.cpp
parentExtensions. New black and white color extension. (diff)
downloadinkscape-972a1ed27c674b8d10a304db226d84b5ccf4b1d4.tar.gz
inkscape-972a1ed27c674b8d10a304db226d84b5ccf4b1d4.zip
Implement snapping of gradient stops
(bzr r9090)
Diffstat (limited to 'src/gradient-drag.cpp')
-rw-r--r--src/gradient-drag.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gradient-drag.cpp b/src/gradient-drag.cpp
index 5be435a64..0b9068b37 100644
--- a/src/gradient-drag.cpp
+++ b/src/gradient-drag.cpp
@@ -807,6 +807,12 @@ gr_knot_moved_midpoint_handler(SPKnot */*knot*/, Geom::Point const &ppointer, gu
p = snap_vector_midpoint (p, low_lim, high_lim, snap_fraction);
} else {
p = snap_vector_midpoint (p, low_lim, high_lim, 0);
+ if (!(state & GDK_SHIFT_MASK)) {
+ SPDesktop *desktop = dragger->parent->desktop;
+ SnapManager &m = desktop->namedview->snap_manager;
+ Inkscape::Snapper::ConstraintLine cl(low_lim, high_lim - low_lim);
+ m.constrainedSnapReturnByRef(p, Inkscape::SNAPSOURCE_OTHER_HANDLE, cl);
+ }
}
Geom::Point displacement = p - dragger->point;