Code

Split SPCanvasItem and SPCanvasGroup to individual .h files. Removed forward header.
[inkscape.git] / src / display / canvas-grid.h
index 058f88ef8cb6655f33ac2a7556a962ed578ece8f..b8f313948e222fc3931c69f79cc3f01eeb69063d 100644 (file)
@@ -14,7 +14,7 @@
 #include <gtkmm/box.h>
 #include <gtkmm.h>
 
-#include "display/sp-canvas.h"
+#include "sp-canvas-item.h"
 #include "xml/repr.h"
 #include "ui/widget/color-picker.h"
 #include "ui/widget/scalar-unit.h"
@@ -26,7 +26,8 @@
 
 struct SPDesktop;
 struct SPNamedView;
-class Document;
+struct SPCanvasBuf;
+class SPDocument;
 
 namespace Inkscape {
 
@@ -73,8 +74,8 @@ public:
     static GridType     getGridTypeFromSVGName(const char * typestr);
     static GridType     getGridTypeFromName(const char * typestr);
 
-    static CanvasGrid* NewGrid(SPNamedView * nv, Inkscape::XML::Node * repr, Document *doc, GridType gridtype);
-    static void writeNewGridToRepr(Inkscape::XML::Node * repr, Document * doc, GridType gridtype);
+    static CanvasGrid* NewGrid(SPNamedView * nv, Inkscape::XML::Node * repr, SPDocument *doc, GridType gridtype);
+    static void writeNewGridToRepr(Inkscape::XML::Node * repr, SPDocument * doc, GridType gridtype);
 
     GridCanvasItem * createCanvasItem(SPDesktop * desktop);
 
@@ -94,7 +95,7 @@ public:
     SPUnit const* gridunit;
 
     Inkscape::XML::Node * repr;
-    Document *doc;
+    SPDocument *doc;
 
     Inkscape::Snapper* snapper;
 
@@ -104,7 +105,7 @@ public:
     bool isEnabled();
 
 protected:
-    CanvasGrid(SPNamedView * nv, Inkscape::XML::Node * in_repr, Document *in_doc, GridType type);
+    CanvasGrid(SPNamedView * nv, Inkscape::XML::Node * in_repr, SPDocument *in_doc, GridType type);
 
     virtual Gtk::Widget * newSpecificWidget() = 0;
 
@@ -125,7 +126,7 @@ private:
 
 class CanvasXYGrid : public CanvasGrid {
 public:
-    CanvasXYGrid(SPNamedView * nv, Inkscape::XML::Node * in_repr, Document * in_doc);
+    CanvasXYGrid(SPNamedView * nv, Inkscape::XML::Node * in_repr, SPDocument * in_doc);
     virtual ~CanvasXYGrid();
 
     void Update (Geom::Matrix const &affine, unsigned int flags);
@@ -166,8 +167,8 @@ public:
 
 private:
     LineList _getSnapLines(Geom::Point const &p) const;
-    void _addSnappedLine(SnappedConstraints &sc, Geom::Point const snapped_point, Geom::Coord const snapped_distance,  SnapSourceType const &source, Geom::Point const normal_to_line, const Geom::Point point_on_line) const;
-    void _addSnappedPoint(SnappedConstraints &sc, Geom::Point const snapped_point, Geom::Coord const snapped_distance, SnapSourceType const &source) const;
+    void _addSnappedLine(SnappedConstraints &sc, Geom::Point const snapped_point, Geom::Coord const snapped_distance,  SnapSourceType const &source, long source_num, Geom::Point const normal_to_line, const Geom::Point point_on_line) const;
+    void _addSnappedPoint(SnappedConstraints &sc, Geom::Point const snapped_point, Geom::Coord const snapped_distance, SnapSourceType const &source, long source_num, bool constrained_snap) const;
     CanvasXYGrid *grid;
 };