diff options
| author | Diederik van Lierop <mailat-signdiedenrezidotnl> | 2010-05-21 21:46:07 +0000 |
|---|---|---|
| committer | Diederik van Lierop <mailat-signdiedenrezidotnl> | 2010-05-21 21:46:07 +0000 |
| commit | 6e91f64f6479045c9d2fd7702879b73d5988faa2 (patch) | |
| tree | 839b0b991345d107e20b1b83811d156d81b1d219 /src/selection.cpp | |
| parent | Translations. inkscape.pot and French translation update. (diff) | |
| download | inkscape-6e91f64f6479045c9d2fd7702879b73d5988faa2.tar.gz inkscape-6e91f64f6479045c9d2fd7702879b73d5988faa2.zip | |
- "Snap nodes or handles" button now also includes smooth nodes
- Improved snap tooltips
(bzr r9440)
Diffstat (limited to 'src/selection.cpp')
| -rw-r--r-- | src/selection.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/selection.cpp b/src/selection.cpp index 1e14591fa..96c66e0c5 100644 --- a/src/selection.cpp +++ b/src/selection.cpp @@ -424,14 +424,15 @@ boost::optional<Geom::Point> Selection::center() const { } /** - * Compute the list of points in the selection that are to be considered for snapping. + * Compute the list of points in the selection that are to be considered for snapping from. */ std::vector<Inkscape::SnapCandidatePoint> Selection::getSnapPoints(SnapPreferences const *snapprefs) const { GSList const *items = const_cast<Selection *>(this)->itemList(); SnapPreferences snapprefs_dummy = *snapprefs; // create a local copy of the snapping prefs snapprefs_dummy.setIncludeItemCenter(false); // locally disable snapping to the item center - + snapprefs_dummy.setSnapToItemNode(true); // consider any type of nodes as a snap source + snapprefs_dummy.setSnapSmoothNodes(true); // i.e. disregard the smooth / cusp node preference std::vector<Inkscape::SnapCandidatePoint> p; for (GSList const *iter = items; iter != NULL; iter = iter->next) { SPItem *this_item = SP_ITEM(iter->data); @@ -446,13 +447,18 @@ std::vector<Inkscape::SnapCandidatePoint> Selection::getSnapPoints(SnapPreferenc return p; } - +// TODO: both getSnapPoints and getSnapPointsConvexHull are called, subsequently. Can we do this more efficient? +// Why do we need to include the transformation center in one case and not the other? std::vector<Inkscape::SnapCandidatePoint> Selection::getSnapPointsConvexHull(SnapPreferences const *snapprefs) const { GSList const *items = const_cast<Selection *>(this)->itemList(); + SnapPreferences snapprefs_dummy = *snapprefs; // create a local copy of the snapping prefs + snapprefs_dummy.setSnapToItemNode(true); // consider any type of nodes as a snap source + snapprefs_dummy.setSnapSmoothNodes(true); // i.e. disregard the smooth / cusp node preference + std::vector<Inkscape::SnapCandidatePoint> p; for (GSList const *iter = items; iter != NULL; iter = iter->next) { - sp_item_snappoints(SP_ITEM(iter->data), p, snapprefs); + sp_item_snappoints(SP_ITEM(iter->data), p, &snapprefs_dummy); } std::vector<Inkscape::SnapCandidatePoint> pHull; |
