summaryrefslogtreecommitdiffstats
path: root/src/object-snapper.h
diff options
context:
space:
mode:
authorDiederik van Lierop <mail@diedenrezi.nl>2007-08-28 20:07:38 +0000
committerdvlierop2 <dvlierop2@users.sourceforge.net>2007-08-28 20:07:38 +0000
commit73d24d066094549193e1ceda7daa244e5c0dc1e8 (patch)
treeaf1cad39ed909961d1fd2f22c27651f3c6bc0b1d /src/object-snapper.h
parentremove debug and example LPE files from POTFILES.in (diff)
downloadinkscape-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.h19
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;
};
}