Commit graph

9675 commits

Author SHA1 Message Date
Dane Springmeyer
d3836bc71a c++11 2013-12-11 07:25:23 -08: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
artemp
329224d272 revive stroke linecap/linejoin 2013-12-09 18:46:02 -05: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
artemp
6126286555 add equality comparator `` .def(self == self) // __eq__`` 2013-12-09 14:52:47 -05:00
artemp
7bae4b806c add __hash__ to all symbolizers 2013-12-09 14:52:47 -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
artemp
6a3f60954a add extract method to access underlying type from mapnik.Symbolizer 2013-12-09 13:43:42 -05:00
artemp
11080bf903 NumericWrapper helper class to pass correct numeric type
value_bool, value_integer, value_double to symbolizer property
(there must be a better way ;)
2013-12-09 12:37:42 -05: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
Dane Springmeyer
bead269923 avoid duplicate call to start_layer_processing 2013-12-07 15:09:35 -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
artemp
9392e0f21e use mapnik::value_xxx types 2013-12-06 14:36:45 +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
12dbc035cc enumeration_wrapper to python converter (work-in-progress) 2013-12-05 16:31:30 +00:00
artemp
8a0c3692f6 python bindings : output property value 2013-12-05 16:30:19 +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
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
1d453426da __str__ : initial naive stub implementation 2013-12-05 11:32:21 +00:00
artemp
0708e6a07b python : revive mapnik.Symbolizers (required by mapnik.Rule.symbols) 2013-12-05 10:18:25 +00:00
artemp
12bbf55c81 two step parameter parsing and various syntactic sugar tweaks 2013-12-04 16:11:11 +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
37fea12091 load_map : allow optional expressions in symbolizer properties (work-in-progress) 2013-12-04 11:47:36 +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
Dane Springmeyer
ad431baef2 travis: reduce email noise post policy change: http://about.travis-ci.org/blog/2013-11-19-upcoming-email-notification-policy-change/ 2013-12-03 09:01:16 -08:00
Dane Springmeyer
f123b84fd8 travis: target latest postgres 2013-12-03 08:46:35 -08:00
Dane Springmeyer
3212dbe44e add testcase for #2090 2013-12-03 08:20:48 -08:00
artemp
f83b272a98 fix boost include path 2013-12-03 09:10:51 +00:00
artemp
72378c4c62 symbolizer hash initial impl 2013-12-03 09:10:15 +00:00
Dane Springmeyer
cb27237e71 visual tests: fix rendering of khmer, malayalam, and bengali tests 2013-12-02 22:47:04 -08:00
Dane Springmeyer
a46d409898 visual tests: re-enable and update malayalam, bengali, and khmer renderings 2013-12-02 22:35:11 -08:00
Dane Springmeyer
d13c889d30 fix #2090 2013-12-02 21:51:54 -08:00
Dane Springmeyer
c7879755f4 tests: re-enable strict map loading tests 2013-12-02 21:51:24 -08:00
Dane Springmeyer
a0d9977e5e fix #2090 2013-12-02 21:47:25 -08:00
artemp
3d7cd37760 symbolizer : operator== impl 2013-12-02 16:49:23 +00:00
Artem Pavlenko
a5b18964af Merge pull request #2099 from MapQuest/mla-expr-v2-grid
Update grid renderer for `expr-v2` branch
2013-12-02 08:48:24 -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