Commit graph

2781 commits

Author SHA1 Message Date
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
Dane Springmeyer
d13c889d30 fix #2090 2013-12-02 21:51:54 -08:00
Dane Springmeyer
a0d9977e5e fix #2090 2013-12-02 21:47:25 -08: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
artemp
c57d88edb1 c++11 : style 2013-12-02 12:10:47 +00:00
artemp
c8466ae654 use static_assert 2013-11-29 17:00:40 +00:00
Matt Amos
ca3d66236c Taking out unnecessary member variable added in 1a22a19a. 2013-11-29 16:37:20 +00:00
Matt Amos
1a22a19a95 Update Cairo renderer so that it compiles. 2013-11-29 16:23:44 +00:00
Dane Springmeyer
e9ca9c8790 symbolizer-expressions replayed against latest master 2013-11-27 22:50:15 -08:00
artemp
eb3da7d32d c++11 : use nullptr instead of NULL 2013-11-27 15:54:16 +00: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
e5bb5ed8aa backport geojson parsing/generation fixes from master to 2.3.x - refs #2083 2013-11-21 14:11:47 -08:00
artemp
f50e626661 Revert "geojson parser : support 'null' as valid coordinates property (empty geometry)"
Per GeoJSON spec :

```
A GeoJSON geometry object of any type other than "GeometryCollection" must have a member with the name "coordinates". The value of the coordinates member is always an array. The structure for the elements in this array is determined by the type of geometry.
```

This reverts commit f9ed2ce4e2d623c14df247db0025a549be29d75c.
2013-11-21 10:10:43 +00:00
artemp
132ace14ab geojson parser : support 'null' as valid coordinates property (empty geometry) 2013-11-20 16:04:33 +00:00
Dane Springmeyer
03fdf7e596 Merge branch '2.3.x' of github.com:mapnik/mapnik
Conflicts:
	src/deepcopy.cpp
	src/expression.cpp
	src/rule.cpp
2013-11-13 20:00:13 -08:00
Dane Springmeyer
5de5ffb764 remove unused and broken deepcopy support to be replaced in #2081 - refs #1390 and #946 2013-11-13 19:26:17 -08:00
Dane Springmeyer
2564c00420 expression parser - avoid extra level of indirection 2013-11-13 18:44:58 -08:00
Dane Springmeyer
2cc3d82a87 iwyu 2013-11-08 19:13:51 -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
f49654b160 png_reader: quote filenames in error output 2013-11-06 16:26:42 -08:00
Dane Springmeyer
6c8a8007e4 best practice: lways define NOMINMAX when including windows.h 2013-11-06 15:34:53 -08:00
Dane Springmeyer
f66fe78c03 png_reader ensure we throw early if a file_source cannot be opened 2013-11-06 15:34:26 -08:00
Dane Springmeyer
d0619bc402 update copyright year for scons build files 2013-11-05 16:54:13 -08:00
Dane Springmeyer
0250538149 add support for geometry-transform in pattern symbolizers - closes #2065 2013-11-05 16:40:09 -08:00
Dane Springmeyer
2db7d7c390 use std namespace for math functions 2013-11-05 15:53:07 -08:00
artemp
afd58da6e2 geojson - feature_collection_parser
(allow single feature and geometry input)
2013-11-04 12:39:10 +00:00
Dane Springmeyer
f998b2bda6 Merge branch '2.3.x' of github.com:mapnik/mapnik
Conflicts:
	deps/agg/build.py
	deps/clipper/build.py
	include/mapnik/feature_style_processor_impl.hpp
	plugins/input/csv/csv_datasource.cpp
