diff options
| author | Diederik van Lierop <mail@diedenrezi.nl> | 2009-01-25 20:02:13 +0000 |
|---|---|---|
| committer | dvlierop2 <dvlierop2@users.sourceforge.net> | 2009-01-25 20:02:13 +0000 |
| commit | a3d2dbecd77fca3b2757039e329238a99676a950 (patch) | |
| tree | 15eb12dad98c33f2bdee0e1a1b40681d38797b12 /src/snapped-curve.cpp | |
| parent | Display the snap source indicator only when snapping is enabled (diff) | |
| download | inkscape-a3d2dbecd77fca3b2757039e329238a99676a950.tar.gz inkscape-a3d2dbecd77fca3b2757039e329238a99676a950.zip | |
Remove some SP_ACTIVE_DESKTOP() calls
(bzr r7174)
Diffstat (limited to 'src/snapped-curve.cpp')
| -rw-r--r-- | src/snapped-curve.cpp | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/snapped-curve.cpp b/src/snapped-curve.cpp index 50bc83648..20d7aea33 100644 --- a/src/snapped-curve.cpp +++ b/src/snapped-curve.cpp @@ -14,10 +14,6 @@ #include <2geom/path-intersection.h> #include <libnr/nr-convert2geom.h> -// These two are needed for SP_ACTIVE_DESKTOP; this is a dirty hack -#include "desktop.h" -#include "inkscape.h" - Inkscape::SnappedCurve::SnappedCurve(Geom::Point const &snapped_point, Geom::Coord const &snapped_distance, Geom::Coord const &snapped_tolerance, bool const &always_snap, bool const &fully_constrained, Geom::Curve const *curve) { _distance = snapped_distance; @@ -50,7 +46,7 @@ Inkscape::SnappedCurve::~SnappedCurve() { } -Inkscape::SnappedPoint Inkscape::SnappedCurve::intersect(SnappedCurve const &curve, Geom::Point const &p) const +Inkscape::SnappedPoint Inkscape::SnappedCurve::intersect(SnappedCurve const &curve, Geom::Point const &p, Geom::Matrix dt2doc) const { // Calculate the intersections of two curves, which are both within snapping range, and // return only the closest intersection @@ -76,10 +72,9 @@ Inkscape::SnappedPoint Inkscape::SnappedCurve::intersect(SnappedCurve const &cur bool const use_this_as_primary = _distance < curve.getSnapDistance(); Inkscape::SnappedCurve const *primaryC = use_this_as_primary ? this : &curve; Inkscape::SnappedCurve const *secondaryC = use_this_as_primary ? &curve : this; - // The intersection should in fact be returned in desktop coordinates, but for this - // we need a desktop: this is a dirty hack - SPDesktop const *desktop = SP_ACTIVE_DESKTOP; - best_p = desktop->dt2doc(best_p); + + // The intersection should in fact be returned in desktop coordinates + best_p = best_p * dt2doc; Geom::Coord primaryDist = use_this_as_primary ? Geom::L2(best_p - this->getPoint()) : Geom::L2(best_p - curve.getPoint()); Geom::Coord secondaryDist = use_this_as_primary ? Geom::L2(best_p - curve.getPoint()) : Geom::L2(best_p - this->getPoint()); @@ -110,7 +105,7 @@ bool getClosestCurve(std::list<Inkscape::SnappedCurve> const &list, Inkscape::Sn } // search for the closest intersection of two snapped curves, which are both member of the same collection -bool getClosestIntersectionCS(std::list<Inkscape::SnappedCurve> const &list, Geom::Point const &p, Inkscape::SnappedPoint &result) +bool getClosestIntersectionCS(std::list<Inkscape::SnappedCurve> const &list, Geom::Point const &p, Inkscape::SnappedPoint &result, Geom::Matrix dt2doc) { bool success = false; @@ -118,7 +113,7 @@ bool getClosestIntersectionCS(std::list<Inkscape::SnappedCurve> const &list, Geo std::list<Inkscape::SnappedCurve>::const_iterator j = i; j++; for (; j != list.end(); j++) { - Inkscape::SnappedPoint sp = (*i).intersect(*j, p); + Inkscape::SnappedPoint sp = (*i).intersect(*j, p, dt2doc); if (sp.getAtIntersection()) { // if it's the first point bool const c1 = !success; |
