summaryrefslogtreecommitdiffstats
path: root/src/snap.cpp
diff options
context:
space:
mode:
authorDiederik van Lierop <mail@diedenrezi.nl>2007-11-05 21:15:27 +0000
committerdvlierop2 <dvlierop2@users.sourceforge.net>2007-11-05 21:15:27 +0000
commit7f8e2a6bf0391a4922e8ba306b44ce7ae9d8c505 (patch)
treee43c8810d733b3c6e88b9419d0ef38eed5a9542c /src/snap.cpp
parentpattern along path is not obsolete :) (diff)
downloadinkscape-7f8e2a6bf0391a4922e8ba306b44ce7ae9d8c505.tar.gz
inkscape-7f8e2a6bf0391a4922e8ba306b44ce7ae9d8c505.zip
Improve the user interaction for snapping of bounding boxes, and add an new tab in document properties for detailed snapping options
(bzr r4033)
Diffstat (limited to 'src/snap.cpp')
-rw-r--r--src/snap.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/snap.cpp b/src/snap.cpp
index 1a05bdaac..d5ec91f86 100644
--- a/src/snap.cpp
+++ b/src/snap.cpp
@@ -122,8 +122,8 @@ void SnapManager::setSnapModeBBox(bool enabled)
}
object.setSnapFrom(Inkscape::Snapper::SNAPPOINT_BBOX, enabled);
- object.setSnapToBBoxNode(enabled);
- object.setSnapToBBoxPath(enabled);
+ //object.setSnapToBBoxNode(enabled); // On second thought, these should be controlled
+ //object.setSnapToBBoxPath(enabled); // separately by the snapping prefs dialog
object.setStrictSnapping(true); //don't snap bboxes to nodes/paths and vice versa
}
@@ -430,18 +430,21 @@ std::pair<NR::Point, bool> SnapManager::_snapTransformed(
std::vector<NR::Point>::const_iterator j = transformed_points.begin();
+ // std::cout << std::endl;
+
for (std::vector<NR::Point>::const_iterator i = points.begin(); i != points.end(); i++) {
/* Snap it */
Inkscape::SnappedPoint const snapped = constrained ?
constrainedSnap(type, *j, i == points.begin(), transformed_points, constraint, ignore) : freeSnap(type, *j, i == points.begin(), transformed_points, ignore);
+ NR::Point result;
+ NR::Coord metric;
+
if (snapped.getDistance() < NR_HUGE) {
/* We snapped. Find the transformation that describes where the snapped point has
** ended up, and also the metric for this transformation.
*/
- NR::Point result;
- NR::Coord metric;
switch (transformation_type) {
case TRANSLATION:
result = snapped.getPoint() - *i;
@@ -488,9 +491,11 @@ std::pair<NR::Point, bool> SnapManager::_snapTransformed(
if ((metric < best_metric) || ((metric == best_metric) && snapped.getAtIntersection() == true)) {
best_transformation = result;
best_metric = metric;
- }
+ // std::cout << "SEL ";;
+ } //else { std::cout << " ";}
}
+ // std::cout << "P_orig = " << (*i) << " | metric = " << metric << " | distance = " << snapped.getDistance() << " | P_snap = " << snapped.getPoint() << std::endl;
j++;
}