X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fobject-snapper.h;h=6bde3dd391a531fd7fc75bea43b0df780e67903d;hb=42382dfb4164b919ffcdf03766da9f8be4e43b42;hp=f3b54ed08f00e3b32ee6508bb83f251a198933bb;hpb=75bbef79b0ac9fed0049660182ff6ef9e96d1a73;p=inkscape.git diff --git a/src/object-snapper.h b/src/object-snapper.h index f3b54ed08..6bde3dd39 100644 --- a/src/object-snapper.h +++ b/src/object-snapper.h @@ -33,12 +33,6 @@ public: ObjectSnapper(SnapManager *sm, Geom::Coord const d); ~ObjectSnapper(); - enum DimensionToSnap { - GUIDE_TRANSL_SNAP_X, // For snapping a vertical guide (normal in the X-direction) to objects, - GUIDE_TRANSL_SNAP_Y, // For snapping a horizontal guide (normal in the Y-direction) to objects - ANGLED_GUIDE_TRANSL_SNAP, // For snapping an angled guide, while translating it accross the desktop - TRANSL_SNAP_XY}; // All other cases; for snapping to objects, other than guides - void guideFreeSnap(SnappedConstraints &sc, Geom::Point const &p, Geom::Point const &guide_normal) const; @@ -63,7 +57,8 @@ public: Inkscape::SnapCandidatePoint const &p, Geom::OptRect const &bbox_to_snap, SnapConstraint const &c, - std::vector const *it) const; + std::vector const *it, + std::vector *unselected_nodes) const; private: //store some lists of candidates, points and paths, so we don't have to rebuild them for each point we want to snap @@ -75,13 +70,14 @@ private: std::vector const *it, bool const &first_point, Geom::Rect const &bbox_to_snap, - DimensionToSnap snap_dim, bool const _clip_or_mask, Geom::Matrix const additional_affine) const; void _snapNodes(SnappedConstraints &sc, - Inkscape::SnapCandidatePoint const &p, - std::vector *unselected_nodes) const; // in desktop coordinates + Inkscape::SnapCandidatePoint const &p, // in desktop coordinates + std::vector *unselected_nodes, + SnapConstraint const &c = SnapConstraint(), + Geom::Point const &p_proj_on_constraint = Geom::Point()) const; void _snapTranslatingGuide(SnappedConstraints &sc, Geom::Point const &p, @@ -97,12 +93,14 @@ private: void _snapPathsConstrained(SnappedConstraints &sc, Inkscape::SnapCandidatePoint const &p, // in desktop coordinates - SnapConstraint const &c) const; + SnapConstraint const &c, + Geom::Point const &p_proj_on_constraint) const; bool isUnselectedNode(Geom::Point const &point, std::vector const *unselected_nodes) const; - void _collectPaths(Inkscape::SnapCandidatePoint const &p, - bool const &first_point) const; + void _collectPaths(Geom::Point p, + Inkscape::SnapSourceType const source_type, + bool const &first_point) const; void _clear_paths() const; Geom::PathVector* _getBorderPathv() const;