diff --git a/src/snapper.h b/src/snapper.h
index 2f3c487d6b9bd672f4c987d154f07d6a201408f3..89e4f9d7288e8197d0ad536e6e798b35e95e85d9 100644 (file)
--- a/src/snapper.h
+++ b/src/snapper.h
bool willSnapSomething() const;
+ void setEnabled(bool s);
+
SnappedPoint freeSnap(PointType t,
NR::Point const &p,
SPItem const *it) const;
NR::Point const &p,
std::list<SPItem const *> const &it) const;
+ class ConstraintLine
+ {
+ public:
+ ConstraintLine(NR::Point const &d) : _has_point(false), _direction(d) {}
+ ConstraintLine(NR::Point const &p, NR::Point const &d) : _has_point(true), _point(p), _direction(d) {}
+
+ bool hasPoint() const {
+ return _has_point;
+ }
+
+ NR::Point getPoint() const {
+ return _point;
+ }
+
+ NR::Point getDirection() const {
+ return _direction;
+ }
+
+ private:
+
+ bool _has_point;
+ NR::Point _point;
+ NR::Point _direction;
+ };
+
SnappedPoint constrainedSnap(PointType t,
NR::Point const &p,
- NR::Point const &c,
+ ConstraintLine const &c,
SPItem const *it) const;
SnappedPoint constrainedSnap(PointType t,
NR::Point const &p,
- NR::Point const &c,
+ ConstraintLine const &c,
std::list<SPItem const *> const &it) const;
protected:
SPNamedView const *_named_view;
* \return Snapped point.
*/
virtual SnappedPoint _doConstrainedSnap(NR::Point const &p,
- NR::Point const &c,
+ ConstraintLine const &c,
std::list<SPItem const *> const &it) const = 0;
::NR::Coord _distance; ///< snap distance (desktop coordinates)
- int _snap_to; ///< bitmap of point types that we will snap to
+ int _snap_to; ///< bitmap of point types that we will snap to
+ bool _enabled; ///< true if this snapper is enabled, otherwise false
};
}