diff options
| author | Tavmjong Bah <tavmjong@free.fr> | 2014-10-14 18:38:41 +0000 |
|---|---|---|
| committer | tavmjong-free <tavmjong@free.fr> | 2014-10-14 18:38:41 +0000 |
| commit | e056d0fa49ed5b9369c0c16c1c4df0c671b88b68 (patch) | |
| tree | 1788e981f21d9b8ae27a3fb23cd7ee68c98e27f9 /src/extension/internal/cairo-renderer.cpp | |
| parent | Implement marker 'orient' attribute value 'auto-start-reverse'. (diff) | |
| parent | Merged hatch pdf and png export code (diff) | |
| download | inkscape-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.cpp | 16 |
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) { |