2013-11-03 23:10:21 -08:00
Dane Springmeyer
ae0a209295 fix -Wsign-conversion warnings 2013-11-03 23:07:02 -08:00
Dane Springmeyer
6ffd0e9bc2 map size calculations: be explicit about types 2013-11-03 23:07:02 -08:00
artemp
3837c68762 use non-zero filling rule when rasterising lines 2013-10-29 12:26:33 +00:00
artemp
c7a989ae83 first attempt to re-use generic JSON rules in geojson/topojson parsers 2013-10-28 15:57:51 +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
Dane Springmeyer
9755296091 Merge branch '2.3.x' of github.com:mapnik/mapnik 2013-10-24 00:00:53 -07:00
Dane Springmeyer
dcbbcdd8a9 make label-position-tolerance a double, as it should have been all along 2013-10-23 23:48:24 -07:00
Dane Springmeyer
730f8e36e2 remove dead code 2013-10-23 18:24:35 -07:00
Dane Springmeyer
f14854912c backport ecf8c20938 from master 2013-10-23 18:24:04 -07:00
Dane Springmeyer
ecf8c20938 completely fix (across various g++ versions) clipping regression - closes #2049 2013-10-23 18:09:22 -07:00
Vross
771964a770 datasource_cache: display correctly the error message 2013-10-23 17:44:27 -07:00
Dane Springmeyer
cb04fc0b34 apply bbox clipping fix to shield symbolizer as applied to text in 96fff72837 - refs #2049 2013-10-23 17:41:24 -07:00
Dane Springmeyer
bc2ee11d9a fix text related test failures on ubuntu precise/g++-4.7 - refs #2049 2013-10-23 17:41:15 -07:00
Dane Springmeyer
78f7de16b8 apply bbox clipping fix to shield symbolizer as applied to text in 96fff72837 - refs #2049 2013-10-23 17:39:46 -07:00
Dane Springmeyer
96fff72837 fix text related test failures on ubuntu precise/g++-4.7 - refs #2049 2013-10-24 00:33:26 +00:00
Dane Springmeyer
8272b0b3db remove dead code 2013-10-22 21:13:02 -07:00
Dane Springmeyer
710d558218 scons: simplify linkflags/ldflags setting / attempt to fix #2025 2013-10-22 16:35:46 -04:00
Vross
43735a65d4 datasource_cache: display correctly the error message 2013-10-21 19:26:40 +02:00
artemp
7adee4ab36 c++11 : remove boost::make_shared includes 2013-10-17 15:09:56 +01:00
artemp
e231117504 == c++11
+ remove remaining boost::thread usage
+ don't link to boost_thread
2013-10-11 14:18:35 +01:00
artemp
582ca02f44 remove unused boost.thread includes 2013-10-11 13:39:39 +01:00
artemp
0e40b3c87d == c++11
use std::thread (removes boost.thread dependency)
2013-10-11 13:20:46 +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
89586fbdf1 + only extract expected types from mapnik::parameters
aka mapnik::value_xxx types
2013-10-09 15:32:47 +01:00
Dane Springmeyer
ddf2226b6f merge with branch 2.3.x 2013-10-05 15:37:29 -07:00
Dane Springmeyer
2b1a725f15 handle conditional compile of webp options not available before webp-v0.1.99 2013-10-04 13:34:07 -07:00
Dane Springmeyer
cd27e521d4 update webp defaults to use WebPConfigInit 2013-10-04 12:59:47 -07:00
Dane Springmeyer
0c1fcd7098 expose all remaining webp encoding options except for 'show_compression' - refs #1964 2013-10-04 01:03:20 -07:00
Dane Springmeyer
732fefb9e1 webp: use WebPConfig instead of custom options struct 2013-10-04 00:24:30 -07:00
Dane Springmeyer
be7d0a55c2 webp: cleanup option handling 2013-10-03 23:59:10 -07:00
Dane Springmeyer
0fb718a4fd default to hextree encoding for 'png' format + png options cleanup 2013-10-03 23:40:19 -07:00
Dane Springmeyer
0224ce3019 add support for seamless blurring - closes #1478 2013-10-03 16:37:09 -07:00
Dane Springmeyer
8e9028e931 use std::fabs not fabs 2013-10-03 13:28:42 -07:00
Dane Springmeyer
f9e630bbd3 Merge remote-tracking branch 'origin/2.3.x' 2013-10-02 18:23:09 -07:00
Dane Springmeyer
d84443b4f3 fix unsigned integer overflow when passing args to composite_bitmap 2013-10-01 21:29:22 -07:00
Dane Springmeyer
61dde4b093 fix several -Wsign-compare warnings 2013-10-01 11:48:27 -07:00
Dane Springmeyer
3dba53e333 fix several -Wsign-compare warnings 2013-10-01 11:47:47 -07:00
Dane Springmeyer
c34c8a568f merge with branch 2.3.x 2013-09-30 13:33:28 -07:00
Dane Springmeyer
82e1b37281 allow single color colorize-alpha 2013-09-27 16:11:23 -07:00
Dane Springmeyer
2010f5f1d9 Merge branch '2.3.x' of github.com:mapnik/mapnik 2013-09-26 20:08:01 -07:00
Dane Springmeyer
68ff3ceead add color-to-alpha image-filter - closes #2023 2013-09-26 16:14:40 -07:00
Dane Springmeyer
0f4ba4dfd5 sync with 2.3.x branch 2013-09-25 20:04:31 -07:00
Dane Springmeyer
8e047aa98e raster_colorizer: avoid color copy by return unsigned from get_color 2013-09-25 14:58:32 -07:00
Dane Springmeyer
7aeff3fb59 followup nodata refactor - refs #2023 2013-09-25 14:38:07 -07:00
Dane Springmeyer
681f8853d3 pull in changes from master 2013-09-24 22:57:01 -07:00
Dane Springmeyer
2c46300f61 remove dead code (colorize-alpha is now officially an image-filter) 2013-09-24 17:18:14 -07:00
artemp
f76b020e5e + remove redundant identity matrix and pass 0 to FT_Set_Transform 2013-09-24 14:44:47 +01:00
Dane Springmeyer
63f97fa4aa lessen header interdependence between placement_finder.hpp and symbolizer_helpers.hpp 2013-09-23 11:42:47 -07:00
Dane Springmeyer
a1bf65210d Merge branch 'master' of github.com:mapnik/mapnik 2013-09-22 22:07:55 -07:00
Dane Springmeyer
85fc82c03b fix #2018 2013-09-22 22:07:35 -07:00
artemp
0eada70845 + use const std::unique_ptr< []> instead of boost::scoped_array 2013-09-20 15:01:58 +01:00
artemp
09ce29489e use const std::unique_ptr<> instead of boost::scoped_ptr<> 2013-09-20 14:22:58 +01:00
artemp
62af2e6765 + replace <boost/shared_ptr.hpp> with <memory> 2013-09-20 14:13:23 +01:00
artemp
b315eb2167 + use std::shared_ptr and std::make_shared 2013-09-20 14:01:27 +01:00
Dane Springmeyer
b0436a3ad1 scons: unbreak memory mapped access for shapefiles by fixing the setting of SHAPE_MEMORY_MAPPED_FILE 2013-09-19 20:51:49 -07:00
Dane Springmeyer
0619477238 optimize rule::active which is called in loop in feature_style_processor_impl 2013-09-19 20:24:59 -07:00
Dane Springmeyer
9df4deac73 consistent use of agg::rgba8_pre to construct premultiplied colors - refs #2011 2013-09-19 19:41:46 -07:00
Dane Springmeyer
5b78b6b2dc fix #2011 2013-09-19 19:19:11 -07:00
Dane Springmeyer
576271d5ca merge 2013-09-19 18:40:48 -07:00
Dane Springmeyer
9bd3dd0e21 fix viewer compile 2013-09-19 18:39:44 -07:00
Dane Springmeyer
25ee36f74e merge 2013-09-18 20:41:20 -07:00
Dane Springmeyer
1b3e07ef23 c++ style 2013-09-18 20:35:14 -07:00
Dane Springmeyer
df352efc8f use std::size_t in wkb parser 2013-09-18 20:31:59 -07:00
Dane Springmeyer
35a42b49e6 cast to int 2013-09-18 20:29:59 -07:00
Dane Springmeyer
9aff3c596b better type handling/casts 2013-09-18 20:29:26 -07:00
Dane Springmeyer
69cdca27a2 merge with master 2013-09-18 19:54:49 -07:00
Dane Springmeyer
111bdccebc various post-merge fixes 2013-09-18 19:51:14 -07:00
Dane Springmeyer
5cd2152866 fix failing halo rendering visual tests 2013-09-18 19:50:30 -07:00
Dane Springmeyer
ee2378a6d2 port minor fixes around type handling from c++11 branch 2013-09-18 19:50:04 -07:00
Dane Springmeyer
d3d750ebf7 merge with master 2013-09-18 19:06:11 -07:00
Dane Springmeyer
30c8ca5f66 minor formatting to sync cleaner with master 2013-09-18 19:04:44 -07:00
Dane Springmeyer
9770985ead port box2d cleanups from c++11 branch to master 2013-09-18 19:04:20 -07:00
Dane Springmeyer
d2f50a0158 no need to define BOOST_SPIRIT_USE_PHOENIX_V3 in each header, it is now set in SConstruct 2013-09-18 18:27:04 -07:00
Dane Springmeyer
33766e9370 merge with master 2013-09-18 13:56:23 -07:00
artemp
ec0bdb21ad Merge branch 'geometry-types' into c++11 2013-09-16 14:18:22 +01:00
Dane Springmeyer
d3ab601e30 integrate various minor c++ style and cast fixes into master from c++11 branch 2013-09-15 23:08:04 -07:00
Dane Springmeyer
b6040ac324 correct return type from std::string::substr 2013-09-15 21:12:12 -07:00
artemp
b690015d63 Merge branch 'master' into c++11 2013-09-09 12:32:47 +01:00
Dane Springmeyer
c5dd5487a5 Merge pull request #1966 from mapnik/background-image-comp-op
Map background-image-comp-op and background-image-opacity
2013-09-05 12:25:47 -07:00
artemp
d4b9a48cb1 + geometry::types Exterior/Interior polygon loops 2013-09-03 12:15:31 +01:00
artemp
4ea16b596e Merge branch 'master' into c++11 2013-09-02 09:50:59 +01:00
Dane Springmeyer
02f2fbdf8b always link libdl on linux - needed on some systems after #1804 - closes #1998 2013-09-01 22:02:52 -07: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
Petr Dlouhý
69185339a5 offset enabled for LinePatternSymbolizer 2013-08-22 10:35:44 +02:00
Dane Springmeyer
1a8287da06 Add support for webp:alpha=false to create rgb images without alpha + other webp encoding cleanups - closes #1986 2013-08-15 14:47:28 -04:00
Dane Springmeyer
5667343ad9 use U_NAMESPACE_QUALIFIER to most cleanly support when icu is built with -DU_USING_ICU_NAMESPACE=0 - refs #1985 2013-08-14 21:56:40 -04:00
Dane Springmeyer
750b4e144b gracefully handle when icu is built without BreakIterator support: -DUCONFIG_NO_BREAK_ITERATION=1 2013-08-13 19:32:20 -04:00
Dane Springmeyer
b6df3848c4 use icu:: namespace 2013-08-13 19:20:13 -04:00
Dane Springmeyer
e0026f3df2 use icu:: namespace and start isolating icu impl by consistenly using mapnik::value_unicode_string 2013-08-13 18:52:04 -04:00
Dane Springmeyer
4eef244e73 move SHAPE_MEMORY_MAPPED_FILE to be a global define 2013-08-13 14:48:04 -04:00
Dane Springmeyer
134cbc3eec forward declare mapped_region in mapped_memory_cache.hpp and other shared memory fixups 2013-08-13 14:13:56 -04: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
844baa8c5b scons: when linking statically on linux always link -ldl 2013-07-30 02:51:07 -04:00
Dane Springmeyer
4ee91a4a25 fix narrowing issue in miniz - closes #1967 2013-07-28 15:49:11 -04:00
Dane Springmeyer
889546ab05 fix up type casting 2013-07-28 15:45:36 -04:00
Dane Springmeyer
76f111cc97 support optionally compiling with -std=c++11 on OSX / clang / apple libc++ / boost 1.53 - refs #1683 2013-07-27 01:57:24 -04:00
Dane Springmeyer
4eda02592e fix debug.cpp error output (now compiles against libc++) 2013-07-26 19:33:35 -04:00
Dane Springmeyer
fad9af5263 add support for applying custom comp_op and opacity when blending map background image into background color at render time - refs mapnik/mapnik-support#8 2013-07-25 01:00:38 -04:00
Dane Springmeyer
4f01eb05b1 scons: correctly propagate DEFINES across builds 2013-07-23 20:03:00 -04:00
Dane Springmeyer
ef4dfeb747 make it possible to disable compilation of grid_renderer - closes #1962 2013-07-23 19:37:25 -04:00
Dane Springmeyer
5ad2ebb30e iwyu 2013-07-23 18:59:05 -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
827a9d147a code cleanup 2013-07-23 18:46:40 -04:00
Dane Springmeyer
7a6117b18d remove dead code and iwyu 2013-07-23 18:46:19 -04:00
Dane Springmeyer
c49d94fdf7 iwyu 2013-07-23 18:45:25 -04:00
Dane Springmeyer
84842f59c7 use pixfmt pre for the sake of clarity 2013-07-23 18:44:39 -04:00
Dane Springmeyer
6269b42ffc iwyu 2013-07-23 18:41:59 -04:00
Dane Springmeyer
3bd2e6501f fix a batch of unused variable warnings (leaving several with are true bugs/missing features) 2013-07-23 15:51:22 -04:00
Dane Springmeyer
4d3ab5e3aa agg_renderer: remove uneeded define of AGG_RENDERING_BUFFER row_ptr_cache<int8u> since it is already hardcoded in agg_renderer_buffer.h and agg_config.h 2013-07-22 14:49:10 -04:00
Dane Springmeyer
236c8221af miniz: remove MINIZ_NO_STDIO as it is uneeded since it is covered by catchall MINIZ_NO_ARCHIVE_APIS 2013-07-22 14:29:46 -04:00
Dane Springmeyer
5c13504cc0 remove unreachable break 2013-07-22 14:17:59 -04:00
Dane Springmeyer
1c6f449ba8 comment unused typedefs 2013-07-22 14:17:43 -04:00
Dane Springmeyer
3864fada72 pass string by const ref 2013-07-19 15:46:01 -04:00
Dane Springmeyer
6bbbe155fe remove RENDERING_STATS compile time option - refs #1956 2013-07-19 15:09:59 -04:00
Dane Springmeyer
512f06fa44 scons: only compile optional cpp files that really can be built 2013-07-19 12:49:44 -04:00
Dane Springmeyer
f999615cec ensure agg rendering buffer uses proper dimensions since these may become more dynamic in the near future - refs #1478 2013-07-19 01:29:01 -04:00
Dane Springmeyer
a141c5c27d webp encoding/decoding support - refs #1955 2013-07-19 01:09:17 -04:00
Dane Springmeyer
0872061993 renable hsla filter as 'scale-hsla' - refs #1954 2013-07-19 00:37:51 -04:00
artemp
cbfe228790 + improve c++ style
+ formatting
2013-07-16 11:16:52 +01:00
Dane Springmeyer
43723d3f81 scons: link zlib last 2013-07-15 00:19:03 -04:00
Dane Springmeyer
09aad15eb2 display png error when we cannot read a png 2013-07-14 16:32:32 -04:00
Dane Springmeyer
86bc7d6c11 fix svg parser to ignore empty groups - closes #1944 2013-07-10 17:25:34 -04:00
Dane Springmeyer
63a06a9aab fix handling of opacity when rendering svg with cairo - closes #1943 2013-07-10 16:19:28 -04:00
Dane Springmeyer
c011524b67 add mapnik.Image.premultiplied() to query status of pixel premultiplication 2013-07-02 16:01:23 -04:00
Dane Springmeyer
3ae432ac96 fix behavior of marker-ignore-placement on lines - closes #1931 2013-06-28 15:53:08 -04:00
Dane Springmeyer
25dabd6f24 support scale_denominator override in save_to_cairo_file - closes #1930 2013-06-27 20:07:25 -04:00
Dane Springmeyer
fd428cf11b svg_renderer: group layers in inkscape capatible way - refs #1917 2013-06-24 20:29:57 -07:00
Dane Springmeyer
4c4a63aa9c svg_renderer: only process line/polygon symbolizers as <path> for now 2013-06-24 20:28:02 -07:00
Dane Springmeyer
d1f1104ebe svg_renderer: start paying attention to scale_factor, collision, and fonts 2013-06-24 20:26:30 -07:00
Dane Springmeyer
18ab68f03f iwyu 2013-06-21 12:00:48 -07:00
artemp
ed163817ab + fix typo in grammar 2013-06-21 19:37:56 +01:00
Dane Springmeyer
ecf0ce2d2d catch boost::filesystem::directory_iterator::construct error and print warning rather than throwing exception - closes #1919 - refs mapbox/tilemill#1992 2013-06-21 11:18:42 -07:00
artemp
9b2703f557 + to_string based on spirit::karma for completeness. 2013-06-21 14:47:38 +01:00
artemp
66185a2262 spirit::karma based to_hex_string generator 2013-06-21 11:33:26 +01:00
Dane Springmeyer
e3c5ae9cf4 svg_renderer: use precision of 4, accept map request/scale_factor, and fix output of multipart geometries 2013-06-20 21:27:42 -07:00
Dane Springmeyer
b1a50d1000 iwyu 2013-06-18 14:26:58 -07:00
Dane Springmeyer
215c9e9123 iwyu 2013-06-06 13:10:56 -07:00
Dane Springmeyer
ff14a8e350 revert f4d2fbac4 - refs #1177 2013-06-03 17:21:27 -07:00
Dane Springmeyer
c6da53af9a fix spelling of error message in png reader - refs #1871 2013-06-03 15:38:30 -07:00
artemp
f4d2fbac43 + #1177 via @springmeyer
(TODO: check if loading the whole font file is required for registering)
2013-06-03 09:15:37 +01:00
Dane Springmeyer
3b2bdba7b0 iwyu 2013-06-02 20:19:33 -07:00
Dane Springmeyer
205fe7eaf8 iwyu 2013-06-02 20:04:51 -07:00
Dane Springmeyer
0365d3e081 start centralizing filesystem operations in mapnik::util::fs - refs #1177 2013-06-02 19:28:24 -07:00
Dane Springmeyer
ff88efc1fd proper c++ cast 2013-06-02 17:34:44 -07:00
Dane Springmeyer
1036eb1c99 support base_path adjustment when reading from xml file as well as from a string 2013-06-02 16:24:21 -07:00
Dane Springmeyer
e51c59aacc fix #1886 - TODO - refactor base_path logic since it is confusingly written 2013-06-02 16:06:32 -07:00
Dane Springmeyer
ef1b99532b scons: fix boost_regex and sqlite_rtree config checks and be resilient to plugins that cannot be built due to the boost version 2013-06-02 14:56:21 -07:00
Dane Springmeyer
7c8dbacdb6 fix compile against boost 1.47 - closes #1885 2013-06-02 13:32:15 -07:00
Dane Springmeyer
dcc4981b13 mapnik-config: report which plugins are statically compiled by providing defines 2013-06-02 13:30:46 -07:00
Dane Springmeyer
b0f15bf5de avoid muffling proj_init at render time and instead catch at load_map - closes #646 2013-05-29 15:16:44 -07:00
Dane Springmeyer
7302b3b654 fix #1865 2013-05-24 16:45:02 -07:00
Dane Springmeyer
9107046508 avoid including cairo-ft in header 2013-05-22 23:23:22 -07:00
Dane Springmeyer
95d5b73d86 fix reading inline csv data and reading from an xml string when building with ptree/rapidxml - closes #1857 and closes #1856 2013-05-22 09:13:33 -07:00
artemp
a3eaebd5e1 feature_at_point
+ use 'tol' where possible
2013-05-22 16:40:26 +01:00
Dane Springmeyer
a6ef710f74 Add file I should have added in 8634a04938 2013-05-21 21:01:07 -07:00
Dane Springmeyer
ce34be6aab fix #1853 2013-05-21 20:18:37 -07:00
Dane Springmeyer
8634a04938 add support for drawing all geometry verticies with debug symbolizer mode=vertex and expose in python - closes #1848 2013-05-21 19:21:35 -07:00
Dane Springmeyer
018bdc4f6d fix interplay of point symbolizer/cairo/scale_factor 2013-05-21 08:46:07 -07:00
artem@windows
35a8582043 put implementatio into .cpp to avoid exposing <windows.h> 2013-05-20 13:43:31 -07:00
Dane Springmeyer
84a15f9090 iwyu 2013-05-20 12:50:26 -07:00
artem@windows
15e059a9ac put implementatio into .cpp to avoid exposing <windows.h>
Conflicts:
	include/mapnik/utils.hpp
