Code

Filter effects dialog:
[inkscape.git] / src / snapper.h
index 33a15bd04887d500e4a16c0dea0eb4bb30850a8f..25e345305e7e4a2bf0e199745a0fa7f2181dbc3e 100644 (file)
@@ -44,7 +44,13 @@ public:
     bool getSnapTo(PointType t) const;
     ::NR::Coord getDistance() const;
 
-    bool willSnapSomething() const;
+    /**
+    *  \return true if this Snapper will snap at least one kind of point.
+    */
+    virtual bool ThisSnapperMightSnap() const {return (_enabled && _snap_to != 0);} // will likely be overridden by derived classes
+
+
+    void setEnabled(bool s);
 
     SnappedPoint freeSnap(PointType t,
                           NR::Point const &p,
@@ -90,6 +96,8 @@ public:
                                  std::list<SPItem const *> const &it) const;
 protected:
     SPNamedView const *_named_view;
+    int _snap_to; ///< bitmap of point types that we will snap to
+    bool _enabled; ///< true if this snapper is enabled, otherwise false
     
 private:
 
@@ -120,7 +128,6 @@ private:
                                             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 
 };
 
 }