Commit graph

168 commits

Author SHA1 Message Date
artemp
fe215a684e c++11 style : replace (almost) all typedef with type alias's 2014-07-07 18:23:15 +01:00
artemp
3ded23fbab move make_unique out of std namespace and allow building with c++14 compilers
( -std=c++1y )
2014-06-12 15:14:05 +01:00
artemp
a49e1d075e initial refactor pass (fixes #2235) 2014-06-04 18:05:27 +01:00
artemp
bedd275e95 more const correctness + cleaups 2014-06-02 17:09:12 +01:00
Dane Springmeyer
2f8451b99a variables support for cairo/grid/svg 2014-05-13 18:24:17 -07:00
Dane Springmeyer
9e9747ffad Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
Conflicts:
	src/agg/process_building_symbolizer.cpp
	src/cairo_context.cpp
	src/cairo_renderer.cpp
	src/grid/process_building_symbolizer.cpp
	src/grid/process_line_pattern_symbolizer.cpp
	src/grid/process_text_symbolizer.cpp
	tests/python_tests/images/support/marker-text-line-scale-factor-0.899.png
	tests/python_tests/images/support/marker-text-line-scale-factor-1.5.png
	tests/python_tests/images/support/marker-text-line-scale-factor-1.png
	tests/python_tests/images/support/marker-text-line-scale-factor-10.png
	tests/python_tests/images/support/marker-text-line-scale-factor-100.png
	tests/python_tests/images/support/marker-text-line-scale-factor-2.png
	tests/python_tests/images/support/marker-text-line-scale-factor-5.png
	tests/visual_tests/images/lines-5-200-200-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-200-200-2.0-agg-reference.png
	tests/visual_tests/images/lines-5-400-400-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-400-400-2.0-agg-reference.png
	tests/visual_tests/images/lines-5-600-600-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-5-800-800-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-800-800-2.0-agg-reference.png
	tests/visual_tests/images/lines-6-200-200-2.0-agg-reference.png
	tests/visual_tests/images/lines-6-400-400-2.0-agg-reference.png
	tests/visual_tests/images/lines-6-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-6-800-800-2.0-agg-reference.png
	tests/visual_tests/test.py
2014-04-24 21:44:28 -07:00
Dane Springmeyer
39737c5f1d Merge branch '2.3.x' of github.com:mapnik/mapnik
Conflicts:
	.travis.yml
	CHANGELOG.md
	bindings/python/build.py
	include/mapnik/feature_style_processor_context.hpp
	include/mapnik/feature_style_processor_impl.hpp
	include/mapnik/json/feature_collection_grammar.hpp
	include/mapnik/json/feature_collection_parser.hpp
	include/mapnik/json/feature_generator_grammar.hpp
	include/mapnik/json/feature_parser.hpp
	include/mapnik/json/geojson_generator.hpp
	include/mapnik/json/geometry_generator_grammar.hpp
	include/mapnik/json/geometry_parser.hpp
	plugins/input/gdal/gdal_featureset.cpp
	plugins/input/geojson/geojson_datasource.cpp
	plugins/input/occi/occi_featureset.cpp
	plugins/input/osm/osm_featureset.cpp
	plugins/input/postgis/build.py
	plugins/input/postgis/connection.hpp
	src/agg/agg_renderer.cpp
	src/build.py
	src/cairo_context.cpp
	src/datasource_cache.cpp
	src/grid/process_line_symbolizer.cpp
	src/grid/process_polygon_pattern_symbolizer.cpp
	src/grid/process_polygon_symbolizer.cpp
	src/grid/process_text_symbolizer.cpp
	src/json/feature_grammar.cpp
	tests/cpp_tests/fontset_runtime_test.cpp
	tests/visual_tests/images/collision-600-400-1.0-agg-reference.png
	tests/visual_tests/images/image-filters-multi-blur-512-512-1.0-agg-reference.png
	tests/visual_tests/images/image-filters-multi-blur-512-512-2.0-agg-reference.png
	tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-1.0-agg-reference.png
	tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-2.0-agg-reference.png
	tests/visual_tests/images/lines-1-400-400-2.0-agg-reference.png
	tests/visual_tests/images/lines-1-600-600-1.0-agg-reference.png
	tests/visual_tests/images/lines-1-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-2-200-200-1.0-agg-reference.png
	tests/visual_tests/images/lines-2-400-400-1.0-cairo-reference.png
	tests/visual_tests/images/lines-2-400-400-2.0-agg-reference.png
	tests/visual_tests/images/lines-2-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-2-800-800-2.0-agg-reference.png
	tests/visual_tests/images/lines-3-400-400-2.0-agg-reference.png
	tests/visual_tests/images/lines-3-600-600-1.0-agg-reference.png
	tests/visual_tests/images/lines-3-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-5-200-200-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-200-200-2.0-agg-reference.png
	tests/visual_tests/images/lines-5-400-400-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-400-400-2.0-agg-reference.png
	tests/visual_tests/images/lines-5-600-600-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-5-800-800-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-800-800-2.0-agg-reference.png
	tests/visual_tests/images/lines-6-200-200-1.0-agg-reference.png
	tests/visual_tests/images/lines-6-200-200-2.0-agg-reference.png
	tests/visual_tests/images/lines-6-400-400-1.0-agg-reference.png
	tests/visual_tests/images/lines-6-600-600-1.0-agg-reference.png
	tests/visual_tests/images/lines-6-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-6-800-800-1.0-agg-reference.png
	tests/visual_tests/images/lines-6-800-800-2.0-agg-reference.png
	tests/visual_tests/images/lines-shield-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-shield-600-600-2.0-cairo-reference.png
	tests/visual_tests/images/shield-on-polygon-600-400-1.0-agg-reference.png
	tests/visual_tests/images/shield-on-polygon-600-400-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-490-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-495-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-495-100-2.0-cairo-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-497-100-1.0-cairo-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-497-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-497-100-2.0-cairo-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-498-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-499-100-1.0-cairo-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-499-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-499-100-2.0-cairo-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-500-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-501-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-502-100-1.0-cairo-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-502-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-505-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-505-100-2.0-cairo-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-510-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-490-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-495-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-497-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-498-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-499-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-500-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-501-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-502-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-505-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-510-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-490-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-495-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-497-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-498-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-499-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-500-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-501-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-502-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-505-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-510-100-2.0-agg-reference.png
	tests/visual_tests/test.py
2014-04-24 14:50:55 -07:00
Dane Springmeyer
1e53351467 only compile cpp code if cairo/grid/svg renderers are enabled 2014-04-24 12:54:18 -07:00
Dane Springmeyer
e94876ebe4 Merge pull request #2160 from MapQuest/expr-v2-group-symbolizer
Group Symbolizer
2014-04-03 11:52:21 -07:00
Dane Springmeyer
83ad5f5a25 fix a few g++-4.8 warnings on linux 2014-03-18 14:52:41 -07:00
Dane Springmeyer
cb3db66b82 std::make_unique 2014-03-10 21:34:48 -07:00
Dane Springmeyer
6433d9482e Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
Conflicts:
	include/mapnik/symbolizer.hpp
	src/agg/agg_renderer.cpp
	src/agg/process_line_pattern_symbolizer.cpp
	src/agg/process_line_symbolizer.cpp
	src/agg/process_polygon_pattern_symbolizer.cpp
	src/agg/process_polygon_symbolizer.cpp
	src/cairo_renderer.cpp
	src/feature_type_style.cpp
	src/grid/process_line_pattern_symbolizer.cpp
	src/grid/process_line_symbolizer.cpp
	src/grid/process_markers_symbolizer.cpp
	src/grid/process_polygon_pattern_symbolizer.cpp
	src/grid/process_polygon_symbolizer.cpp
2014-03-10 00:05:56 -07:00
Dane Springmeyer
3dd05bd171 support scale_factor in geometry-transform translate and scale - refs #1926 2014-02-27 13:28:03 -08:00
Dane Springmeyer
e49f63730e support scale_factor in geometry-transform translate and scale - refs #1926 2014-02-27 11:55:58 -08:00
Jordan Hollinger
08ea56996a Add shield symbolizer support in group symbolizer processing.
Update some test cases to use ShieldSymbolizer instead of point and text.
2014-02-25 08:53:35 -05:00
Jordan Hollinger
07dc6e37a2 Merge branch 'expr-v2' of github.com:mapnik/mapnik into expr-v2-group-symbolizer
Conflicts:
	include/mapnik/attribute_collector.hpp
2014-02-18 18:22:01 -05:00
Jordan Hollinger
bbd2cfd40f Grid renderer implementation for group symbolizer.
This uses common process_group_symbolizer for most of the work.
Add reference grids for visual tests.
2014-02-18 16:37:41 -05:00
Dane Springmeyer
89f72f02e8 pass feature to vertex_converters - refs #2148/#2140 2014-02-08 22:10:14 -08:00
Matt Amos
ceaea9a948 Factored out common implementation of polygon symbolizer. 2013-12-09 20:42:00 +00:00
Matt Amos
dd9584bdd6 Factored out markers symbolizer logic.
It's not ideal - there's still a bunch of "dispatch" objects from
which the common elements could be factored for greater
readability.
2013-12-09 18:50:00 +00:00
Matt Amos
da5574d247 Factored out common implementation of point symbolizer. 2013-12-06 17:30:06 +00:00
Matt Amos
05982c4caf Factored out common code for building symbolizer.
There's a lot of code common between symbolizers which do things
like layout, setup, etc... So it seems sensible to extract the
common operations & loops into a single place which is
independent of the actual renderer.

I've started doing this with C++11 lambdas, although that might
not be the best implementation long term. Should be easy enough
to change, though.
2013-12-06 16:33:26 +00:00
Matt Amos
4f871d1fc7 Factored out common fields from grid renderer. 2013-12-05 19:34:32 +00:00
Matt Amos
d64b86dcdf Updated grid renderer for expr-v2 branch.
All the grid visual tests pass.

One small issue is that in the grid line pattern symbolizer it
constructs a 'fake' line symbolizer to re-use code (as the grid
renderer cares nothing for patterns), but doesn't pass the
offset parameter to it. The tests currently require this
behaviour, but they should probably be changed as it seems
incorrect.
2013-12-02 13:49:53 +00:00
Dane Springmeyer
e9ca9c8790 symbolizer-expressions replayed against latest master 2013-11-27 22:50:15 -08:00
Dane Springmeyer
64d5153aea Improved support for international text
- Implementation by @herm for GSOC 2012 (http://mapnik.org/news/2012/10/06/gsoc2012-status9/)
 - C++11 port, improvements, optimizations by @artemp
 - Testing and integration with master by @springmeyer
 - Thank you to all the support from @behdad along the way
 - Thanks for help testing @toton6868, @stephankn, @nirvn, @mfrasca, @simonsonc and many others

Refs: #2073,#2070,#2038,#2037,#1953,#1820,#1819,#1714,#1634,#1547,#1532,#1319,#1208,#1154,#1146
2013-11-22 00:06:32 -08:00
Dane Springmeyer
c7a6265869 organize text code in subdirectory 2013-11-07 20:09:22 -08:00
Dane Springmeyer
08fa9fd8ec Merge branch '2.3.x' of github.com:mapnik/mapnik
Conflicts:
	bindings/python/mapnik_building_symbolizer.cpp
	bindings/python/mapnik_debug_symbolizer.cpp
	bindings/python/mapnik_line_pattern_symbolizer.cpp
	bindings/python/mapnik_line_symbolizer.cpp
	bindings/python/mapnik_markers_symbolizer.cpp
	bindings/python/mapnik_point_symbolizer.cpp
	bindings/python/mapnik_polygon_symbolizer.cpp
	bindings/python/mapnik_python.cpp
	bindings/python/mapnik_raster_symbolizer.cpp
	bindings/python/mapnik_shield_symbolizer.cpp
	bindings/python/mapnik_symbolizer.cpp
2013-11-07 09:21:05 -08:00
Dane Springmeyer
0250538149 add support for geometry-transform in pattern symbolizers - closes #2065 2013-11-05 16:40:09 -08:00
artemp
3837c68762 use non-zero filling rule when rasterising lines 2013-10-29 12:26:33 +00:00
artemp
2eaf6a1ead use even/odd polygon filling rule ref https://github.com/mapbox/tilemill/issues/2110 2013-10-28 15:57:35 +00:00
artemp
7adee4ab36 c++11 : remove boost::make_shared includes 2013-10-17 15:09:56 +01:00
artemp
3edfc69c81 == c++11
use std::tuple with std::get<>
2013-10-11 12:36:04 +01:00
artemp
7f035f9226 + remove unused vertex tags 2013-10-10 13:43:59 +01:00
artemp
09ce29489e use const std::unique_ptr<> instead of boost::scoped_ptr<> 2013-09-20 14:22:58 +01:00
artemp
b315eb2167 + use std::shared_ptr and std::make_shared 2013-09-20 14:01:27 +01:00
artemp
d4b9a48cb1 + geometry::types Exterior/Interior polygon loops 2013-09-03 12:15:31 +01:00
artemp
4f4e2b001e Merge branch 'master' into c++11
Conflicts:
	SConstruct
	benchmark/run.cpp
	bindings/python/mapnik_datasource.cpp
	bindings/python/mapnik_feature.cpp
	bindings/python/python_optional.hpp
	include/mapnik/css_color_grammar.hpp
	include/mapnik/expression_grammar.hpp
	include/mapnik/feature.hpp
	include/mapnik/feature_style_processor_impl.hpp
	include/mapnik/image_filter_types.hpp
	include/mapnik/image_util.hpp
	include/mapnik/json/geometry_generator_grammar.hpp
	include/mapnik/json/geometry_grammar.hpp
	include/mapnik/processed_text.hpp
	include/mapnik/tiff_io.hpp
	include/mapnik/util/geometry_svg_generator.hpp
	include/mapnik/util/geometry_wkt_generator.hpp
	include/mapnik/utils.hpp
	include/mapnik/webp_io.hpp
	include/mapnik/wkt/wkt_grammar.hpp
	plugins/input/shape/shape_datasource.cpp
	plugins/input/shape/shapefile.hpp
	src/expression_grammar.cpp
	src/expression_string.cpp
	src/image_util.cpp
	src/json/feature_collection_parser.cpp
	src/json/feature_parser.cpp
	src/miniz.c
	src/symbolizer_helpers.cpp
	src/tiff_reader.cpp
	src/webp_reader.cpp
	tests/cpp_tests/geometry_converters_test.cpp
	tests/cpp_tests/image_io_test.cpp
	tests/cpp_tests/map_request_test.cpp
	tests/python_tests/image_test.py
	tests/visual_tests/test.py
2013-08-30 09:46:09 +01:00
Dane Springmeyer
29abb9a7c0 remove unused typedefs - exposed by saucy g++ warnings 2013-08-07 20:59:28 -04:00
Dane Springmeyer
60b2cef365 remove unused typedef 2013-08-07 20:49:28 -04:00
Dane Springmeyer
78b4980352 finish exposing mapnik.Feature.from_geojson 2013-07-30 15:45:46 -04:00
Dane Springmeyer
cfc977e6cd deal with various -Wunused-parameter warnings that are not important 2013-07-23 18:46:54 -04:00
Dane Springmeyer
c49d94fdf7 iwyu 2013-07-23 18:45:25 -04:00
artemp
58927b404c c++11
+ replace BOOST_FOREACH with for( : )
+ remove boost/foreach.hpp
+ fix benchmarks (17,18)
2013-04-24 16:40:35 +01:00
Hermann Kraus
fe526fd3d6 Fix PointSymbolizer collision bounding boxes. 2013-03-24 15:50:18 +01:00
Dane Springmeyer
4e6b6d5a62 ensure the line clipping box is padded using scale_factor as well - closes #1767 2013-03-19 16:15:50 -07:00
Dane Springmeyer
06803de192 iwyu 2013-03-14 15:13:02 -07:00
Dane Springmeyer
6cbceafc45 avoid direct freetype usage in core/public hpp file so that mapnik C++ depedencies do no need to known the freetype include paths 2013-03-12 18:12:54 -07:00
Dane Springmeyer
20fcdc8034 iwyu 2013-03-12 16:56:47 -07:00
Dane Springmeyer
b8de6e6f34 no need for an intermediate bbox for rasters 2013-03-08 20:55:45 -08:00