2013-05-20 14:54:06 +01:00
Dane Springmeyer
a992ab4985 add missing file from 3fbf4df67d 2013-05-16 12:03:30 -07:00
Dane Springmeyer
3fbf4df67d add support for statically linking datasource input plugins - closes #1810 and #1821 - refs #249 2013-05-16 11:55:58 -07:00
Dane Springmeyer
9c66d0ec1d move expresion_grammar impl to impl header 2013-05-15 18:24:49 -07:00
Dane Springmeyer
bedcde02cb rename css_color_grammar_def.hpp -> css_color_grammar_impl.hpp to be consistent with other headers 2013-05-15 18:23:46 -07:00
artemp
8d5b983cb6 Geometry/Feature parsers -truncate 'where' message in on_error handler (currently 16 chars max) 2013-05-14 15:02:05 +01:00
artemp
0e5013fb03 + add feature_parser implementation 2013-05-14 14:55:08 +01:00
artemp
417ac21529 + cleaup old comment 2013-05-14 14:53:27 +01:00
artemp
4948fd8992 + add feature_parser.cpp 2013-05-14 14:52:58 +01:00
artemp
5d0c36fb65 Geometry/Feature parsers -truncate 'where' message in on_error handler (currently 16 chars max) 2013-05-14 14:51:28 +01:00
artemp
d83935a8e0 * restore operator%= support - explicit pnoenix::construct<mapnik::expr_node> on rhs
* move fwd decl into main mapnik namespace
* c++ style formatting
2013-05-14 12:28:13 +01:00
Dane Springmeyer
2ec04ab9e3 fix tiff compile against older than tiff 4.x 2013-05-13 11:00:21 -07:00
artemp
15ff3dcec4 TIFF I/O
+ use generic std::istream
+ add open from char const* and size factory method
2013-05-13 07:31:41 -07:00
artemp
245e71d735 TIFF I/O
+ use generic std::istream
+ add open from char const* and size factory method
2013-05-13 10:26:28 +01:00
artemp
dbcffe6179 + better naming 2013-05-13 10:26:04 +01:00
artemp
0fb7898e5e + format 2013-05-09 13:46:51 +01:00
artemp
42d8dfa322 + add move ctor and 'canonical' assignment operator 2013-05-06 15:54:17 +01:00
artem@windows
b29fe11e35 + fix font_set::size return type 2013-05-03 16:43:25 -07:00
artemp
1635834f60 + remove inline qualifier 2013-05-03 16:38:55 +01:00
artemp
f70e39c1e6 + make comma separator optional (preserve space delimitted syntax) 2013-05-03 16:06:51 +01:00
artemp
b6d24c6b35 remove cruft 2013-05-03 11:44:43 +01:00
artemp
1847ce581d box2d
+ re-implement from_string avoiding tokenizer (~10x faster)
2013-05-03 11:41:43 +01:00
artem@windows
29f9273d3e + msvc : fix warnings (TODO: work-in-progress) 2013-05-02 14:07:06 -07:00
Hermann Kraus
24913c4759 Merge pull request #1781 from mapnik/subpixelhalo
Render halos < 1.0 with fast halo algorithm.
2013-04-24 16:23:39 -07: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
artemp
4dd31056fc + fix warnings when compiling with g++ 4.2.1 on os x 2013-04-22 11:36:37 +01:00
artemp
3f6abd3362 + backport image_reader from buffer/string from image-readers-c++11 branch 2013-04-22 11:35:09 +01:00
artemp
c1b25607db + fix compiling miniz codec in c++11 mode
FIXME: we should compile legacy "C" code with special flags..
2013-04-19 13:49:16 +01:00
artemp
11bc9a0311 + re-enable geojson generator 2013-04-19 11:59:58 +01:00
artemp
c73e48fa58 + use std::unique_ptr instead of std::auto_ptr (deprecated!) 2013-04-19 09:50:50 +01:00
artemp
a41c83fbce + png_io: disble miniz for now 2013-04-19 09:41:42 +01:00
artemp
da16de55de + fix : output file_name 2013-04-19 09:37:41 +01:00
artemp
21b93272c0 + use nullptr 2013-04-18 16:07:12 +01:00
artemp
22a1df8388 Merge branch 'master' into image-readers-c++11
Conflicts:
	include/mapnik/factory.hpp
