Code

remove rudimental general-purpose clipart, add some Inkscape-related graphics, update...
[inkscape.git] / src / livarot / Path.h
index 5b1df6294446aeb9dc8ab9bd3be1b8179b6fe88a..8d7fd0a7e92167931076d53682fd9598bc3bafbf 100644 (file)
@@ -13,6 +13,9 @@
 #include "LivarotDefs.h"
 #include "livarot/livarot-forward.h"
 #include "libnr/nr-point.h"
+#include <libnr/nr-rect-l.h>
+
+struct SPStyle;
 
 /*
  * the Path class: a structure to hold path description and their polyline approximation (not kept in sync)
@@ -108,6 +111,7 @@ public:
   // transforms a description in a polyline (for stroking and filling)
   // treshhold is the max length^2 (sort of)
   void Convert (double treshhold);
+  void Convert(NRRectL *area, double treshhold);
   void ConvertEvenLines (double treshhold);    // decomposes line segments too, for later recomposition
   // same function for use when you want to later recompose the curves from the polyline
   void ConvertWithBackData (double treshhold);
@@ -119,6 +123,7 @@ public:
   int AddPoint ( NR::Point const &iPt, int ip, double it, bool mvto = false);
   int AddForcedPoint ( NR::Point const &iPt);  // add point
   int AddForcedPoint ( NR::Point const &iPt, int ip, double it);
+  int ReplacePoint(NR::Point const &iPt);  // replace point
 
   // transform in a polygon (in a graph, in fact; a subsequent call to ConvertToShape is needed)
   //  - fills the polyline; justAdd=true doesn't reset the Shape dest, but simply adds the polyline into it
@@ -167,6 +172,8 @@ public:
   // dash the polyline
   // the result is stored in the polyline, so you lose the original. make a copy before if needed
   void  DashPolyline(float head,float tail,float body,int nbD,float *dashs,bool stPlain,float stOffset);
+
+  void  DashPolylineFromStyle(SPStyle *style, float scale, float min_len);
   
   //utilitaire pour inkscape
   void  LoadArtBPath(void *iP,NR::Matrix const &tr,bool doTransformation);