From 8e980bd257a274f7f32aca2e05f2a694675cf4ef Mon Sep 17 00:00:00 2001 From: Diederik van Lierop Date: Wed, 30 Apr 2008 07:32:12 +0000 Subject: - Major refactoring of snapping related code... - Enabling snap indicator for all remaining tools (bzr r5556) --- src/snap.h | 69 +++++++++++++++++++++++--------------------------------------- 1 file changed, 26 insertions(+), 43 deletions(-) (limited to 'src/snap.h') diff --git a/src/snap.h b/src/snap.h index 0de8902f4..f11b7c743 100644 --- a/src/snap.h +++ b/src/snap.h @@ -46,79 +46,58 @@ public: typedef std::list SnapperList; bool SomeSnapperMightSnap() const; - - Inkscape::SnappedPoint freeSnap(Inkscape::Snapper::PointType t, - NR::Point const &p, - SPItem const *it, - NR::Maybe point_not_to_snap_to = NR::Nothing()) const; - - Inkscape::SnappedPoint freeSnap(Inkscape::Snapper::PointType t, - NR::Point const &p, - SPItem const *it, - std::vector *unselected_nodes) const; - Inkscape::SnappedPoint freeSnap(Inkscape::Snapper::PointType t, + void setup(SPDesktop const *desktop_for_snapindicator = NULL, SPItem const *item_to_ignore = NULL, std::vector *unselected_nodes = NULL); + void setup(SPDesktop const *desktop_for_snapindicator, std::vector &items_to_ignore, std::vector *unselected_nodes = NULL); + + Inkscape::SnappedPoint freeSnap(Inkscape::Snapper::PointType point_type, NR::Point const &p, - bool const &first_point, - std::vector &points_to_snap, - std::vector const &it, - std::vector *unselected_nodes) const; + bool first_point = true, + NR::Maybe const &bbox_to_snap = NR::Nothing()) const; - Inkscape::SnappedPoint constrainedSnap(Inkscape::Snapper::PointType t, + Inkscape::SnappedPoint constrainedSnap(Inkscape::Snapper::PointType point_type, NR::Point const &p, - Inkscape::Snapper::ConstraintLine const &c, - SPItem const *it) const; - - Inkscape::SnappedPoint constrainedSnap(Inkscape::Snapper::PointType t, - NR::Point const &p, - bool const &first_point, - std::vector &points_to_snap, - Inkscape::Snapper::ConstraintLine const &c, - std::vector const &it) const; + Inkscape::Snapper::ConstraintLine const &constraint, + bool first_point = true, + NR::Maybe const &bbox_to_snap = NR::Nothing()) const; Inkscape::SnappedPoint guideSnap(NR::Point const &p, NR::Point const &guide_normal) const; - Inkscape::SnappedPoint freeSnapTranslation(Inkscape::Snapper::PointType t, + Inkscape::SnappedPoint freeSnapTranslation(Inkscape::Snapper::PointType point_type, std::vector const &p, - std::vector const &it, NR::Point const &tr) const; - Inkscape::SnappedPoint constrainedSnapTranslation(Inkscape::Snapper::PointType t, + Inkscape::SnappedPoint constrainedSnapTranslation(Inkscape::Snapper::PointType point_type, std::vector const &p, - std::vector const &it, - Inkscape::Snapper::ConstraintLine const &c, + Inkscape::Snapper::ConstraintLine const &constraint, NR::Point const &tr) const; - Inkscape::SnappedPoint freeSnapScale(Inkscape::Snapper::PointType t, + Inkscape::SnappedPoint freeSnapScale(Inkscape::Snapper::PointType point_type, std::vector const &p, - std::vector const &it, NR::scale const &s, NR::Point const &o) const; - Inkscape::SnappedPoint constrainedSnapScale(Inkscape::Snapper::PointType t, + Inkscape::SnappedPoint constrainedSnapScale(Inkscape::Snapper::PointType point_type, std::vector const &p, - std::vector const &it, NR::scale const &s, NR::Point const &o) const; - Inkscape::SnappedPoint constrainedSnapStretch(Inkscape::Snapper::PointType t, + Inkscape::SnappedPoint constrainedSnapStretch(Inkscape::Snapper::PointType point_type, std::vector const &p, - std::vector const &it, NR::Coord const &s, NR::Point const &o, NR::Dim2 d, bool uniform) const; - Inkscape::SnappedPoint freeSnapSkew(Inkscape::Snapper::PointType t, + Inkscape::SnappedPoint freeSnapSkew(Inkscape::Snapper::PointType point_type, std::vector const &p, - std::vector const &it, NR::Coord const &s, NR::Point const &o, NR::Dim2 d) const; - Inkscape::SnappedPoint guideSnap(NR::Point const &p, - Inkscape::ObjectSnapper::DimensionToSnap const snap_dim) const; + //Inkscape::SnappedPoint guideSnap(NR::Point const &p, + // Inkscape::ObjectSnapper::DimensionToSnap const snap_dim) const; Inkscape::GuideSnapper guide; ///< guide snapper @@ -136,8 +115,8 @@ public: void setSnapIntersectionGG(bool enabled) {_intersectionGG = enabled;} void setSnapIntersectionLS(bool enabled) {_intersectionLS = enabled;} - bool getSnapIntersectionGG() { return _intersectionGG;} - bool getSnapIntersectionLS() { return _intersectionLS;} + bool getSnapIntersectionGG() {return _intersectionGG;} + bool getSnapIntersectionLS() {return _intersectionLS;} void setIncludeItemCenter(bool enabled) { _include_item_center = enabled; @@ -178,9 +157,13 @@ private: bool _intersectionLS; bool _snap_enabled_globally; //Toggles ALL snapping + std::vector *_items_to_ignore; + SPItem const *_item_to_ignore; + SPDesktop const *_desktop_for_snapindicator; + std::vector *_unselected_nodes; + Inkscape::SnappedPoint _snapTransformed(Inkscape::Snapper::PointType type, std::vector const &points, - std::vector const &ignore, bool constrained, Inkscape::Snapper::ConstraintLine const &constraint, Transformation transformation_type, -- cgit v1.2.3