From 3a80dffb6e8dcb374437ee4eef147788ca3da8b7 Mon Sep 17 00:00:00 2001 From: Dane Springmeyer Date: Fri, 19 Feb 2010 19:11:17 +0000 Subject: [PATCH] bump version to 0.7.1, merge r1596,r1604,r1605,r1625, and fix #512 and #504 --- CHANGELOG | 7 +++++ SConstruct | 26 ++++++++++++------- include/mapnik/version.hpp | 2 +- plugins/input/shape/shape_featureset.cpp | 9 ++++++- .../input/shape/shape_index_featureset.cpp | 9 ++++++- src/SConscript | 2 +- src/agg_renderer.cpp | 8 ++++-- utils/shapeindex/shapeindex.cpp | 8 +++++- 8 files changed, 54 insertions(+), 17 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index b202cf76d..8f432bbbf 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -12,6 +12,13 @@ For a complete change history, see the SVN log. +Mapnik 0.7.1 Release +-------------------- + +- AGG Renderer - Enforced default gamma function on all symbolizers to ensure proper antialiasing + even when gamma is modified on the PolygonSymbolizer. (#512) + + Mapnik 0.7.0 Release -------------------- diff --git a/SConstruct b/SConstruct index 12b94e177..e7bf8fd93 100644 --- a/SConstruct +++ b/SConstruct @@ -688,6 +688,18 @@ if not preconfigured: else: env['SKIPPED_DEPS'].extend(['cairo','cairomm']) + # allow for mac osx /usr/lib/libicucore.dylib compatibility + # requires custom supplied headers since Apple does not include them + # details: http://lists.apple.com/archives/xcode-users/2005/Jun/msg00633.html + # To use system lib download and make && make install one of these: + # http://www.opensource.apple.com/tarballs/ICU/ + # then copy the headers to a location that mapnik will find + if 'core' in env['ICU_LIB_NAME']: + env.Append(CXXFLAGS = '-DU_HIDE_DRAFT_API') + env.Append(CXXFLAGS = '-DUDISABLE_RENAMING') + if os.path.exists(env['ICU_LIB_NAME']): + env['ICU_LIB_NAME'] = os.path.basename(env['ICU_LIB_NAME']).replace('.dylib','').replace('lib','') + LIBSHEADERS = [ ['m', 'math.h', True,'C'], ['ltdl', 'ltdl.h', True,'C'], @@ -699,15 +711,6 @@ if not preconfigured: [env['ICU_LIB_NAME'],'unicode/unistr.h',True,'C++'], ] - # allow for mac osx /usr/lib/libicucore.dylib compatibility - # requires custom supplied headers since Apple does not include them - # details: http://lists.apple.com/archives/xcode-users/2005/Jun/msg00633.html - # To use system lib download and make && make install one of these: - # http://www.opensource.apple.com/tarballs/ICU/ - # then copy the headers to a location that mapnik will find - if env['ICU_LIB_NAME'] == 'icucore': - env.Append(CXXFLAGS = '-DU_HIDE_DRAFT_API') - env.Append(CXXFLAGS = '-DUDISABLE_RENAMING') for libinfo in LIBSHEADERS: if not conf.CheckLibWithHeader(libinfo[0], libinfo[1], libinfo[3]): @@ -868,7 +871,7 @@ if not preconfigured: # fetch the mapnik version header in order to set the # ABI version used to build libmapnik.so on linux in src/SConscript abi = conf.GetMapnikLibVersion() - abi_fallback = [0,7,0] + abi_fallback = [0,7,1] if not abi: color_print(1,'Problem encountered parsing mapnik version, falling back to %s' % abi_fallback) env['ABI_VERSION'] = abi_fallback @@ -1022,6 +1025,9 @@ if not preconfigured: # autogenerate help on default/current SCons options Help(opts.GenerateHelpText(env)) +#env.Prepend(CPPPATH = '/usr/local/include') +#env.Prepend(LIBPATH = '/usr/local/lib') + #### Builds #### if not HELP_REQUESTED: # export env so it is available in Sconscript files diff --git a/include/mapnik/version.hpp b/include/mapnik/version.hpp index b76a14b44..a92ea087b 100644 --- a/include/mapnik/version.hpp +++ b/include/mapnik/version.hpp @@ -24,7 +24,7 @@ #ifndef MAPNIK_VERSION_HPP #define MAPNIK_VERSION_HPP -#define MAPNIK_VERSION 700 +#define MAPNIK_VERSION 701 #endif //MAPNIK_VERSION_HPP diff --git a/plugins/input/shape/shape_featureset.cpp b/plugins/input/shape/shape_featureset.cpp index 582b23c25..58a50429c 100644 --- a/plugins/input/shape/shape_featureset.cpp +++ b/plugins/input/shape/shape_featureset.cpp @@ -90,7 +90,14 @@ feature_ptr shape_featureset::next() { double x=shape_.shp().read_double(); double y=shape_.shp().read_double(); - shape_.shp().skip(8*2); // m, z + // skip z + shape_.shp().skip(8); + + //skip m if exists + if ( shape_.reclength_ == 8 + 36) + { + shape_.shp().skip(8); + } geometry2d * point=new point_impl; point->move_to(x,y); feature->add_geometry(point); diff --git a/plugins/input/shape/shape_index_featureset.cpp b/plugins/input/shape/shape_index_featureset.cpp index 36bd5e26a..d4f64f162 100644 --- a/plugins/input/shape/shape_index_featureset.cpp +++ b/plugins/input/shape/shape_index_featureset.cpp @@ -111,7 +111,14 @@ feature_ptr shape_index_featureset::next() { double x=shape_.shp().read_double(); double y=shape_.shp().read_double(); - shape_.shp().skip(8*2); // skip m,z + // skip z + shape_.shp().skip(8); + + //skip m if exists + if ( shape_.reclength_ == 8 + 36) + { + shape_.shp().skip(8); + } geometry2d * point = new point_impl; point->move_to(x,y); feature->add_geometry(point); diff --git a/src/SConscript b/src/SConscript index 0da420c79..a1b01a10d 100644 --- a/src/SConscript +++ b/src/SConscript @@ -64,7 +64,7 @@ if env['PLATFORM'] == 'Darwin': else: lib_path = 'libmapnik.dylib' linkflags = '-Wl,-install_name,%s' % lib_path - linkflags += ' -current_version 0.7.0 -compatibility_version 0.7.0' + linkflags += ' -current_version 0.7.1 -compatibility_version 0.7.0' elif env['PLATFORM'] == 'SunOS' and env['CXX'].startswith('CC'): linkflags = '-R. -h libmapnik.so' else: # Linux and others diff --git a/src/agg_renderer.cpp b/src/agg_renderer.cpp index 09af83eaf..0da983fbb 100644 --- a/src/agg_renderer.cpp +++ b/src/agg_renderer.cpp @@ -188,7 +188,6 @@ namespace mapnik renderer ren(renb); ras_ptr->reset(); - ras_ptr->gamma(agg::gamma_linear(0.0, sym.get_gamma())); for (unsigned i=0;ireset(); + ras_ptr->reset(); + ras_ptr->gamma(agg::gamma_linear()); + double height = 0.7071 * sym.height(); // height in meters for (unsigned i=0;ireset(); + ras_ptr->gamma(agg::gamma_linear()); agg::scanline_p8 sl; for (unsigned i=0;ireset(); + ras_ptr->gamma(agg::gamma_linear()); ImageData32 const& pattern = * sym.get_image(); unsigned w=pattern.width(); @@ -768,6 +771,7 @@ namespace mapnik typedef agg::renderer_scanline_aa_solid 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); diff --git a/utils/shapeindex/shapeindex.cpp b/utils/shapeindex/shapeindex.cpp index 8c74a7084..1d234e110 100644 --- a/utils/shapeindex/shapeindex.cpp +++ b/utils/shapeindex/shapeindex.cpp @@ -174,6 +174,7 @@ int main (int argc,char** argv) { double x=shp.read_double(); double y=shp.read_double(); + // skip m shp.read_double(); item_ext=Envelope(x,y,x,y); @@ -182,8 +183,13 @@ int main (int argc,char** argv) { double x=shp.read_double(); double y=shp.read_double(); + // skip z shp.read_double(); - shp.read_double(); + //skip m if exists + if ( content_length == 8 + 36) + { + shp.read_double(); + } item_ext=Envelope(x,y,x,y); }