2013-04-18 09:48:31 +01:00
Dane Springmeyer
60c6592c4e fix spelling of unknown 2013-04-17 14:23:04 -07:00
artemp
77e71d726b + add webp support 2013-04-17 14:51:20 +01:00
artemp
cc5788e9c4 Merge branch 'master' into image-readers-c++11 2013-04-17 10:17:03 +01:00
Dane Springmeyer
294b10229e disable the hsla image-filter - not yet ready for primetime 2013-04-16 19:09:40 -07:00
artemp
c5170290f8 + image_reader : consistent error handling - throw image_reader_exception rather than returning 0 pointer. 2013-04-16 17:30:17 +01:00
artemp
1b90879d12 webp_reader : implement reading from file 2013-04-16 10:48:21 +01:00
artemp
b8637a900e + fix crop width/height calc 2013-04-15 18:04:27 +01:00
artemp
77a8a6c8ee + fixes and improved error handling 2013-04-15 17:54:10 +01:00
artemp
1eb2ec5ce7 + cleanup include directives 2013-04-15 14:01:33 +01:00
artemp
e59bf22fbd WEBP image reader
+ add initial support
2013-04-15 14:00:41 +01:00
artemp
9584b3634f + no iostreams lib dependency version 2013-04-12 16:10:09 +01:00
artemp
438bfad732 + factory : variadic templates based implementation ( requires c++11)
+ image_reader : stream based reading interface (boost::iostreams)
+ register additional png and jpeg readers with following sigs :

  ```
  std::auto_ptr<mapnik::image_reader> reader(mapnik::get_image_reader(buffer,size));
  // buffer - char const*
  // size - size_t
  ```
