diff options
| author | Diederik van Lierop <mail@diedenrezi.nl> | 2007-07-28 15:47:49 +0000 |
|---|---|---|
| committer | dvlierop2 <dvlierop2@users.sourceforge.net> | 2007-07-28 15:47:49 +0000 |
| commit | b79f13c5491131606a50a112a296e1011ddc91ee (patch) | |
| tree | 5959773e1d0206a0d6a4b240dd3f137507232861 /src/object-snapper.h | |
| parent | Set top-level groups as layers with the name of the PDF document (diff) | |
| download | inkscape-b79f13c5491131606a50a112a296e1011ddc91ee.tar.gz inkscape-b79f13c5491131606a50a112a296e1011ddc91ee.zip | |
1) Changes to snapping preferences dialog
2) Strict snapping implemented, i.e. bbox only to bbox and nodes only to paths/nodes
3) Renaming of some constants to improve readability
(bzr r3331)
Diffstat (limited to 'src/object-snapper.h')
| -rw-r--r-- | src/object-snapper.h | 75 |
1 files changed, 55 insertions, 20 deletions
diff --git a/src/object-snapper.h b/src/object-snapper.h index 47ac14545..6556b0a24 100644 --- a/src/object-snapper.h +++ b/src/object-snapper.h @@ -27,42 +27,77 @@ class ObjectSnapper : public Snapper public: ObjectSnapper(SPNamedView const *nv, NR::Coord const d); - void setSnapToNodes(bool s) { - _snap_to_nodes = s; + void setSnapToItemNodes(bool s) { + _snap_to_itemnodes = s; } - bool getSnapToNodes() const { - return _snap_to_nodes; + bool getSnapToItemNodes() const { + return _snap_to_itemnodes; } - void setSnapToPaths(bool s) { - _snap_to_paths = s; + void setSnapToItemPaths(bool s) { + _snap_to_itempaths = s; } - bool getSnapToPaths() const { - return _snap_to_paths; + bool getSnapToItemPaths() const { + return _snap_to_itempaths; + } + + void setSnapToBBoxNodes(bool s) { + _snap_to_bboxnodes = s; + } + + bool getSnapToBBoxNodes() const { + return _snap_to_bboxnodes; + } + + void setSnapToBBoxPaths(bool s) { + _snap_to_bboxpaths = s; + } + + bool getSnapToBBoxPaths() const { + return _snap_to_bboxpaths; + } + + bool setStrictSnapping(bool enabled) { + _strict_snapping = enabled; } bool ThisSnapperMightSnap() const; private: - SnappedPoint _doFreeSnap(NR::Point const &p, - std::list<SPItem const *> const &it) const; + SnappedPoint _doFreeSnap(Inkscape::Snapper::PointType const &t, + NR::Point const &p, + std::list<SPItem const *> const &it) const; - SnappedPoint _doConstrainedSnap(NR::Point const &p, - ConstraintLine const &c, - std::list<SPItem const *> const &it) const; + SnappedPoint _doConstrainedSnap(Inkscape::Snapper::PointType const &t, + NR::Point const &p, + ConstraintLine const &c, + std::list<SPItem const *> const &it) const; void _findCandidates(std::list<SPItem*>& c, - SPObject* r, - std::list<SPItem const *> const &it, - NR::Point const &p) const; + SPObject* r, + std::list<SPItem const *> const &it, + NR::Point const &p) const; + + void _snapNodes(Inkscape::Snapper::PointType const &t, + Inkscape::SnappedPoint &s, + NR::Point const &p, + std::list<SPItem*> const &cand) const; + + void _snapPaths(Inkscape::Snapper::PointType const &t, + Inkscape::SnappedPoint &s, + NR::Point const &p, + std::list<SPItem*> const &cand) const; - void _snapNodes(Inkscape::SnappedPoint &s, NR::Point const &p, std::list<SPItem*> const &cand) const; - void _snapPaths(Inkscape::SnappedPoint &s, NR::Point const &p, std::list<SPItem*> const &cand) const; + bool _snap_to_itemnodes; + bool _snap_to_itempaths; + bool _snap_to_bboxnodes; + bool _snap_to_bboxpaths; - bool _snap_to_nodes; - bool _snap_to_paths; + //if enabled, then bbox corners will only snap to bboxes, + //and nodes will only snap to nodes and paths + bool _strict_snapping; }; } |
