summaryrefslogtreecommitdiffstats
path: root/src/object-snapper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/object-snapper.cpp')
-rw-r--r--src/object-snapper.cpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/object-snapper.cpp b/src/object-snapper.cpp
index 1944f7ffa..389930b57 100644
--- a/src/object-snapper.cpp
+++ b/src/object-snapper.cpp
@@ -147,7 +147,7 @@ void Inkscape::ObjectSnapper::_findCandidates(SPObject* parent,
item->i2doc_affine() * additional_affine * _snapmanager->getDesktop()->doc2dt(),
true);
} else {
- item->invoke_bbox( bbox_of_item, item->i2d_affine(), true);
+ item->invoke_bbox( bbox_of_item, item->i2dt_affine(), true);
}
if (bbox_of_item) {
// See if the item is within range
@@ -287,7 +287,7 @@ void Inkscape::ObjectSnapper::_snapNodes(SnappedConstraints &sc,
for (std::vector<SnapCandidatePoint>::const_iterator k = _points_to_snap_to->begin(); k != _points_to_snap_to->end(); k++) {
if (_allowSourceToSnapToTarget(p.getSourceType(), (*k).getTargetType(), strict_snapping)) {
Geom::Point target_pt = (*k).getPoint();
- Geom::Coord dist = NR_HUGE;
+ Geom::Coord dist = Geom::infinity();
if (!c.isUndefined()) {
// We're snapping to nodes along a constraint only, so find out if this node
// is at the constraint, while allowing for a small margin
@@ -406,7 +406,7 @@ void Inkscape::ObjectSnapper::_collectPaths(Geom::Point /*p*/,
Inkscape::Text::Layout const *layout = te_get_layout((SPItem *) root_item);
if (layout != NULL && layout->outputExists()) {
Geom::PathVector *pv = new Geom::PathVector();
- pv->push_back(layout->baseline() * root_item->i2d_affine() * (*i).additional_affine * _snapmanager->getDesktop()->doc2dt());
+ pv->push_back(layout->baseline() * root_item->i2dt_affine() * (*i).additional_affine * _snapmanager->getDesktop()->doc2dt());
_paths_to_snap_to->push_back(Inkscape::SnapCandidatePath(pv, SNAPTARGET_TEXT_BASELINE, Geom::OptRect()));
}
}
@@ -432,7 +432,7 @@ void Inkscape::ObjectSnapper::_collectPaths(Geom::Point /*p*/,
// Geom::PathVector *pv = pathvector_for_curve(root_item, curve, true, true, Geom::identity(), (*i).additional_affine);
Geom::PathVector *pv = new Geom::PathVector(curve->get_pathvector());
- (*pv) *= root_item->i2d_affine() * (*i).additional_affine * _snapmanager->getDesktop()->doc2dt(); // (_edit_transform * _i2d_transform);
+ (*pv) *= root_item->i2dt_affine() * (*i).additional_affine * _snapmanager->getDesktop()->doc2dt(); // (_edit_transform * _i2d_transform);
_paths_to_snap_to->push_back(Inkscape::SnapCandidatePath(pv, SNAPTARGET_PATH, Geom::OptRect())); // Perhaps for speed, get a reference to the Geom::pathvector, and store the transformation besides it.
curve->unref();
@@ -483,9 +483,15 @@ void Inkscape::ObjectSnapper::_snapPaths(SnappedConstraints &sc,
* manually when applicable.
* */
if (node_tool_active) {
- SPCurve *curve = curve_for_item(SP_ITEM(selected_path));
+ // TODO fix the function to be const correct:
+ SPCurve *curve = curve_for_item(const_cast<SPPath*>(selected_path));
if (curve) {
- Geom::PathVector *pathv = pathvector_for_curve(SP_ITEM(selected_path), curve, true, true, Geom::identity(), Geom::identity()); // We will get our own copy of the path, which must be freed at some point
+ Geom::PathVector *pathv = pathvector_for_curve(const_cast<SPPath*>(selected_path),
+ curve,
+ true,
+ true,
+ Geom::identity(),
+ Geom::identity()); // We will get our own copy of the path, which must be freed at some point
_paths_to_snap_to->push_back(Inkscape::SnapCandidatePath(pathv, SNAPTARGET_PATH, Geom::OptRect(), true));
curve->unref();
}