diff options
| author | Krzysztof Kosi??ski <tweenk.pl@gmail.com> | 2010-11-25 20:51:17 +0000 |
|---|---|---|
| committer | Krzysztof KosiĆski <tweenk.pl@gmail.com> | 2010-11-25 20:51:17 +0000 |
| commit | 0bd9f7e209d522dbcebe0449a91397fdd9e38977 (patch) | |
| tree | 834c7d02456658b57625ab68cc28f7854a5a85dc /src/snap.h | |
| parent | Fix handling of x and y attributes of patterns (diff) | |
| parent | Fix ruler redraw issue on GTK 2.22 (diff) | |
| download | inkscape-0bd9f7e209d522dbcebe0449a91397fdd9e38977.tar.gz inkscape-0bd9f7e209d522dbcebe0449a91397fdd9e38977.zip | |
Merge from trunk
(bzr r9508.1.70)
Diffstat (limited to 'src/snap.h')
| -rw-r--r-- | src/snap.h | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/snap.h b/src/snap.h index c85c51963..c79bd308a 100644 --- a/src/snap.h +++ b/src/snap.h @@ -98,12 +98,17 @@ public: std::vector<Inkscape::SnapCandidatePoint> *unselected_nodes = NULL, SPGuide *guide_to_ignore = NULL); + void unSetup() {_rotation_center_source_items = NULL; + _guide_to_ignore = NULL; + _desktop = NULL; + _unselected_nodes = NULL;} + // If we're dragging a rotation center, then setRotationCenterSource() stores the parent item // of this rotation center; this reference is used to make sure that we do not snap a rotation // center to itself // NOTE: Must be called after calling setup(), not before! - void setRotationCenterSource(SPItem *item) {_rotation_center_source_item = item;} - SPItem* getRotationCenterSource() {return _rotation_center_source_item;} + void setRotationCenterSource(GSList *items) {_rotation_center_source_items = items;} + GSList const *getRotationCenterSource() {return _rotation_center_source_items;} // freeSnapReturnByRef() is preferred over freeSnap(), because it only returns a // point if snapping has occurred (by overwriting p); otherwise p is untouched @@ -130,8 +135,14 @@ public: Geom::OptRect const &bbox_to_snap = Geom::OptRect()) const; Inkscape::SnappedPoint multipleConstrainedSnaps(Inkscape::SnapCandidatePoint const &p, - std::vector<Inkscape::Snapper::SnapConstraint> const &constraints, - Geom::OptRect const &bbox_to_snap = Geom::OptRect()) const; + std::vector<Inkscape::Snapper::SnapConstraint> const &constraints, + bool dont_snap = false, + Geom::OptRect const &bbox_to_snap = Geom::OptRect()) const; + + Inkscape::SnappedPoint constrainedAngularSnap(Inkscape::SnapCandidatePoint const &p, + boost::optional<Geom::Point> const &p_ref, + Geom::Point const &o, + unsigned const snaps) const; void guideFreeSnap(Geom::Point &p, Geom::Point const &guide_normal, SPGuideDragType drag_type) const; void guideConstrainedSnap(Geom::Point &p, SPGuide const &guideline) const; @@ -195,7 +206,7 @@ protected: private: std::vector<SPItem const *> _items_to_ignore; ///< Items that should not be snapped to, for example the items that are currently being dragged. Set using the setup() method - SPItem *_rotation_center_source_item; // to avoid snapping a rotation center to itself + GSList *_rotation_center_source_items; // to avoid snapping a rotation center to itself SPGuide *_guide_to_ignore; ///< A guide that should not be snapped to, e.g. the guide that is currently being dragged SPDesktop const *_desktop; bool _snapindicator; ///< When true, an indicator will be drawn at the position that was being snapped to |
