X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fline-snapper.h;h=7767fe2ea5a0f25a4fbc87313ca3399b086e9c4c;hb=3da8c9f095f6e1d434809a58940f93585c58ebf3;hp=5d93c858e59a19f6c16357f908c58f7b65913283;hpb=1397a686e882c774cfef2668f397b2c2c495df66;p=inkscape.git diff --git a/src/line-snapper.h b/src/line-snapper.h index 5d93c858e..7767fe2ea 100644 --- a/src/line-snapper.h +++ b/src/line-snapper.h @@ -19,30 +19,37 @@ namespace Inkscape class LineSnapper : public Snapper { public: - LineSnapper(SPNamedView const *nv, NR::Coord const d); + LineSnapper(SnapManager const *sm, Geom::Coord const d); + + void freeSnap(SnappedConstraints &sc, + Inkscape::Snapper::PointType const &t, + Geom::Point const &p, + bool const &first_point, + boost::optional const &bbox_to_snap, + std::vector const *it, + std::vector *unselected_nodes) const; + + void constrainedSnap(SnappedConstraints &sc, + Inkscape::Snapper::PointType const &t, + Geom::Point const &p, + bool const &first_point, + boost::optional const &bbox_to_snap, + ConstraintLine const &c, + std::vector const *it) const; protected: - typedef std::list > LineList; + typedef std::list > LineList; + //first point is a vector normal to the line + //second point is a point on the line private: - SnappedPoint _doFreeSnap(Inkscape::Snapper::PointType const &t, - NR::Point const &p, - bool const &first_point, - std::vector &points_to_snap, - std::list const &it) const; - - SnappedPoint _doConstrainedSnap(Inkscape::Snapper::PointType const &t, - NR::Point const &p, - bool const &first_point, - std::vector &points_to_snap, - ConstraintLine const &c, - std::list const &it) const; - /** * \param p Point that we are trying to snap. * \return List of lines that we should try snapping to. */ - virtual LineList _getSnapLines(NR::Point const &p) const = 0; + virtual LineList _getSnapLines(Geom::Point const &p) const = 0; + + virtual void _addSnappedLine(SnappedConstraints &sc, Geom::Point const snapped_point, Geom::Coord const snapped_distance, Geom::Point const normal_to_line, Geom::Point const point_on_line) const = 0; }; }