diff options
| author | Diederik van Lierop <mail@diedenrezi.nl> | 2007-08-28 20:07:38 +0000 |
|---|---|---|
| committer | dvlierop2 <dvlierop2@users.sourceforge.net> | 2007-08-28 20:07:38 +0000 |
| commit | 73d24d066094549193e1ceda7daa244e5c0dc1e8 (patch) | |
| tree | af1cad39ed909961d1fd2f22c27651f3c6bc0b1d /src/object-snapper.h | |
| parent | remove debug and example LPE files from POTFILES.in (diff) | |
| download | inkscape-73d24d066094549193e1ceda7daa244e5c0dc1e8.tar.gz inkscape-73d24d066094549193e1ceda7daa244e5c0dc1e8.zip | |
Implement snapping of guides while dragging them, and snap TO item centers (we only had snapping FROM item centers so far)
(bzr r3603)
Diffstat (limited to 'src/object-snapper.h')
| -rw-r--r-- | src/object-snapper.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/object-snapper.h b/src/object-snapper.h index a0d5f0b65..ad4cfc649 100644 --- a/src/object-snapper.h +++ b/src/object-snapper.h @@ -24,9 +24,12 @@ namespace Inkscape class ObjectSnapper : public Snapper { + public: ObjectSnapper(SPNamedView const *nv, NR::Coord const d); + enum DimensionToSnap {SNAP_X, SNAP_Y, SNAP_XY}; + void setSnapToItemNode(bool s) { _snap_to_itemnode = s; } @@ -59,10 +62,21 @@ public: return _snap_to_bboxpath; } + void setIncludeItemCenter(bool s) { + _include_item_center = s; + } + + bool getIncludeItemCenter() const { + return _include_item_center; + } + void setStrictSnapping(bool enabled) { _strict_snapping = enabled; } + SnappedPoint guideSnap(NR::Point const &p, + DimensionToSnap const snap_dim) const; + bool ThisSnapperMightSnap() const; private: @@ -78,11 +92,13 @@ private: void _findCandidates(std::list<SPItem*>& c, SPObject* r, std::list<SPItem const *> const &it, - NR::Point const &p) const; + NR::Point const &p, + DimensionToSnap const snap_dim) const; void _snapNodes(Inkscape::Snapper::PointType const &t, Inkscape::SnappedPoint &s, NR::Point const &p, + DimensionToSnap const snap_dim, std::list<SPItem*> const &cand) const; void _snapPaths(Inkscape::Snapper::PointType const &t, @@ -100,6 +116,7 @@ private: //snap bbox corners to nodes, or nodes to bboxes. //(snapping to grids and guides is not affected by this) bool _strict_snapping; + bool _include_item_center; }; } |
