Commit graph

2367 commits

Author SHA1 Message Date
artemp
d9f289e4f2 Merge branch 'MapQuest-mla-expr-v2-renderer-common' into expr-v2 2014-01-07 16:05:56 +00:00
Matt Amos
fcbc727f63 scale_factor_ now in common_. 2014-01-07 16:00:11 +00:00
artemp
2884bd0443 fix : use 'template' keyword to treat 'set' as a dependent template name error (clang) 2014-01-07 15:52:28 +00: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
5dae2999b1 symbolizers: set_property helper 2013-12-11 17:27:52 -05:00
artemp
f21152a6a9 register target type for symbolizer properties 2013-12-11 17:27:52 -05:00
artemp
d5a0537471 convert json value into symbolizer_base::value_type 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
artemp
b7dda95d84 move symbolizer to json into core
symbolizer json grammar (needs more work)
2013-12-10 15:51:07 -05: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
Matt Amos
ceaea9a948 Factored out common implementation of polygon symbolizer. 2013-12-09 20:42:00 +00: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
Dane Springmeyer
3376a2e1a0 avoid duplicate call to start_layer_processing
Conflicts:
	include/mapnik/feature_style_processor_impl.hpp
2013-12-07 15:11:26 -08: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
artemp
fb63d51b37 add quoting for relevant types 2013-12-06 13:11:24 +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
7245a6f5bd symbolizer property value to string 2013-12-05 16:28:44 +00:00
artemp
7169e14d90 use constexpr to allow combining type traits 2013-12-05 16:26:42 +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
9945822cc7 make apply() static and disable copy ctor/assignment 2013-12-04 15:14:53 +00:00
artemp
7eb84ad1ab more meaningful error message 2013-12-04 15:09:45 +00:00
artemp
442ffbe911 expression grammar : allow '-' in @attribute
e.g ```@water-fill```
note: this might clash with subtraction ops (fixme)
2013-12-04 11:44:18 +00:00
artemp
1c490f5312 global attributes evaluator 2013-12-04 11:43:16 +00:00
artemp
72378c4c62 symbolizer hash initial impl 2013-12-03 09:10:15 +00:00
artemp
3d7cd37760 symbolizer : operator== impl 2013-12-02 16:49:23 +00:00
Matt Amos
d64b86dcdf Updated grid renderer for expr-v2 branch.
All the grid visual tests pass.

One small issue is that in the grid line pattern symbolizer it
constructs a 'fake' line symbolizer to re-use code (as the grid
renderer cares nothing for patterns), but doesn't pass the
offset parameter to it. The tests currently require this
behaviour, but they should probably be changed as it seems
incorrect.
2013-12-02 13:49:53 +00:00
artemp
b22eaa28a7 format : fix copy note 2013-12-02 11:00:42 +00:00
artemp
6705f01a8f expressions grammar : fix global attribute rule 2013-12-02 10:47:54 +00:00
artemp
eebc638d28 c++11 : add chrono based auto timer 2013-12-02 10:13:51 +00:00
Dane Springmeyer
a6d75ab9d0 fix wkt_multi_generator typedef - previously accidentally matched mapnik::geometry_container - bug spotted by @mojodna - refs #2098 2013-12-02 09:00:16 +00:00
Dane Springmeyer
523cb96e22 fix wkt_multi_generator typedef - previously accidentally matched mapnik::geometry_container - bug spotted by @mojodna - refs #2098 2013-11-30 16:55:25 -08:00
artemp
c98903b7a6 make Map equality comparable (work-in-progress) 2013-11-29 17:00:40 +00:00
artemp
85dfd045ec reduce verbosity :D 2013-11-29 14:38:44 +00:00
artemp
06592cedc3 re-use evaluator object 2013-11-29 14:10:58 +00:00
artemp
a1c2bd0d86 pass filter_type by r-value 2013-11-28 15:13:22 +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
7b9ca29f60 remove unused code 2013-11-21 13:29:04 -08:00
Dane Springmeyer
e4460150d3 merge with branch 2.3.x 2013-11-21 13:23:27 -08:00
Dane Springmeyer
1c56f0dc19 Merge branch '2.3.x' of github.com:mapnik/mapnik 2013-11-21 13:09:52 -08:00
Dane Springmeyer
cab6d239f2 apply 5eb406c7df to non PHOENIX_V3 code 2013-11-21 13:09:18 -08:00
artemp
9d7d024cf4 geojson parser : add phoenix v2 not_empty implementation 2013-11-21 10:10:43 +00:00
artemp
2b8b71fc98 geojson generator : catch empty geometries early
```json
{"type":"Feature","id":1,"geometry":null,"properties":{}}
```
2013-11-21 10:10:43 +00:00
artemp
4aa3023a9d cleanup commented out code 2013-11-21 10:10:43 +00:00