+ initial type_from_bytes implementation (TODO: add more types)
+ python : mapnik.Image.fromstring(str) mapnik.Image.frombuffer(buf)
2013-04-12 12:46:40 +01:00
artemp
37b74f1e15 + fix memory font loading 2013-04-11 10:57:33 +01:00
Dane Springmeyer
79a216f349 remove ltdl to reduce dependencies and because calling dlopen/LoadLibrary is easy 2013-04-09 19:37:02 -07:00
Dane Springmeyer
a8e2ef7cc7 set TIFFSetErrorHandler to null to start to avoid tiff from printing to stderr on fail - refs #1783 2013-04-09 19:16:05 -07:00
Dane Springmeyer
771cbb11bf fix memory leak when reading invalid tiff - refs #1783 2013-04-09 19:08:50 -07:00
Dane Springmeyer
16e2e8a06f refactor jpeg reader to close fd after read - refs #1783 2013-04-09 18:36:02 -07:00
Dane Springmeyer
6e29ceb55f further cleanup png struct handling - refs #1783 2013-04-09 17:43:15 -07:00
Dane Springmeyer
97eda69015 avoid png_struct leak - refs #1783 2013-04-09 17:37:44 -07:00
Dane Springmeyer
dfb65d810c avoid unused arguments compiler warning 2013-04-09 16:51:30 -07:00
artemp
b6ce472414 + add png file guard 2013-04-09 11:39:16 +01:00
artemp
270b66318d + mapnik c++ naming style 2013-04-09 11:34:20 +01:00
artemp
9fb6c596b0 + fix region reading, so png's can be used in raster.input 2013-04-08 17:25:22 +01:00
artemp
2ca306290a + fix reading a region from JPEG file
+ re-use jpeg lib structures
+ avoid resource leaking (store FILE in boost::shared_ptr with custom deleter)
2013-04-08 15:56:19 +01:00
kunitoki
1bcb9784ab Merge branch 'master' of github.com:mapnik/mapnik 2013-04-08 11:32:10 +02:00
kunitoki
4d85cd2c43 - improved spatialite wkb format guess 2013-04-08 11:31:00 +02:00
artemp
a4770ac10b + cache fonts in memory 2013-04-02 13:27:05 +01:00
Hermann Kraus
23d599d7e5 Render fast subpixel halos. 2013-03-30 02:52:20 +01:00
Hermann Kraus
dc486e6971 Simplify halo rendering by reducing number of loop indices. 2013-03-30 02:48:06 +01:00
Hermann Kraus
6153c737e6 Fix checks in Map::resize(). 2013-03-28 10:55:10 +01:00
artemp
9b138728d0 + fix assignment operator #1776 2013-03-27 10:39:02 +00:00
kunitoki
af2bb2be1e - avoid using double quotes when already escaping as string 2013-03-27 09:02:03 +01:00
Dane Springmeyer
412aa510a1 fix jpeg/tiff error handling on failed reads - closes #1775 2013-03-25 18:29:29 -07:00
Hermann Kraus
fe526fd3d6 Fix PointSymbolizer collision bounding boxes. 2013-03-24 15:50:18 +01:00
Dane Springmeyer
aaecd92fb6 Merge branch 'master' of github.com:mapnik/mapnik 2013-03-22 17:58:49 -07:00
Dane Springmeyer
55ec6a7942 cleanups around exception handling 2013-03-22 17:58:33 -07:00
Dane Springmeyer
f9514e5d2c formatting 2013-03-22 17:44:27 -07:00
Dane Springmeyer
3256037eb6 forward declare the lt_dlhandle type to avoid needing header in datasource_cache.hpp 2013-03-22 17:37:56 -07:00
artemp
c84d83a685 + fix raster markers positioning 2013-03-22 12:16:23 +00:00
artemp
aa122ea907 + local vars locality 2013-03-22 11:54:34 +00:00
artemp
fe092ac7a2 + implement offset
```
offset = "<number> | <percentage>"
```
2013-03-21 12:10:08 +00:00
artemp
542805e4d6 + support multiple color stops in colorize-alpha
( TODO: add support for:  <color-stop>     = <color> [ <percentage> | <length> ]? )
2013-03-20 17:21:09 +00: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
artemp
e91908206b cairo halo patch via @springmeyer ( #1624 ) 2013-03-18 14:31:38 +00:00
Dane Springmeyer
f759964dbf c++ style 2013-03-15 16:52:02 -07:00
Dane Springmeyer
7d868558d7 fix a variety of msvc compiler warnings about signed/unsigned implicit conversion 2013-03-15 13:37:48 -07:00
Dane Springmeyer
44c02a10c5 reduce overhead of flexible agg gamma setting per symbolizer - closes #1174 2013-03-14 17:05:06 -07:00
Dane Springmeyer
06803de192 iwyu 2013-03-14 15:13:02 -07:00
XinGang Li
aff3bd2de0 iwyu: mapnik::attribute 2013-03-14 13:32:11 +08:00