summaryrefslogtreecommitdiffstats
path: root/src/object-snapper.h
diff options
context:
space:
mode:
authorDiederik van Lierop <mail@diedenrezi.nl>2007-07-28 15:47:49 +0000
committerdvlierop2 <dvlierop2@users.sourceforge.net>2007-07-28 15:47:49 +0000
commitb79f13c5491131606a50a112a296e1011ddc91ee (patch)
tree5959773e1d0206a0d6a4b240dd3f137507232861 /src/object-snapper.h
parentSet top-level groups as layers with the name of the PDF document (diff)
downloadinkscape-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.h75
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;
};
}