summaryrefslogtreecommitdiffstats
path: root/src/extension/internal/cairo-renderer.cpp
diff options
context:
space:
mode:
authorTavmjong Bah <tavmjong@free.fr>2014-10-14 18:38:41 +0000
committertavmjong-free <tavmjong@free.fr>2014-10-14 18:38:41 +0000
commite056d0fa49ed5b9369c0c16c1c4df0c671b88b68 (patch)
tree1788e981f21d9b8ae27a3fb23cd7ee68c98e27f9 /src/extension/internal/cairo-renderer.cpp
parentImplement marker 'orient' attribute value 'auto-start-reverse'. (diff)
parentMerged hatch pdf and png export code (diff)
downloadinkscape-e056d0fa49ed5b9369c0c16c1c4df0c671b88b68.tar.gz
inkscape-e056d0fa49ed5b9369c0c16c1c4df0c671b88b68.zip
Merge hatch rendering code from Tomasz Boczkowski.
(bzr r13614)
Diffstat (limited to 'src/extension/internal/cairo-renderer.cpp')
-rw-r--r--src/extension/internal/cairo-renderer.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/extension/internal/cairo-renderer.cpp b/src/extension/internal/cairo-renderer.cpp
index 0fec68c06..367bfadbf 100644
--- a/src/extension/internal/cairo-renderer.cpp
+++ b/src/extension/internal/cairo-renderer.cpp
@@ -50,6 +50,7 @@
#include "sp-use.h"
#include "sp-text.h"
#include "sp-flowtext.h"
+#include "sp-hatch-path.h"
#include "sp-image.h"
#include "sp-symbol.h"
#include "sp-pattern.h"
@@ -598,6 +599,21 @@ void CairoRenderer::renderItem(CairoRenderContext *ctx, SPItem *item)
ctx->popState();
}
+void CairoRenderer::renderHatchPath(CairoRenderContext *ctx, SPHatchPath const &hatchPath, unsigned key) {
+ ctx->pushState();
+ ctx->setStateForStyle(hatchPath.style);
+ ctx->transform(Geom::Translate(hatchPath.offset.computed, 0));
+
+ SPCurve *curve = hatchPath.calculateRenderCurve(key);
+ Geom::PathVector const & pathv =curve->get_pathvector();
+ if (!pathv.empty()) {
+ ctx->renderPathVector(pathv, hatchPath.style, Geom::OptRect());
+ }
+
+ curve->unref();
+ ctx->popState();
+}
+
bool
CairoRenderer::setupDocument(CairoRenderContext *ctx, SPDocument *doc, bool pageBoundingBox, float bleedmargin_px, SPItem *base)
{