use non-zero filling rule when rasterising lines

This commit is contained in:
artemp 2013-10-29 12:26:33 +00:00
parent fe1c88f4a5
commit 3837c68762
3 changed files with 3 additions and 0 deletions

View file

@ -164,6 +164,7 @@ void agg_renderer<T>::process(line_symbolizer const& sym,
renderer_type ren(renb); renderer_type ren(renb);
ren.color(agg::rgba8_pre(r, g, b, int(a * stroke_.get_opacity()))); ren.color(agg::rgba8_pre(r, g, b, int(a * stroke_.get_opacity())));
agg::scanline_u8 sl; agg::scanline_u8 sl;
ras_ptr->filling_rule(agg::fill_non_zero);
agg::render_scanlines(*ras_ptr, sl, ren); agg::render_scanlines(*ras_ptr, sl, ren);
} }
} }

View file

@ -497,6 +497,7 @@ void cairo_renderer_base::process(line_symbolizer const& sym,
} }
} }
// stroke // stroke
context_.set_fill_rule(CAIRO_FILL_RULE_WINDING);
context_.stroke(); context_.stroke();
} }

View file

@ -106,6 +106,7 @@ void grid_renderer<T>::process(line_symbolizer const& sym,
// render id // render id
ren.color(color_type(feature.id())); ren.color(color_type(feature.id()));
ras_ptr->filling_rule(agg::fill_non_zero);
agg::render_scanlines(*ras_ptr, sl, ren); agg::render_scanlines(*ras_ptr, sl, ren);
// add feature properties to grid cache // add feature properties to grid cache