Code

add CairoRenderContext::renderPathVector
authorjohanengelen <johanengelen@users.sourceforge.net>
Thu, 26 Jun 2008 15:32:30 +0000 (15:32 +0000)
committerjohanengelen <johanengelen@users.sourceforge.net>
Thu, 26 Jun 2008 15:32:30 +0000 (15:32 +0000)
src/extension/internal/cairo-render-context.cpp
src/extension/internal/cairo-render-context.h

index 3ec94af63ab2829653b7f798d59de991d507b566..b19e4b31667919afbc456b3e7c5e620bf2d04c91 100644 (file)
@@ -34,6 +34,8 @@
 #include <libnr/nr-matrix-scale-ops.h>
 #include <libnr/nr-matrix-translate-ops.h>
 #include <libnr/nr-scale-matrix-ops.h>
+#include <libnr/n-art-bpath-2geom.h>
+#include <2geom/pathvector.h>
 
 #include <glib/gmem.h>
 
@@ -1244,6 +1246,17 @@ CairoRenderContext::_setStrokeStyle(SPStyle const *style, NRRect const *pbox)
     cairo_set_miter_limit(_cr, MAX(1, style->stroke_miterlimit.value));
 }
 
+bool
+CairoRenderContext::renderPathVector(Geom::PathVector const & pathv, SPStyle const *style, NRRect const *pbox)
+{
+    NArtBpath * bpath = BPath_from_2GeomPath (pathv);
+    const_NRBPath *bp;
+    bp->path = bpath;
+    bool retvalue = renderPath(bp, style, pbox);
+    g_free(bpath);
+    return retvalue;
+}
+
 bool
 CairoRenderContext::renderPath(const_NRBPath const *bpath, SPStyle const *style, NRRect const *pbox)
 {
index 642c6d90edeeabc8a2a176ec3f79e42f2027cf5b..68a615234ffcca6a54e9e5ce83e2bec5f67f783f 100644 (file)
@@ -23,6 +23,7 @@
 
 #include "libnr/nr-path.h"
 #include <libnr/nr-matrix-ops.h>
+#include <2geom/forward.h>
 
 #include "style.h"
 
@@ -136,6 +137,7 @@ public:
     void addClippingRect(double x, double y, double width, double height);
 
     /* Rendering methods */
+    bool renderPathVector(Geom::PathVector const & pathv, SPStyle const *style, NRRect const *pbox);
     bool renderPath(const_NRBPath const *bpath, SPStyle const *style, NRRect const *pbox);
     bool renderImage(unsigned char *px, unsigned int w, unsigned int h, unsigned int rs,
                      NR::Matrix const *image_transform, SPStyle const *style);