diff options
| author | Tavmjong Bah <tavmjong@free.fr> | 2019-10-04 10:59:53 +0000 |
|---|---|---|
| committer | Tavmjong Bah <tavmjong@free.fr> | 2019-10-04 10:59:53 +0000 |
| commit | b92592ab9ee056f0d1dc60727524d6f07f152f2d (patch) | |
| tree | 03ae49c74a1622e8b14ce3ca2dbe92afbdf9f48c /src/display/drawing-pattern.cpp | |
| parent | Add minor comments to file. (diff) | |
| download | inkscape-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.cpp | 9 |
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 ) |
