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
Dane Springmeyer
15373f8e48
iwyu
2013-11-20 17:46:58 -08:00
artemp
6e4007b8c0
geojson generator : catch empty geomeries
2013-11-20 16:00:11 +00:00
artemp
5eb406c7df
geojson parser : only close path if we have at least 3 vertices
2013-11-20 16:00:11 +00:00
Dane Springmeyer
37341a1282
fix hit_test for lines + add tests - refs #2041
2013-11-19 20:01:34 -08:00
Dane Springmeyer
c480d9d878
break out benchmark suite into individual cpp
2013-11-14 23:11:21 -08: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
4ae6c0ac61
fix typo
2013-11-13 18:47:38 -08:00
Dane Springmeyer
410c65eb37
consistenly use std::memcpy and std::memset
2013-11-09 23:02:24 -08:00
Dane Springmeyer
81869a5532
iwyu
2013-11-08 19:11:06 -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
49829bf2f6
fix #1846 in 2.3.x branch for unix (msvc still a mystery)
2013-11-06 13:43:10 -08:00
Dane Springmeyer
d0619bc402
update copyright year for scons build files
2013-11-05 16:54:13 -08:00
Dane Springmeyer
ca25d6797a
Merge branch '2.3.x' of github.com:mapnik/mapnik
2013-11-04 09:40:58 -08:00
Dane Springmeyer
412f90a3ee
Fix -Wshadow warning
2013-11-04 09:38:04 -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
2d268d3a95
features_with_context: no need for default arg
2013-11-03 23:07:03 -08:00
Dane Springmeyer
f1c381e2c6
feature_style_processor: remove unused arg
2013-11-03 23:07:03 -08:00
Dane Springmeyer
a5f8ba5c6c
fix -Wsign-conversion warnings
2013-11-03 23:07:03 -08:00
Dane Springmeyer
d9bc3dbb81
fix -Wsign-conversion warnings
2013-11-03 23:07:02 -08:00
Dane Springmeyer
eb1c976bc9
fix -Wsign-conversion warnings
2013-11-03 23:07:02 -08:00
Dane Springmeyer
a659332284
fix -Wsign-conversion warnings
2013-11-03 23:07:02 -08:00
Dane Springmeyer
dd5848aff0
fix linking on windows - accidentally broken in 8b5323f101
(restores fix from 03d8b6d9d7
)
2013-11-03 15:22:28 -08:00
artemp
febf712343
Revert "+ std::unordered_map to store properties"
...
This reverts commit d909c6dede
.
2013-10-29 14:17:45 +00:00
artemp
fe1c88f4a5
topojson : allow individual geometries not just geometry collections
2013-10-29 10:55:13 +00:00
artemp
c7a989ae83
first attempt to re-use generic JSON rules in geojson/topojson parsers
2013-10-28 15:57:51 +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
882ee3cb32
Merge branch '2.3.x' of github.com:mapnik/mapnik
2013-10-23 21:12:54 -07:00
Dane Springmeyer
2ef7f13d53
fix indent
2013-10-23 21:12:36 -07:00
Dane Springmeyer
427e1c03b7
polygon clipper: ensure we return from function
2013-10-23 16:10:06 -07:00
Dane Springmeyer
a248f880d6
include <mutex>: fixes compile on ubuntu precise/g++4.7/libstdc++
2013-10-23 15:43:54 -07:00
artemp
043f52d0a6
style : format
2013-10-22 17:15:27 +01:00
artemp
e1fc9aed82
c++11
...
fix mapnik::noncopyable
Conflicts:
include/mapnik/noncopyable.hpp
2013-10-21 16:46:41 +01:00
artemp
7adee4ab36
c++11 : remove boost::make_shared includes
2013-10-17 15:09:56 +01:00
Dane Springmeyer
e01b39729f
respect args passed to apply_to_layer which repairs broken mapnik::request usage ( #1737 ) after 7495d2f381
2013-10-16 09:42:57 +01:00
Dane Springmeyer
c881fee7f0
respect args passed to apply_to_layer which repairs broken mapnik::request usage ( #1737 ) after 7495d2f381
2013-10-15 18:12:07 -04:00
Seth Fitzsimmons
1304a6a1b8
Fix reference to non-existent 'colors'
...
Allows builds with DEBUG=true to succeed.
2013-10-14 14:40:19 -07:00
artemp
10f9371088
+ fix typo
2013-10-14 13:06:20 +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
6fe204ce2a
+ log clipper errors/warnings
2013-10-11 10:18:05 +01:00
artemp
a71f0b8a93
+ fix typo
2013-10-10 13:59:21 +01:00
artemp
07a6fee1ed
== polygon clipper
...
+ don't build boost::geometry structures when :
* input bounding box is contained by clipping box (return original verticies)
* input box is outside of clipping box ( return SEG_END)
2013-10-10 13:44:32 +01:00
artemp
89586fbdf1
+ only extract expected types from mapnik::parameters
...
aka mapnik::value_xxx types
2013-10-09 15:32:47 +01:00
artemp
be127927cb
+ add operator>>
2013-10-09 15:32:00 +01:00
artemp
01bf5e775e
== topojson
...
+ allow multiple geometry collections
+ support id parsing
2013-10-07 17:44:22 +01:00
artemp
d909c6dede
+ std::unordered_map to store properties
2013-10-07 17:43:38 +01:00
Dane Springmeyer
1e024984e7
correct signed/unsigned comparison in image filter visitor
2013-10-05 17:37:23 -07:00
Dane Springmeyer
ddf2226b6f
merge with branch 2.3.x
2013-10-05 15:37:29 -07:00
artemp
e3f18717d3
== topojson ==
...
support multi geometries
2013-10-04 15:40:06 +01: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
5f092c7130
ctrans: add getter for offsets
2013-10-03 12:06:52 -07:00
Dane Springmeyer
879aec064a
ensure we do not query layers with no active styles
2013-10-03 11:25:05 -07:00
artemp
56a14368bf
cleanup usage
2013-10-03 17:16:21 +01:00
artemp
ac8ececf1c
== topojson ==
...
+ use boost::variant<> for storing properties
+ parse properties as top level key/value pairs
2013-10-03 15:32:07 +01:00
Dane Springmeyer
9c8f7cc90d
merge with 2.3.x branch
2013-10-02 18:25:24 -07:00
Dane Springmeyer
f9e630bbd3
Merge remote-tracking branch 'origin/2.3.x'
2013-10-02 18:23:09 -07:00