ensure the line clipping box is padded using scale_factor as well - closes #1767

This commit is contained in:
Dane Springmeyer 2013-03-19 16:15:50 -07:00
parent 25591cfcbf
commit 4e6b6d5a62
4 changed files with 6 additions and 1 deletions

View file

@ -136,6 +136,7 @@ void agg_renderer<T>::process(line_pattern_symbolizer const& sym,
double half_stroke = (*mark)->width()/2.0;
if (half_stroke > 1)
padding *= half_stroke;
padding *= scale_factor_;
clipping_extent.pad(padding);
}

View file

@ -101,9 +101,11 @@ void agg_renderer<T>::process(line_symbolizer const& sym,
padding *= half_stroke;
if (std::fabs(sym.offset()) > 0)
padding *= std::fabs(sym.offset()) * 1.2;
padding *= scale_factor_;
clipping_extent.pad(padding);
// debugging
//box2d<double> inverse(x0 + padding, y0 + padding, x1 - padding , y1 - padding);
//box2d<double> inverse = query_extent_;
//inverse.pad(-padding);
//draw_geo_extent(inverse,mapnik::color("red"));
}

View file

@ -481,6 +481,7 @@ void cairo_renderer_base::process(line_symbolizer const& sym,
padding *= half_stroke;
if (std::fabs(sym.offset()) > 0)
padding *= std::fabs(sym.offset()) * 1.2;
padding *= scale_factor_;
clipping_extent.pad(padding);
}
vertex_converter<box2d<double>, cairo_context, line_symbolizer,

View file

@ -80,6 +80,7 @@ void grid_renderer<T>::process(line_symbolizer const& sym,
padding *= half_stroke;
if (std::fabs(sym.offset()) > 0)
padding *= std::fabs(sym.offset()) * 1.2;
padding *= scale_factor_;
clipping_extent.pad(padding);
}