summaryrefslogtreecommitdiffstats
path: root/src/display/drawing-pattern.cpp
diff options
context:
space:
mode:
authorTavmjong Bah <tavmjong@free.fr>2019-10-04 10:59:53 +0000
committerTavmjong Bah <tavmjong@free.fr>2019-10-04 10:59:53 +0000
commitb92592ab9ee056f0d1dc60727524d6f07f152f2d (patch)
tree03ae49c74a1622e8b14ce3ca2dbe92afbdf9f48c /src/display/drawing-pattern.cpp
parentAdd minor comments to file. (diff)
downloadinkscape-b92592ab9ee056f0d1dc60727524d6f07f152f2d.tar.gz
inkscape-b92592ab9ee056f0d1dc60727524d6f07f152f2d.zip
Fix rendering of hatches when hatching "overflow" tile.
Fix for https://gitlab.com/inkscape/inkscape/issues/309
Diffstat (limited to 'src/display/drawing-pattern.cpp')
-rw-r--r--src/display/drawing-pattern.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/display/drawing-pattern.cpp b/src/display/drawing-pattern.cpp
index 15bdc6139..90bad039b 100644
--- a/src/display/drawing-pattern.cpp
+++ b/src/display/drawing-pattern.cpp
@@ -111,15 +111,18 @@ DrawingPattern::renderPattern(float opacity) {
Geom::Affine idt = pattern_surface.drawingTransform().inverse();
Geom::Affine initial_transform = idt * _overflow_initial_transform * dt;
Geom::Affine step_transform = idt * _overflow_step_transform * dt;
-
dc.transform(initial_transform);
for (int i = 0; i < _overflow_steps; i++) {
- render(dc, one_tile, RENDER_DEFAULT);
+ // render() fails to handle transforms applied here when using cache.
+ render(dc, one_tile, RENDER_BYPASS_CACHE);
dc.transform(step_transform);
+ // cairo_surface_t* raw = pattern_surface.raw();
+ // std::string filename = "drawing-pattern" + std::to_string(i) + ".png";
+ // cairo_surface_write_to_png( pattern_surface.raw(), filename.c_str() );
}
}
- //Uncomment to debug
+ // Uncomment to debug
// cairo_surface_t* raw = pattern_surface.raw();
// std::cout << " cairo_surface (sp-pattern): "
// << " width: " << cairo_image_surface_get_width( raw )