enforce default gamma function - improves upon #428, closes #512

This commit is contained in:
Dane Springmeyer 2010-02-09 17:28:17 +00:00
parent c3ea59c3c8
commit 2cd0b55e88
2 changed files with 10 additions and 1 deletions

View file

@ -14,6 +14,9 @@ For a complete change history, see the SVN log.
Mapnik Trunk
------------
- AGG Renderer - Enforced default gamma function on all symbolizers to ensure proper antialiasing
even when gamma is modified on the PolygonSymbolizer. (#512)
- Added ability to read pre 0.8.0 stylesheets, but prints a warning for deprecated syntax (r1592, #501)
- Rasterlite Plugin: Experimental support for Rasterlite, to practically use sqlite database with wavelet compressed rasters (#469)

View file

@ -190,7 +190,6 @@ void agg_renderer<T>::process(polygon_symbolizer const& sym,
renderer ren(renb);
ras_ptr->reset();
ras_ptr->gamma(agg::gamma_linear(0.0, sym.get_gamma()));
for (unsigned i=0;i<feature.num_geometries();++i)
@ -237,6 +236,8 @@ void agg_renderer<T>::process(building_symbolizer const& sym,
agg::scanline_u8 sl;
ras_ptr->reset();
ras_ptr->gamma(agg::gamma_linear());
double height = 0.7071 * sym.height(); // height in meters
for (unsigned i=0;i<feature.num_geometries();++i)
@ -343,6 +344,8 @@ void agg_renderer<T>::process(line_symbolizer const& sym,
unsigned a=col.alpha();
renderer ren(renb);
ras_ptr->reset();
ras_ptr->gamma(agg::gamma_linear());
agg::scanline_p8 sl;
for (unsigned i=0;i<feature.num_geometries();++i)
@ -686,6 +689,7 @@ void agg_renderer<T>::process(polygon_pattern_symbolizer const& sym,
agg::scanline_u8 sl;
ras_ptr->reset();
ras_ptr->gamma(agg::gamma_linear());
std::string filename = path_processor_type::evaluate( *sym.get_filename(), feature);
boost::optional<mapnik::image_ptr> pat = mapnik::image_cache::instance()->find(filename,true);
@ -799,6 +803,8 @@ void agg_renderer<T>::process(markers_symbolizer const& sym,
typedef agg::renderer_scanline_aa_solid<ren_base> renderer;
arrow arrow_;
ras_ptr->reset();
ras_ptr->gamma(agg::gamma_linear());
agg::scanline_u8 sl;
agg::rendering_buffer buf(pixmap_.raw_data(),width_,height_, width_ * 4);