Commit graph

2654 commits

Author SHA1 Message Date
artemp
2fb3069825 image-filters: apply image-filters in demultiplied colour space 2014-06-19 13:26:40 +01:00
artemp
c605ce81aa pedantic : prefer explicit double values in comparisons 2014-06-19 12:14:12 +01:00
artemp
666a926864 moving instead of copying mapnik::glyph_info
Conflicts:
	include/mapnik/text/dummy_shaper.hpp
	include/mapnik/text/harfbuzz_shaper.hpp
	include/mapnik/text/icu_shaper.hpp
2014-06-18 14:23:18 +01:00
artemp
3c72aedba0 moving instead of copying mapnik::glyph_info 2014-06-18 14:15:12 +01:00
artemp
a5547b0473 Merge branch 'master' into unscaled-glyphs 2014-06-18 10:18:16 +01:00
Dane Springmeyer
6571508576 Merge branch 'master' of github.com:mapnik/mapnik 2014-06-17 21:42:42 -07:00
Mike Morris
f797c320ff remove unecessary x_scale/y_scale multiplication 2014-06-17 15:57:11 -04:00
artemp
2c3173c1aa support halo-comp-op property (#2267) 2014-06-17 15:11:34 +01:00
artemp
8bd044ec13 + serialize halo-opacity 2014-06-17 14:24:31 +01:00
Dane Springmeyer
8bb77bce92 image readers: ability to check if image has alpha before full read
Conflicts:
	src/webp_reader.cpp
2014-06-16 09:52:26 -07:00
Dane Springmeyer
5fcd974817 webp reader: initialize WebPDecoderConfig
Conflicts:
	src/webp_reader.cpp
2014-06-16 09:52:26 -07:00
Dane Springmeyer
033a0e0ed7 fix miniz inlining 2014-06-16 09:52:25 -07:00
Dane Springmeyer
e421403f3d fix miniz encoder - closes #1560 2014-06-16 09:52:25 -07:00
artemp
cbab56fa79 text symbilizer : add halo-opactity property (#2268) 2014-06-16 11:24:16 +01:00
artemp
7eb8e25110 better namings + cleanup 2014-06-16 11:00:19 +01:00
Mike Morris
a99905cff5 fix char_height zero 2014-06-12 19:10:18 -04:00
Mike Morris
38966674f1 line_height, ymin, ymax and advance all look right now 2014-06-12 16:16:02 -04: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
Mike Morris
2b843ec6a9 first attempt at unscaled glyph dimensions 2014-06-11 19:56:55 -04:00
Dane Springmeyer
d0b357cab7 scons: support MAPNIK_NAME option to customize libmapnik name for custom packaging 2014-06-09 13:55:56 -07:00
artemp
30a39aa376 fix debug build 2014-06-06 14:49:16 +01:00
artemp
b6bab7d0bb move cairo renderer into its own subdir 2014-06-06 13:38:00 +01:00
artemp
5e386f5c97 capture built-in types by value 2014-06-06 13:12:55 +01:00
artemp
81c4b9dd59 fix init order 2014-06-05 16:13:05 +01:00
artemp
bbb727e39a update cairo_renderer 2014-06-05 15:15:36 +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
artemp
16fafbad43 share datasources between layers for now 2014-05-30 11:02:50 +01:00
artemp
f9cf23b59f memory_datasource: support datasource interface 2014-05-30 10:16:49 +01:00
artemp
7572ba58cb fix : allow comparing nullptr == nullptr -> true 2014-05-28 15:40:25 +01:00
artemp
0669e190de compare actuak mapnik::datasource objects 2014-05-28 15:18:11 +01:00
artemp
5654759a22 fixed returning reference to temp object
TODO: change signiture to return boost::optional<std::string const&> and fix crufty logic
2014-05-28 11:04:47 +01:00
artemp
4ef9cd8b45 use math functions from std:: 2014-05-28 10:59:01 +01:00
artemp
a010195b36 modify add_layer to work with both move and copy semantics 2014-05-28 09:54:56 +01:00
artemp
0fe172ec9e layer : add move ctor 2014-05-28 09:54:56 +01:00
Dane Springmeyer
48c027857c return const& string from xml_node::get_text() 2014-05-27 13:35:52 -07:00
artemp
fcfbc70abf + explicit move ctor's for mapnik::Map and mapnik::font_set
+ fix methods sig's
2014-05-27 15:35:37 +01:00
artemp
4474fc52e2 bug fix : call fontsets_.insert(fontset) before std::move(fontset) 2014-05-27 15:34:12 +01:00
artemp
7ff8c97afe correct method sig 2014-05-27 14:07:28 +01:00
artemp
c5e0c7e43f feature_type_style operator== 2014-05-27 13:44:01 +01:00
artemp
9791766e32 fix typo 2014-05-27 12:36:05 +01:00
artemp
7b9ba0db31 canonical swap and operator== 2014-05-27 12:34:35 +01:00
artemp
f6a79ecaec font_set: add operator== and 'swap' impl 2014-05-27 12:33:20 +01:00
artemp
d25abed9d2 custom swap 2014-05-27 11:43:46 +01:00
artemp
9972680020 Map : add member-by-member comparison op 2014-05-27 11:34:39 +01:00
artemp
68300b92b5 fix comparison operator 2014-05-27 11:33:26 +01:00
artemp
c8b8937bf9 out-of-class swap method to be consistent 2014-05-27 11:21:13 +01:00
artemp
eb0b4dbc0b custom swap method 2014-05-27 11:20:32 +01:00
artemp
4f6b00b589 use custom swap() and avoid std::swap calling move ctor (recursion) 2014-05-27 10:36:42 +01:00
Dane Springmeyer
6610fcc297 fix skipping of empty text nodes in rapidxml parser (matches libxml2) - closes #2253 2014-05-23 10:42:55 -07:00
Dane Springmeyer
03bb82b13f Merge branch 'master' of github.com:mapnik/mapnik into render-time-variables 2014-05-16 07:49:06 -07:00
Dane Springmeyer
aaae8b1cba optimize raster rendering when not resizing 2014-05-15 23:38:47 -07:00
Dane Springmeyer
03bb19dc3a fix svg_renderer ctor 2014-05-15 18:35:27 -07:00
artemp
3cc8fad956 c++11 syntax 2014-05-15 14:00:46 +01:00
artemp
6f24bd1c01 mapnik c++ style 2014-05-15 13:52:43 +01:00
Dane Springmeyer
7fa6747a29 Merge branch 'master' of github.com:mapnik/mapnik into render-time-variables 2014-05-14 11:44:57 -07:00
artemp
d60c371257 slightly better err message 2014-05-14 13:19:59 +01:00
artemp
c9b263fbc8 font_engine
+ avoid initialising FT_Library per font registration
+ lock register_fonts
2014-05-14 13:17:09 +01:00
Dane Springmeyer
96f89e34b3 Merge branch 'master' of github.com:mapnik/mapnik into render-time-variables 2014-05-13 20:51:57 -07:00
Dane Springmeyer
2f8451b99a variables support for cairo/grid/svg 2014-05-13 18:24:17 -07:00
artemp
f0fd0aa8ce font_engine : use FT_New_Library/FT_Done_Library with custom memory management (ref #2209 #2210) 2014-05-13 12:43:59 +01:00
Dane Springmeyer
2c661ed3d5 support for render time variables 2014-05-11 13:08:24 -07:00
Dane Springmeyer
c770cfec3c fix possible crash in mapnik::process_layout::box_offset_align 2014-05-10 07:47:41 -07:00
Dane Springmeyer
6171c3252d fix a few sign comparison warnings 2014-05-10 07:37:28 -07:00
Dane Springmeyer
7364a30e67 improve handling of colors as expressions 2014-05-08 00:45:18 -07:00
Dane Springmeyer
01d580d747 fix variable shadowing 2014-05-06 18:38:04 -07:00
artemp
99bbb10290 c++11 : use int types from <cstdint> 2014-05-06 18:06:47 +01:00
Dane Springmeyer
d7bb97a22e simplify code 2014-05-05 18:16:42 -07:00
Dane Springmeyer
5ddde3c885 stop testing bogus wkb since it will crash wkb reader - refs #2236 2014-05-05 17:05:00 -07:00
Dane Springmeyer
b462913fa1 load_map: use const_iterator 2014-05-05 16:06:01 -07:00
Dane Springmeyer
74c7e67d60 Various c++11 improvements
- std::make_unique
 - avoiding uneccessary std::move calls which make actually prevent rvo (http://stackoverflow.com/questions/4986673/c11-rvalues-and-move-semantics-confusion)
 - more c++11 for loops
2014-05-05 16:02:42 -07:00
Dane Springmeyer
ba17b9e374 add TODO comments for grammars that are not stateless - refs #2231 2014-04-30 11:04:26 -07:00
Dane Springmeyer
356cc85ad8 cleanup + rename svg_transform parser 2014-04-30 10:55:46 -07:00
Dane Springmeyer
97a45f21bb all static grammar usage const + xml_tree cleanups 2014-04-30 10:42:05 -07:00
Dane Springmeyer
8c1e69fdb8 static grammars
- construct on first use
 - allows for faster map loading and unloading of xml loading tree
 - modified expression and transform grammars to not take args/not crash
 - simplifies interfaces, allows fast parsing from python without passing grammar instance
2014-04-30 00:11:27 -07:00
Dane Springmeyer
2806bd1cac rapidxml: validate closing tags like libxml2 parser (no overhead measurable seen) 2014-04-29 14:32:57 -07:00
Dane Springmeyer
c399812c34 Merge pull request #2230 from MapQuest/jh-fix-group-symbolizer-text
Group symbolizer serialization
2014-04-29 11:01:37 -07:00
Jordan Hollinger
9ec187505b Add serialization for group symbolizer components. 2014-04-29 12:08:05 -04:00
Dane Springmeyer
ef837eb92f c++11 optimizations for faster map loading 2014-04-28 17:10:00 -07:00
Dane Springmeyer
b7b1acaa50 optimize string2bool 2014-04-25 21:46:40 -07:00
Dane Springmeyer
10ce32696a add support for halo-rasterizer for shields - closes #2226
Conflicts:
	src/load_map.cpp
	tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-1.0-agg-reference.png
	tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-2.0-agg-reference.png
2014-04-25 16:07:03 -07:00
Dane Springmeyer
7295e9db5d fix syntax error after merge 2014-04-24 23:26:25 -07:00
Dane Springmeyer
06bbedaffb fix raster colorizer access from python 2014-04-24 22:01:58 -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
acb83a8796 fix compile with clang: 'addition of default argument on redeclaration makes this constructor a default constructor' 2014-04-24 21:13:35 -07:00
Dane Springmeyer
67357568a5 move line rendering tests to visual tests 2014-04-24 21:00:00 -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
a93252e569 add newlines to avoid pedantic warnings 2014-04-24 12:53:28 -07:00
Dane Springmeyer
83c0db36cb add support for rendering (vs skipping) 3D and 4D postgis geometries like POINTZM, LINESTRINGZM, and POLYGONZM - closes #44 2014-04-09 19:40:14 -04:00
Dane Springmeyer
103e874f25 fix #2202 2014-04-03 17:15:57 -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
66654683a2 work in progress: fix some expressions tests disable others 2014-03-10 13:30:49 -07:00
Dane Springmeyer
7d5e0f1f91 one step closer to expression support for line cap/join 2014-03-10 13:00:47 -07:00
Dane Springmeyer
91eda81699 pass string by const& 2014-03-10 13:00:14 -07:00
Dane Springmeyer
24aaa0a6de post merge cleanups 2014-03-10 10:47:43 -07:00
Dane Springmeyer
bdd230a888 fix style copy ctor 2014-03-10 10:47:27 -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
d58def6cdb silence debug print 2014-03-08 19:54:43 -08:00
Oliver Tonnhofer
2c38670443 prevent double-free in mapnik::projection
A double-free can happen when init_proj4 is called outside of the
constructor (for projections with defer_proj_init=true) and when that
call fails. In this case proj_ctx_ is not set to NULL and then freed
again in the destructor. Set to null to avoid second pj_ctx_free call.

See #2170
2014-03-08 19:51:42 -08:00
Oliver Tonnhofer
fc8eb981fe prevent double-free in mapnik::projection
A double-free can happen when init_proj4 is called outside of the
constructor (for projections with defer_proj_init=true) and when that
call fails. In this case proj_ctx_ is not set to NULL and then freed
again in the destructor. Set to null to avoid second pj_ctx_free call.

See #2170
2014-03-08 19:50:34 -08: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
Dane Springmeyer
fead2e2584 fixes after merge 2014-02-27 11:17:50 -08:00
Dane Springmeyer
277ae93d2c make inflated image for blurring opt-in via 'image-filters-inflate' option - refs #2165
Conflicts:
	src/agg/agg_renderer.cpp
2014-02-27 11:17:09 -08:00
Dane Springmeyer
4e957c9cac make inflated image for blurring opt-in via 'image-filters-inflate' option - refs #2165 2014-02-27 10:11:17 -08:00
Jordan Hollinger
533820c63f Merge branch 'expr-v2' of github.com:mapnik/mapnik into expr-v2-group-symbolizer
Conflicts:
	src/text/placement_finder.cpp
	tests/visual_tests/test.py
2014-02-25 14:21:51 -05:00
artemp
19c2b76e10 remove unused text_symbolizer.hpp/cpp 2014-02-25 14:25:23 +00: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
Dane Springmeyer
14c02e76a7 Merge pull request #2138 from MapQuest/jmh-text-layouts
Multiple text layouts in text symbolizer
2014-02-18 17:59:56 -08: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
Matt Amos
f81d5abe1f "Implement" group symbolizer for SVG renderer.
Note that the "implementation" for SVG renderer is the same as
for other symbolizers there - i.e: empty.
2014-02-18 15:54:32 -05:00
Matt Amos
7e25a220a8 Implement debug symbolizer for Cairo. Update tests for debug symbolizer.
Debug symbolizer is useful, and used in a bunch of tests. This
adds debug symbolizer support for Cairo to make it closer to the
capabilities of AGG.

Adding debug symbolizer for Cairo meant that red boxes appeared in
many of the visual test outputs. This commit replaces them with
the output, after visual inspection. They should now be closer to
the output of the AGG test cases.
2014-02-18 15:53:55 -05:00
Matt Amos
44e69e9b05 Cairo renderer implementation of group symbolizer.
This uses the renderer_common header to do most of the heavy
lifting, but otherwise is very similar to the AGG renderer
implementation.

Add cairo ref images for group symbolizer tests.
2014-02-18 15:45:11 -05:00
Jordan Hollinger
3d1c30db1e Extracted a lot of code from agg render process_group_symbolizer.
Move a lot of processing into a common process_group_symbolizer function.
Also, extract column collection out of process_group_symbolizer function.
This will reduce duplication needed for other renderers.
2014-02-18 15:06:40 -05:00
Matt Amos
efc29649ab Added test for group symbolizer, fixed segfault.
Segfault was due to `glyph_position` structs keeping a pointer to
`glyph_info` objects which went out of scope at a different time.
The (rather ugly) fix for the moment is to copy that information
into the thunk object.
2014-02-18 14:06:05 -05:00
Jordan Hollinger
76329028d2 Find placements and render in process_group_symbolizer.
Create a group_symbolizer_helper for group placments, and extract some code from
text_symbolizer_helper into a base class to share with group_symbolizer_helper.
Also, move tolerance_iterator into its own header file. Use helper in
process_group_symbolizer to find placement positions.
2014-02-18 14:01:04 -05:00
Matt Amos
1ccdc5b76d Added code to render frozen thunks.
This renders the saved information from previous calls to the
bounding box extraction code, offset by some amount which should
be determined from running the `placement_finder`. Note that this
doesn't implement that bit, just the rendering.
2014-02-18 11:11:07 -05:00
Matt Amos
b85e7d0764 Added method to extract bounding boxes for symbolizers.
This is done by creating a fake 'virtual' environment at a fake
point and running the symbolizer render code. The actual render
is saved in a thunk for after the group layout has been done.
2014-02-18 11:11:06 -05:00
Jordan Hollinger
fbc2a0d1e3 Framework for group symbolizer.
This includes XML parsing of group symbolizer and related objects and
process_group_symbolizer method in the AGG renderer. This also includes
code to collect group symbolizer indexed columns, create sub features,
and match them to group rules.
2014-02-18 11:07:52 -05:00
Dane Springmeyer
b0278d4285 fix #2156 2014-02-11 09:20:11 -08:00
Dane Springmeyer
b799395f6a remove unused code 2014-02-10 21:39:56 -08:00
Dane Springmeyer
1c30683f23 fix round tripping of max-char-angle-delta value 2014-02-10 19:37:40 -08:00
Dane Springmeyer
7b75a24111 Merge pull request #2154 from mapnik/expr-v2-vt-conv-feature
Expr v2 vt conv feature
2014-02-10 10:44:19 -08:00
Jordan Hollinger
489168d529 Use make_shared to create shared_ptr. 2014-02-10 11:48:33 -05:00
Jordan Hollinger
d8eda4898e Merge branch 'expr-v2' of github.com:mapnik/mapnik into jmh-text-layouts
Conflicts:
	tests/visual_tests/test.py
2014-02-10 07:38:25 -05:00
Dane Springmeyer
bcde6ae631 Merge branch 'master' of github.com:mapnik/mapnik into expr-v2 2014-02-09 13:27:24 -08:00
Dane Springmeyer
9d6346aa98 fix compile - refs #2148 2014-02-09 11:30:26 -08:00
Dane Springmeyer
89f72f02e8 pass feature to vertex_converters - refs #2148/#2140 2014-02-08 22:10:14 -08:00
Jordan Hollinger
658d7e8888 Replace tabs with spaces. Remove unused method prototype. 2014-02-07 18:11:54 -05:00
Dane Springmeyer
f037eb99c2 silence debug print 2014-02-06 18:42:20 -08:00
Dane Springmeyer
3d90715883 only return true if plugins are actually newly registered 2014-02-06 18:24:56 -08:00
Dane Springmeyer
69de7f0a10 only return true if plugins are actually newly registered 2014-02-06 18:24:35 -08:00
Dane Springmeyer
88613fc2ec check filesystem before trying to open plugin + only report unique directories searched - closes #2131
Conflicts:
	src/datasource_cache.cpp
2014-02-06 17:08:38 -08:00
Dane Springmeyer
dcb87dd935 check filesystem before trying to open plugin + only report unique directories searched - closes #2131 2014-02-06 17:05:46 -08:00
Jordan Hollinger
6aa25090c0 Parse and support placement of multiple text layouts within a single text symbolizer. 2014-01-30 06:31:47 -05:00
Jordan Hollinger
269b038147 Extract text layout related properties (e.g. displacement, alignments) into seperate object from other placement related text symbolizer properties. 2014-01-30 06:01:57 -05:00
Dane Springmeyer
f286363ad0 more consistent memset/memcpy usage 2014-01-28 15:05:10 -08:00
Matt Amos
944f34b3df Fix unaligned multi-line labels.
This forces offset lines to be aligned to the closest point to
the anchor point on the original line, meaning that they are
aligned where the offset line and original run parallel, or nearly
so.
2014-01-28 20:33:42 +00:00
artemp
1aa6cafea1 remove noexcept - we can't guarantee noexcept in std::swap(a,b)
and

```c++
    static_assert( noexcept ( std::swap(*this,rhs)), "throwing swap");
```

would fail at compile time
2014-01-28 14:21:58 +00:00
artemp
322b378971 operator= using std::swap § 2014-01-28 10:57:26 +00:00
artemp
6f81c88f9a mapnik::Map - implement assignment-op in terms of swap 2014-01-28 09:58:47 +00:00
Dane Springmeyer
a98de6a348 Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
Conflicts:
	include/mapnik/expression_grammar_impl.hpp
	src/expression.cpp
2014-01-27 13:56:36 -08:00
Dane Springmeyer
84166882d9 minimum boost version is 1.47 - remove obsolete code handling older versions 2014-01-27 13:19:21 -08:00
Dane Springmeyer
18dbf34b72 remove env clone and instead just push DHAVE_LIBXML2 into main CPPDEFINES 2014-01-27 12:25:51 -08:00
Dane Springmeyer
777e067770 remove workaround for boost less than 1.46 since 1.47 is now the min needed - refs #1082 2014-01-27 12:24:20 -08:00
Dane Springmeyer
c5aad93428 fix topojson compile and centralize confix workaround 2014-01-26 16:19:27 -08:00
Dane Springmeyer
cd24a7b877 Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
Conflicts:
	tests/cpp_tests/svg_renderer_tests/path_element_test.cpp
2014-01-26 14:12:03 -08:00
Dane Springmeyer
87e0ae8124 adapt build to use BOOST_SPIRIT_NO_PREDEFINED_TERMINALS 2014-01-26 14:00:58 -08:00
Dane Springmeyer
8181aa9dec addLayer -> add_layer (change also coming in expr-v2 branch) 2014-01-26 13:41:30 -08:00
Dane Springmeyer
9944ca65ee fix -pthread issue on linux - closes #2132 2014-01-23 13:07:14 -08:00
Dane Springmeyer
f8ea04f85f fix -pthread issue on linux - closes #2132 2014-01-23 13:06:07 -08:00
Dane Springmeyer
1155a6e33d better library sort 2014-01-23 00:42:41 -08:00
Dane Springmeyer
cd4c645032 boost threads are no longer needed 2014-01-23 00:42:05 -08:00
Dane Springmeyer
499d485151 another try to fix linking order on linux 2014-01-23 00:13:39 -08:00
Dane Springmeyer
83bde5fef2 use premultiplied renderer for points/shields - closes #2117 2014-01-22 22:44:33 -08:00
Dane Springmeyer
7bcbcb0c4f use premultiplied renderer for points/shields - closes #2117 2014-01-22 22:44:04 -08:00
Dane Springmeyer
4731baab93 use premultiplied renderer for points/shields - closes #2117 2014-01-22 22:43:34 -08:00
Dane Springmeyer
b3ca4fb15f fix cairo road-casings-non-grouped-rendering test by matching agg clipping behavior 2014-01-22 22:24:47 -08:00
Dane Springmeyer
7520c15e86 Merge branch 'master' of github.com:mapnik/mapnik into expr-v2 2014-01-22 20:48:07 -08:00
Dane Springmeyer
97d737fa7b scons: fix variable name 2014-01-22 00:10:28 -08:00
Dane Springmeyer
4742aea92b scons: fix variable name 2014-01-22 00:10:11 -08:00
Dane Springmeyer
7ad2e5b43d finish support for disabling soname on linux 2014-01-21 21:35:10 -08:00
Dane Springmeyer
4fda93bf3e finish support for disabling soname on linux 2014-01-21 21:34:43 -08:00
Dane Springmeyer
edd0f24997 add ENABLE_SONAME option + embed rpath/loader_path by default - closes #1225 2014-01-21 21:12:55 -08:00
Dane Springmeyer
99bf263afd Merge branch 'master' of github.com:mapnik/mapnik into expr-v2 2014-01-21 21:01:48 -08:00
Dane Springmeyer
0e38731152 add ENABLE_SONAME option + embed rpath/loader_path by default - closes #1225 2014-01-20 20:16:08 -08:00
Dane Springmeyer
2a826e7fc8 fix linux linking order in python bindings 2014-01-20 11:15:10 -08:00
Dane Springmeyer
6c12904eda fix jpeg reading regression after #1805 - closes #2123 (patch from @clundgren) 2014-01-18 20:40:00 -08:00
Dane Springmeyer
cff13c0ff6 fix jpeg reading regression after #1805 - closes #2123 (patch from @clundgren) 2014-01-18 20:31:47 -08:00
Dane Springmeyer
2b08987903 Merge branch 'master' into expr-v2 2014-01-17 19:59:05 -08:00
artemp
3628b5f237 halo-transform initial impl 2014-01-17 11:47:18 +00:00
Matt Amos
8467d20854 Fixed compile error due to typo in svg_renderer.cpp 2014-01-07 15:38:02 +00:00
Dane Springmeyer
453c29c09f accept woff (web font) format - closes #2113 2013-12-20 17:19:49 -05:00
Dane Springmeyer
448d093f77 accept woff (web font) format - closes #2113 2013-12-20 17:15:41 -05:00
Matt Amos
6479785648 Merge remote-tracking branch 'upstream/expr-v2' into mla-expr-v2-renderer-common 2013-12-19 14:09:09 +00:00
artemp
f21152a6a9 register target type for symbolizer properties 2013-12-11 17:27:52 -05:00
artemp
7cf452da77 generic ``to_integral`` helper function (convert strongly typed enumeration values to underlying type) 2013-12-11 17:27:52 -05:00
Dane Springmeyer
6a0e593d87 fix svg_renderer 2013-12-11 07:26:32 -08:00
Dane Springmeyer
d3836bc71a c++11 2013-12-11 07:25:23 -08:00
Matt Amos
5e13658cf9 Merge remote-tracking branch 'upstream/expr-v2' into mla-expr-v2-renderer-common 2013-12-10 11:47:36 +00:00
artemp
5393a0a9fe c++11 : use ``constexpr name2int` switch instead of if/else 2013-12-09 16:15:24 -05:00
Matt Amos
ceaea9a948 Factored out common implementation of polygon symbolizer. 2013-12-09 20:42:00 +00:00
artemp
8e6e6d8c1e c++11 style for loop 2013-12-09 15:09:37 -05:00
Dane Springmeyer
eca1c6e46b Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
Conflicts:
	src/load_map.cpp
2013-12-09 11:40:55 -08: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
f01953e8f7 Factored out common implementation of raster symbolizer. 2013-12-06 18:09:24 +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
a9627f835b Factored common renderer code from SVG renderer. 2013-12-06 14:14:14 +00:00
Matt Amos
4f871d1fc7 Factored out common fields from grid renderer. 2013-12-05 19:34:32 +00:00
Matt Amos
ee018dc589 Factor common fields out of cairo renderer.
This involved making the freetype engine stack allocated and
accessible via a `shared_ptr` because `FT_Face` elements stored
in it are referenced from cairo structures which persist beyond
the lifetime of the `cairo_renderer` object.

Hopefully this can be resolved in a future commit.
2013-12-05 18:39:09 +00:00
artemp
ca7dfb3428 store meta by const ref 2013-12-05 16:25:56 +00:00
Matt Amos
a76e441174 Factored out common renderer fields.
The idea here is that much of the code in the renderers and the
various `process_*` rendering methods is shared, but this sharing
is obfuscated by the lack of sharing of renderer fields and
methods.

This is the first step in trying to factor out commonalities in
order to simplify the implementation of the renderers and make
them easier to understand and modify.
2013-12-05 16:21:55 +00:00
artemp
12bbf55c81 two step parameter parsing and various syntactic sugar tweaks 2013-12-04 16:11:11 +00:00
artemp
37fea12091 load_map : allow optional expressions in symbolizer properties (work-in-progress) 2013-12-04 11:47:36 +00:00
artemp
f83b272a98 fix boost include path 2013-12-03 09:10:51 +00:00