From 3837c68762ba0aa21f9cddc17305f701403ce754 Mon Sep 17 00:00:00 2001 From: artemp Date: Tue, 29 Oct 2013 12:26:33 +0000 Subject: [PATCH] use non-zero filling rule when rasterising lines --- src/agg/process_line_symbolizer.cpp | 1 + src/cairo_renderer.cpp | 1 + src/grid/process_line_symbolizer.cpp | 1 + 3 files changed, 3 insertions(+) diff --git a/src/agg/process_line_symbolizer.cpp b/src/agg/process_line_symbolizer.cpp index 8f07f7866..826800d2c 100644 --- a/src/agg/process_line_symbolizer.cpp +++ b/src/agg/process_line_symbolizer.cpp @@ -164,6 +164,7 @@ void agg_renderer::process(line_symbolizer const& sym, renderer_type ren(renb); ren.color(agg::rgba8_pre(r, g, b, int(a * stroke_.get_opacity()))); agg::scanline_u8 sl; + ras_ptr->filling_rule(agg::fill_non_zero); agg::render_scanlines(*ras_ptr, sl, ren); } } diff --git a/src/cairo_renderer.cpp b/src/cairo_renderer.cpp index 74531d611..0ee72f077 100644 --- a/src/cairo_renderer.cpp +++ b/src/cairo_renderer.cpp @@ -497,6 +497,7 @@ void cairo_renderer_base::process(line_symbolizer const& sym, } } // stroke + context_.set_fill_rule(CAIRO_FILL_RULE_WINDING); context_.stroke(); } diff --git a/src/grid/process_line_symbolizer.cpp b/src/grid/process_line_symbolizer.cpp index 502a85c24..64eb9a005 100644 --- a/src/grid/process_line_symbolizer.cpp +++ b/src/grid/process_line_symbolizer.cpp @@ -106,6 +106,7 @@ void grid_renderer::process(line_symbolizer const& sym, // render id ren.color(color_type(feature.id())); + ras_ptr->filling_rule(agg::fill_non_zero); agg::render_scanlines(*ras_ptr, sl, ren); // add feature properties to grid cache