Commit graph

3174 commits

Author SHA1 Message Date
Dane Springmeyer
3de2457799 fwd declare layer 2014-07-22 23:11:12 -07:00
Dane Springmeyer
58163a583c clean up tuple includes 2014-07-22 23:01:31 -07:00
Dane Springmeyer
64e70fb374 iwyu 2014-07-22 22:40:39 -07:00
Dane Springmeyer
a80d7c9602 std::unordered_map for non-perf critical debug code 2014-07-22 22:39:49 -07:00
Dane Springmeyer
95aa4c709d use std::unique_lock instead of boost::unique_lock 2014-07-22 20:06:13 -07:00
Dane Springmeyer
6c6b1bd650 iwyu 2014-07-22 19:45:54 -07:00
Dane Springmeyer
28a05c96ef iwyu + faster compile 2014-07-22 19:36:39 -07:00
Dane Springmeyer
6a8b3e9cf9 fix clipping default until #2146 2014-07-22 12:15:45 -07:00
Dane Springmeyer
006c460c9c fix use of comp-op as data-driven expression 2014-07-22 10:52:30 -07:00
Dane Springmeyer
7744a65536 remove uneeded usage of boost::ignore_unused_variable_warning 2014-07-22 10:51:31 -07:00
artemp
498bba7cf8 c++ : pass arg by const ref 2014-07-22 16:09:10 +01:00
artemp
f12b5e06dd c++ style 2014-07-22 15:58:37 +01:00
artemp
bfc6c61d62 c++ - pass by const ref etc. 2014-07-21 14:46:54 +01:00
artemp
eacde4fe43 remove dummy_shaper 2014-07-21 12:41:31 +01:00
artemp
ee58762bd9 add property_serializer impl 2014-07-21 11:19:26 +01:00
artemp
93d40323c5 orientation -> symbolizer_base::value_type 2014-07-18 15:48:56 +01:00
artemp
594470ee17 expressions in text/formatting/layout (work-in-progress) 2014-07-18 11:18:54 +01:00
artemp
f9ed5d4027 add has_attribute(std::string const&) member function 2014-07-18 11:17:48 +01:00
artemp
56381b5770 make set_property_from_xml more generic
(e.g work with symbolizer_base::value_type and optional<symbolizer_base::value_type>)
2014-07-18 11:15:30 +01:00
artemp
efe0cf57b4 move set_property_from_xml into separate header for re-use 2014-07-18 11:14:28 +01:00
artemp
dcb60d5842 make add_expressions pure virtual in base class 2014-07-17 17:26:54 +01:00
artemp
18d1d0b8d5 fix path_move_dx 2014-07-17 17:26:20 +01:00
artemp
620aa62ab5 remove unused member variable 2014-07-17 17:01:03 +01:00
artemp
21986e5d4a refactor pass 2014-07-17 16:55:22 +01:00
artemp
79c1ac96b4 avoid captures in displacement_evaluator 2014-07-17 16:55:22 +01:00
Dane Springmeyer
8eab2d31de remove dead code 2014-07-16 16:13:56 -07:00
artemp
8a01cce2f7 move displacement_evaluator_ initialisation
c++ style fixes
2014-07-16 16:34:42 +01:00
artemp
4166fcdd5d store displacement logic in std::function and delay calc until dx/dy are evaluated (layout) 2014-07-16 14:24:00 +01:00
artemp
6c03a617a5 text displacement expr : more re-factoring and various fixes 2014-07-15 16:31:43 +01:00
artemp
1f17620e18 make methods pure virtual where appropriate
pass std::string by const ref (!)
c++ style
2014-07-15 11:15:26 +01:00
artemp
72bae0d6b8 text properties : displacement expr 2014-07-15 10:15:56 +01:00
artemp
a66c1ddb06 convert to expressions: text-ratio, wrap-before, rotate-displacement 2014-07-14 16:51:11 +01:00
artemp
0524a31d02 cleanup 2014-07-14 16:08:21 +01:00
artemp
00175c9e5f symbolizer : is_expression helper function 2014-07-14 14:15:06 +01:00
artemp
ee6d394321 color : add hash support 2014-07-14 12:36:04 +01:00
artemp
e066aa924f text_properties : wrap-width 2014-07-11 15:44:44 +01:00
artemp
4afd98a34a text_properties : store 'orientation' parameter in symbolizer_base::value_type 2014-07-11 14:43:56 +01:00
artemp
64ef711b76 move enumerations into separate compilation unit 2014-07-11 10:26:51 +01:00
artemp
c79e74116d cleanups 2014-07-11 09:51:34 +01:00
artemp
484c1fab50 c++ style 2014-07-10 17:14:34 +01:00
artemp
9e84b6101b store const* in glyph_t 2014-07-10 12:46:42 +01:00
artemp
6cd7026aac pass text_placement_info by ref to placement_finder + formatting 2014-07-10 11:44:46 +01:00
artemp
8c6015ec60 first take at cleaning-up text placement code
(NOTE: get_text_info is temp disabled in python bindings)
2014-07-09 11:31:03 +01:00
artemp
9e76ca7870 color : add move ctor 2014-07-08 18:13:44 +01:00
artemp
04facd3542 mode range ``for loops`` 2014-07-08 17:02:22 +01:00
artemp
65ee7ea005 range based for loops for better readability 2014-07-08 16:39:22 +01:00
artemp
81f7e69088 coord_arrat<T> : add support for range based for loop interface
update wkb parser to use it ^^
2014-07-08 16:22:24 +01:00
artemp
ebdfc5b11a use c++ casts 2014-07-07 19:23:28 +01:00
artemp
4556921e9a remove typedef usage
(FIXME: revisit yes/no hacky implementation with c++11 features)
2014-07-07 19:15:52 +01:00
artemp
fe215a684e c++11 style : replace (almost) all typedef with type alias's 2014-07-07 18:23:15 +01:00
artemp
0f01000570 prefer using type alias's instead of ``typedef``
e.g
```c++
using identifier attr(optional) = type-id ;
```
2014-07-07 11:56:16 +01:00
artemp
673c8edbb5 set_symbolizer_property_impl - pre-evaluate expressions when is_enum = false 2014-07-07 11:30:08 +01:00
artemp
0f9ff9fe5e typo 2014-07-07 11:30:08 +01:00
artemp
1f2f17160e initial implementation to pre-evaluate symbolizer properties where possible
FIXME: generic version needs needs help type deduction
2014-07-03 16:35:18 +01:00
artemp
6d1422c5bb c++ style : pre-increment 2014-07-03 10:16:11 +01:00
artemp
ab3aad38ad symbolizer properties : image_transform, cleanups 2014-07-03 09:06:24 +01:00
artemp
5ef8078252 markers_symbolizer properties update 2014-07-02 13:08:05 +01:00
artemp
13d3465000 update point_placement_enum, gamma_method_enum, line_rasterizer_enum parsing, gamma-method 2014-07-02 11:01:38 +01:00
artemp
504c6fdabd make ``simplify_algorithm`` an expression 2014-07-02 10:15:44 +01:00
artemp
e052b6c6cf Merge branch 'master' of git://github.com/romanustinov9/mapnik into romanustinov9-master 2014-07-01 14:03:31 +01:00
Roman Ustinov
595e8915a5 Made save_to_stream function available outside of library 2014-07-01 14:45:52 +04:00
artemp
2271e7413c ENUM_FROM_STRING macro to keep things tidy and scalable 2014-06-30 17:41:33 +01:00
artemp
79fa672843 support expressions in stroke-linejoin and stroke-linecap properties 2014-06-30 14:06:34 +01:00
artemp
19b38c2ed9 more generic expressions in enum
support expressions in halo-comp-op symbolizer property
2014-06-27 16:11:30 +01:00
artemp
aa9966ed88 parse comp-op property as enumeration_wrapper or expression_str 2014-06-27 13:58:03 +01:00
artemp
b197cbcdb7 tidy up 2014-06-25 09:01:20 +01:00
artemp
a49abab7ed use std::uniqure_ptr<char[]> to store memory fonts 2014-06-24 12:05:53 +01:00
Dane Springmeyer
4c4ce5a04c windows build fixes in palette and miniz_png headers 2014-06-21 14:08:14 -07:00
Dane Springmeyer
34f1cc57c0 windows fix: declar miniz PNGWriter 2014-06-21 14:08:06 -07:00
Dane Springmeyer
184d9dd43b fix unicode handling in is_regular_file check - refs #2273 2014-06-20 22:26:33 -07:00
artemp
b0980ac329 cairo renderer: comp_op/halo_comp_op support in text_symbolizer 2014-06-20 09:55:10 +01:00
Mike Morris
2eafed2991 remove all rounding in glyph_info methods 2014-06-19 16:39:32 -04:00
Mike Morris
b8b22afbbc remove advance rounding 2014-06-19 16:38:15 -04:00
Mike Morris
24a7e87f1c Merge pull request #2272 from mapnik/unscaled-glyphs
Unscaled glyphs
2014-06-19 16:35:06 -04:00
artemp
68a5cc55a6 image_filters : agg-stack-blur requires premultiplied pixels - move de/pre multipling into apply_filter() 2014-06-19 15:40:54 +01:00
artemp
2fb3069825 image-filters: apply image-filters in demultiplied colour space 2014-06-19 13:26:40 +01:00
Dane Springmeyer
8da2805d42 Merge branch 'master' into unscaled-glyphs
Conflicts:
	include/mapnik/text/dummy_shaper.hpp
	include/mapnik/text/harfbuzz_shaper.hpp
	include/mapnik/text/icu_shaper.hpp
2014-06-18 20:40:33 -07:00
artemp
2f15631182 premultiply R,G,B channels after applying filters 2014-06-18 19:06:53 +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
d9597972d4 prefer c++ style comments 2014-06-17 14:25:02 +01:00
Mike Morris
28a3f4d2a2 fix line height 2014-06-16 18:47:16 -04: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
cc874364b2 allow external image data - refs #2002
Conflicts:
	include/mapnik/image_data.hpp
	tests/cpp_tests/image_io_test.cpp
2014-06-16 09:52:25 -07:00
artemp
7cc87c2196 fix compilation warnings 2014-06-16 11:45:33 +01:00
artemp
6bb47d9f5e add 'cairo' subdir 2014-06-16 11:45:10 +01:00
artemp
cbab56fa79 text symbilizer : add halo-opactity property (#2268) 2014-06-16 11:24:16 +01:00
artemp
91a523733b fix unused parameter warnings 2014-06-16 11:23:50 +01:00
Dane Springmeyer
e5dd7e0ec7 attempt to fix compile on linux 2014-06-12 19:08:30 -07: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
Mike Morris
3948e01c97 set glyph advance to floor for mapnik 2.x parity 2014-06-12 12:24:20 -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
artemp
d2eca542a9 formatting 2014-06-10 09:15:50 +01:00
artemp
b6bab7d0bb move cairo renderer into its own subdir 2014-06-06 13:38:00 +01:00
artemp
de90d0ee2a fix markers transforms calc 2014-06-05 16:47:40 +01:00
artemp
bbb727e39a update cairo_renderer 2014-06-05 15:15:36 +01:00
artemp
961bc69a1c cleanup+format 2014-06-05 15:15:36 +01:00
artemp
27b4faf4e7 remove dead code 2014-06-04 18:12:35 +01:00
artemp
a49e1d075e initial refactor pass (fixes #2235) 2014-06-04 18:05:27 +01:00
Dane Springmeyer
1acd49d630 fix spelling in comment 2014-06-03 22:06:49 -07:00
artemp
bedd275e95 more const correctness + cleaups 2014-06-02 17:09:12 +01:00
artemp
526e03d8c1 pedantic : use const quialifier where appropriate 2014-06-02 16:47:55 +01:00
artemp
ed8bfcabe4 feature_impl : make context() method const 2014-06-02 16:47:11 +01:00
artemp
08a1a4392c c++ formatting 2014-06-02 12:34:25 +01:00
artemp
9792ee4e94 remove unused anonymous namespace 2014-06-02 12:09:00 +01:00
artemp
5078c88d00 format 2014-06-02 12:08:28 +01:00
artemp
f9cf23b59f memory_datasource: support datasource interface 2014-05-30 10:16:49 +01:00
artemp
db88c41cb4 mapnik::datasource -- operator==() // comp parameters 2014-05-28 15:16:39 +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
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
233b0c5332 add operator== to image_filters 2014-05-27 13:42:53 +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
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
artemp
f76c5576b6 + add compiler generated move ctor 2014-05-23 12:15:39 +01:00
Dane Springmeyer
12602c7e9c fix typo 2014-05-22 21:49:39 -07:00
Dane Springmeyer
d393470453 yet another try to please msvs 2010 2014-05-22 21:35:03 -07:00
Dane Springmeyer
8c0927baf0 no default args for template declaration 2014-05-22 21:34:58 -07:00
Dane Springmeyer
80dbdf28c9 fix msvs 2010 linking - refs #260 2014-05-22 21:29:03 -07:00
Dane Springmeyer
5974c79654 expose various image symbols for windows - refs mapnik/node-mapnik#260 2014-05-22 21:28:44 -07:00
Dane Springmeyer
680bb22133 fix ambiguous std::fabs and the compile on windows 2014-05-22 19:59:07 -07:00
Dane Springmeyer
f9677641dd Merge branch 'master' of github.com:mapnik/mapnik into render-time-variables 2014-05-19 12:33:35 -07:00
artemp
509a59353c be more consistent with JS logic when evaluating operators on unicode_strings
'abc' + 'de' -> 'abcde'
'abc' ( - | * | / | % ) 'de' -> value_null
2014-05-19 12:54:16 +01:00
artemp
cf9e5fad3e return default constructed ``value_type->value_null` instead of `std::numeric_limits<value_type>::infinity()`` 2014-05-19 12:06:40 +01:00
Dane Springmeyer
03bb82b13f Merge branch 'master' of github.com:mapnik/mapnik into render-time-variables 2014-05-16 07:49:06 -07:00
artemp
a6a3af02d9 relax FeatureCollection grammar to allow arbitary key:value's 2014-05-16 11:18:27 +01: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
Dane Springmeyer
7fa6747a29 Merge branch 'master' of github.com:mapnik/mapnik into render-time-variables 2014-05-14 11:44:57 -07: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
e300a41dca variables now available as postgis datasource tokens 2014-05-13 20:47:22 -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
29d92fd162 Merge branch 'master' of github.com:mapnik/mapnik into render-time-variables 2014-05-12 21:26:04 -07:00
Dane Springmeyer
039e620147 don't allow marker-spacing less than 1 - fixes #2218 2014-05-12 21:25:49 -07:00
Dane Springmeyer
1e3f062af8 Merge branch 'master' of github.com:mapnik/mapnik into render-time-variables 2014-05-12 08:45:15 -07:00
artemp
ba35dfe3b0 mapnik::value - return 'infinity' if rhs == 0 to avoid division by zero 2014-05-12 10:14:10 +01:00
artemp
1a32cc5630 + add eq/neq operators value_null <--> T 2014-05-12 10:12:09 +01:00
Dane Springmeyer
2c661ed3d5 support for render time variables 2014-05-11 13:08:24 -07:00
Dane Springmeyer
7364a30e67 improve handling of colors as expressions 2014-05-08 00:45:18 -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
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
439fc9f700 fix variable shadowing in placements_list.hpp 2014-05-05 10:44:59 -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
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
ad10497503 cache result of parse_expression to speed up map loading - refs #1167 2014-04-28 18:02:14 -07:00
Dane Springmeyer
ef837eb92f c++11 optimizations for faster map loading 2014-04-28 17:10:00 -07:00
Dane Springmeyer
73517c9104 fix return value for string2bool 2014-04-27 08:51:14 -07:00
Dane Springmeyer
b7b1acaa50 optimize string2bool 2014-04-25 21:46:40 -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
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
34771d20dd add newlines to avoid pedantic warnings 2014-04-24 12:53:08 -07:00
Dane Springmeyer
c4dbcf93bc fix version in code comment 2014-04-15 17:26:02 -04:00
Dane Springmeyer
d577b0814b remove uneeded asserts in png_io 2014-04-09 19:34:13 -04:00
Dane Springmeyer
cf784f5e29 restore agg polygon clipper 2014-04-09 00:28:18 -04: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
080b8e174c fixup c++ style in offset_converter 2014-03-18 17:31:15 -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
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
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
dc8a13c44e rename a few variables to avoid likely clashes 2014-03-09 21:29:52 -07:00
Dane Springmeyer
21555b51c2 avoid double application of scale_factor - refs #1926 2014-02-27 13:28:25 -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
b1cfe548b0 avoid double application of scale_factor - refs #1926 2014-02-27 13:20:58 -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
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
artemp
ecc5acbdb9 attempt to handle multi-polygons in shape.input 2014-02-24 15:20:06 +00:00
artemp
7adb29bdd0 restore agg polygon clipper 2014-02-24 15:19:29 +00: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
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
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
b799395f6a remove unused code 2014-02-10 21:39:56 -08:00
Dane Springmeyer
913bcb44b3 c++11 2014-02-10 21:36:59 -08:00
Dane Springmeyer
c13448f75e collect attributes from all properties - closes #2153 2014-02-10 19:41:17 -08:00
artemp
5b286da889 c++ : style 2014-02-10 21:56:20 +00: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
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
d99daff007 iwyu 2014-02-09 13:25:00 -08:00
Dane Springmeyer
89f72f02e8 pass feature to vertex_converters - refs #2148/#2140 2014-02-08 22:10:14 -08:00
Dane Springmeyer
c275d5512d consistently use mapnik value types 2014-02-07 22:41:50 -08:00
Dane Springmeyer
fa762ce971 now that we only support boost >= 1.47 we can remove older phoenix support 2014-02-07 22:36:33 -08:00
Jordan Hollinger
658d7e8888 Replace tabs with spaces. Remove unused method prototype. 2014-02-07 18:11:54 -05:00
Dane Springmeyer
d082732797 Merge pull request #2136 from MapQuest/mla-expr-v2-multi-line-text-alignment
Multi-line text alignment
2014-02-07 11:05:08 -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
c86cf6e5f9 remove uneeded header 2014-01-29 10:42:28 -08:00
artemp
5416bd6c3a impl move ctor 2014-01-29 18:08:21 +00:00
artemp
4a2c5d84b7 make ImageData explicitly movable 2014-01-29 14:39:56 +00:00
artemp
5a1888a3b9 mapnik::color operator= 2014-01-29 09:56:44 +00: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
6ccaf8beb2 1. return by ref from operator=
2. provide operator= overload
2014-01-28 16:50:41 +00:00
artemp
9b08d1ba00 unify assignment op's 2014-01-28 16:49:52 +00:00
artemp
c6b96d2f36 remove vertex_type (unused) 2014-01-28 16:19:36 +00:00
artemp
1d8d5964d4 operator= overload 2014-01-28 16:18:47 +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
a602518a10 remove c++11 feature that should not be used in 2.3.x branch 2014-01-27 16:35:59 -08: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
dec15c257b geometry envelope: calculate size once 2014-01-27 12:19:49 -08:00
Dane Springmeyer
c5aad93428 fix topojson compile and centralize confix workaround 2014-01-26 16:19:27 -08:00
Dane Springmeyer
63ea37b4c2 further no terminal port 2014-01-26 14:49:03 -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
0fc7b8bc01 include <array> header for std::array 2014-01-26 13:45:29 -08:00
Dane Springmeyer
29e7b19007 boost::array -> std::array 2014-01-26 13:44:30 -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
7520c15e86 Merge branch 'master' of github.com:mapnik/mapnik into expr-v2 2014-01-22 20:48:07 -08:00
Dane Springmeyer
328df74c13 correct include for std::min/max 2014-01-22 17:02:28 -08:00
Dane Springmeyer
3bd9e1b283 correct include for std::min/max 2014-01-22 17:01:38 -08:00
Dane Springmeyer
cdaa31aa5e Revert "branch 2.3.x from master at v2.2.0-242-ge85cdda"
This reverts commit 9e66317af1.
2014-01-20 14:39:28 -08:00
Dane Springmeyer
50f978777d remove uneeded include 2014-01-19 16:26:38 -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
Dane Springmeyer
833cfb9827 Revert "branch 2.3.x from master at v2.2.0-242-ge85cdda"
This reverts commit 9e66317af1.
2014-01-09 12:39:35 -08:00
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
Dane Springmeyer
e52b4ebf9a harfbuzz_shaper: just call hb_shape not hb_shape_full 2013-12-18 12:22:40 -05: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
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
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
Dane Springmeyer
199b550e98 fix wkt_multi_generator typedef - previously accidentally matched mapnik::geometry_container - bug spotted by @mojodna - refs #2098 2013-11-30 16:53:39 -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
e5bb5ed8aa backport geojson parsing/generation fixes from master to 2.3.x - refs #2083 2013-11-21 14:11:47 -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
Dane Springmeyer
371d79774a avoid integer overflows in agg by using clamping in agg:iround with agg::rasterizer_sl_clip_int_sat - closes #2000 2013-10-02 17:08:22 -07:00
artemp
77d0ecc459 c++11
remove BOOST_FOREACH
2013-10-02 09:42:03 +01:00
artemp
81159bc006 oops -> don't copy topology object 2013-10-01 19:18:05 +01:00
artemp
20a0f55e7d topojson
+ bounding box visitor
2013-10-01 17:16:16 +01:00
artemp
4bf15a04ef topojson
+ make transform optional to match TopoJSON spec
2013-10-01 17:16:16 +01:00
artemp
ecc2b39865 mapnik::memory_datasource - qualify virtual methods for brevity 2013-10-01 14:48:54 +01:00
Dane Springmeyer
c34c8a568f merge with branch 2.3.x 2013-09-30 13:33:28 -07:00
Dane Springmeyer
8ebd804360 remove tabs 2013-09-30 13:30:16 -07:00
artemp
fddec700ad TopoJSON input plugin
skeleton implementation
2013-09-30 14:14:58 +01:00
artemp
d116ca062f + cleanup 2013-09-30 11:35:42 +01:00
artemp
c860ed4d99 == TopoJSON parser ==
https://github.com/mbostock/topojson/wiki
2013-09-30 11:16:58 +01:00
artemp
2b50c105c3 + style 2013-09-30 08:56:58 +01:00
Dane Springmeyer
ca6d6df446 fix code formatting 2013-09-27 16:15:16 -07:00
Dane Springmeyer
82e1b37281 allow single color colorize-alpha 2013-09-27 16:11:23 -07:00
Dane Springmeyer
f4c3620d67 protect against invalid memory access if agg gradient lookup fails to build 2013-09-27 15:24:33 -07:00
Dane Springmeyer
b787f4d672 fix image-filter serialization for scale-hsla and colorize-alpha 2013-09-27 14:06:07 -07:00
Dane Springmeyer
7a4bf4e3b0 remove debug prints 2013-09-27 12:20:57 -07:00
Dane Springmeyer
90dd6b9d61 optimize case where image_view is used but is not a subset - refs #2024 2013-09-27 12:17:31 -07:00
Dane Springmeyer
44807673a3 optimize webp pixel copy by moving row chunks rather than pixels - refs #2024 2013-09-27 11:54:12 -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
0ca2edb206 fix #2024 (TODO - avoid image copy for lossy encoding of views) 2013-09-26 20:07:04 -07:00
Dane Springmeyer
3531276864 fix one part of #2024 2013-09-26 19:29:05 -07:00
Dane Springmeyer
68ff3ceead add color-to-alpha image-filter - closes #2023 2013-09-26 16:14:40 -07:00
Dane Springmeyer
535c580829 std::trunc is not available with g++-4.8 on android (and also likely not msvc) 2013-09-26 12:47:07 -07:00
Dane Springmeyer
f0bebe5b10 iwyu 2013-09-25 21:35:25 -07:00
Dane Springmeyer
0f4ba4dfd5 sync with 2.3.x branch 2013-09-25 20:04:31 -07:00
Dane Springmeyer
843fdc0871 stub in colorize-alpha filter output to avoid crash - refs #2021 2013-09-25 15:33:10 -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
df3a455e19 refactor nodata related code dropping support for user-overide nodata where it does not make sense - refs #2023 2013-09-25 14:37:21 -07:00
Dane Springmeyer
0ffb9ef308 Merge branch '2.3.x' of github.com:mapnik/mapnik 2013-09-25 13:14:01 -07:00
Dane Springmeyer
9e66317af1 branch 2.3.x from master at v2.2.0-242-ge85cdda 2013-09-24 23:21:37 -07:00
Dane Springmeyer
681f8853d3 pull in changes from master 2013-09-24 22:57:01 -07:00
Dane Springmeyer
0b5d70f926 polygon_clipper: detect invalid winding order when in debug mode 2013-09-24 21:18:52 -07:00
Dane Springmeyer
e85cddaaf5 iwyu 2013-09-24 21:13:52 -07:00
Dane Springmeyer
67b2651527 remove unused clipper converter 2013-09-24 21:03:38 -07:00
Dane Springmeyer
2c46300f61 remove dead code (colorize-alpha is now officially an image-filter) 2013-09-24 17:18:14 -07:00
Dane Springmeyer
6e4c911bb6 fix bug in polygon_clipper coincident vertice detection 2013-09-24 14:06:16 -07:00
Dane Springmeyer
5e1f1c2b79 avoid unneccesary projection copy 2013-09-23 19:45:10 -07:00
Dane Springmeyer
75d88f3370 Merge branch 'master' of github.com:mapnik/mapnik into Mappy-master-async-postgis 2013-09-23 14:31:55 -07:00
Dane Springmeyer
81650e59c1 fix to_geojson polygon output after bug introduced in merge 76f111cc97 - closes #2019 2013-09-23 12:16:39 -07: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
780d6a459d Merge branch 'master' of github.com:mapnik/mapnik into Mappy-master-async-postgis 2013-09-22 22:08:23 -07:00
Dane Springmeyer
bd2a122b19 fix sign compare warning 2013-09-22 22:03:27 -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
artemp
6e6cff4613 remove has_nothrow_copy
as it was triggering requirement for move ctor in UnicodeString
which is not _yet_ available
2013-09-20 14:01:27 +01: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
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
5c534c1ac6 make rule_cache noncopyable 2013-09-19 18:01:51 -07:00
artemp
a8d49b8112 + use mapnik::polygon_clipper by default 2013-09-19 09:12:50 +01:00
Dane Springmeyer
25ee36f74e merge 2013-09-18 20:41:20 -07:00
Dane Springmeyer
2ebd3e9bf8 iwyu 2013-09-18 20:40:30 -07:00
Dane Springmeyer
8b5323f101 drop suncc support from singleton class 2013-09-18 20:29:46 -07:00
Dane Springmeyer
c77e9fed5c c++ style 2013-09-18 20:29:01 -07:00
Dane Springmeyer
5c77edcc5e remove uneeded usage of std::move 2013-09-18 20:24:51 -07:00
Dane Springmeyer
121e5b59b0 mapnik::value: avoid extra copy of value_unicode_string + define copy and assignment 2013-09-18 20:14:50 -07:00
Dane Springmeyer
111bdccebc various post-merge fixes 2013-09-18 19:51:14 -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
b2d1363011 remove expression optimizer for now since it is currently unused - refs #1002 2013-09-18 19:19:41 -07:00
Dane Springmeyer
6496a44465 drop boost::interprocess::bufferstream and optimized wkb output 2013-09-18 19:12:14 -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
d79ecf882f merge with master 2013-09-18 18:49:32 -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
ebf9dd39d4 be explicit about inlining feature.hpp methods 2013-09-18 14:59:06 -07:00
Dane Springmeyer
d4d5b617d2 re-enable miniz 2013-09-18 14:06:46 -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
1dd12755c6 optimize expression evaluation of text by avoiding extra copy 2013-09-15 23:18:11 -07: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
David Marteau
7495d2f381 [mappy] Parallel feature requests supports - PostGIS async requests 2013-09-11 14:04:10 +02: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
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
42d3bb11af webp: WebPConfig.lossless, WebPPicture.use_argb, and WebPPictureImportRGBX all became available in libwebp v0.1.99 or ABI v1 - refs #1986 2013-08-15 15:15:07 -04: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
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
80cc235ff9 pass by const ref 2013-08-13 18:35:18 -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
78b4980352 finish exposing mapnik.Feature.from_geojson 2013-07-30 15:45:46 -04:00
Dane Springmeyer
79d1e6e5c0 add note about miniz porting and #1967 2013-07-30 12:32:32 -04:00
Dane Springmeyer
bbfd111900 fix PHOENIX_V3 compile of svg generator 2013-07-28 12:54:31 -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
fd14edcd56 fix compile of expression grammer with clang++/libc++/c++11 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
0ac9c7f4c9 re-write scale-hsla filter to work in doubles, allowing proper clamping at the right time - refs #1954 2013-07-24 21:13:46 -04:00
Dane Springmeyer
88d42c48a9 enhance scale-hsla validation - refs #1954 2013-07-24 20:25:07 -04:00
Dane Springmeyer
ec950bd983 handle duplicate hsl hue_to_rgb code 2013-07-24 19:26:26 -04:00
Dane Springmeyer
eaeccc3c3a enforce valid hsla values - refs #1954 2013-07-24 14:24:33 -04:00
artemp
7c63b666f9 cast toff_t to std::streamoff
remove 'C' style comments!!
2013-07-24 11:44:19 -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
f682fcc6d1 deal with various -Wunused-parameter warnings that are not importatn 2013-07-23 18:44:16 -04:00
Dane Springmeyer
72bfa282fa iwyu 2013-07-23 18:43:19 -04:00
Dane Springmeyer
0ac4ec0dd9 iwyu 2013-07-23 18:42:53 -04:00
Dane Springmeyer
fd7164bd3c use pixfmt pre for the sake of clarity 2013-07-23 18:42:47 -04:00
Dane Springmeyer
6269b42ffc iwyu 2013-07-23 18:41:59 -04:00
Dane Springmeyer
c5b7cd0e3e remove dead code 2013-07-23 16:10:00 -04:00
Dane Springmeyer
31931b89cb git rid of a few fixme 2013-07-23 16:00:16 -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
d1667c125c return human readable cairo error 2013-07-22 16:21:18 -04:00
Dane Springmeyer
3beba890f8 make scale_factor accessible off renderers - no need to store as member of feature_style_processor 2013-07-22 13:25:04 -04:00
Dane Springmeyer
b6739efa6a clean up render_style code to avoid excessive function calls for marking a renderer as painted 2013-07-19 19:43:30 -04:00
Dane Springmeyer
a4efd6b73e simplify render_style further after 6bbbe155fe 2013-07-19 19:33:11 -04:00
Dane Springmeyer
032e33cc9f remove filter_factor as option to gdal datasource, clean up pass down from query object - closes #1488 - refs #625 2013-07-19 19:22:45 -04:00
Dane Springmeyer
9b9e42ce5d use featureset_buffer for simplier render time feature cache from @mappy 2013-07-19 18:32:47 -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
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
Dane Springmeyer
a834d2941a fix initialization of hue and sat in rgb2hsl + fix rounding in hsl2rgb to be stable on 32 bit systems (no change on 64 bit) - refs #1954 2013-07-19 00:22:52 -04:00
Dane Springmeyer
aedc3512c2 rollback to copying bbox member of filter_in_box - previous change led to odd node-mapnik shapefile query failure 2013-07-17 18:47:07 -04:00
Dane Springmeyer
04c1808703 avoid a few uneeded copies 2013-07-17 18:47:07 -04:00
Dane Springmeyer
9bf6abd988 add missing attribute collector for markers symbolizer path expression - closes #1952 2013-07-16 20:00:51 -04:00
artemp
cbfe228790 + improve c++ style
+ formatting
2013-07-16 11:16:52 +01:00
Dane Springmeyer
bcf1454884 optimize svg rendering by moving bbox calc only needed by gradient rendering into gradient code 2013-07-10 16:44:20 -04:00
Dane Springmeyer
068f759fb5 fix height clamping in image_view and grid_view - closes #1940 2013-07-04 13:56:58 -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
90c9a39a66 remove debugging line 2013-06-28 15:54:04 -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
ba4d06a530 protect against negative image dimensions - closes #1927 2013-06-26 16:46:36 -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
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
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
artemp
386f6a5b24 + use auto 2013-06-17 10:47:53 +01:00
Dane Springmeyer
64947f8540 now working on mapnik v3.0.0-pre 2013-06-03 18:56:56 -07:00
Dane Springmeyer
9231205573 setting up for mapnik v2.2.0 release 2013-06-03 18:26:28 -07:00
Dane Springmeyer
3b2bdba7b0 iwyu 2013-06-02 20:19:33 -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
e1c299decf remove whitespace 2013-06-02 17:34:36 -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
7c8dbacdb6 fix compile against boost 1.47 - closes #1885 2013-06-02 13:32:15 -07:00
Dane Springmeyer
88ca6fca5d Followup to #1642, closes #1859
This change adds back the ability to throw out both empty strings
and null values with the not equals statement like `[attr] != ''`

Note: this does not mean null == '' because the needed compatibility
fix only addresses the "not equals` operator to retain the historical
usage of not matching nulls.
2013-05-31 13:23:59 -07:00
Dane Springmeyer
1da3bee032 implement == and != operators on the value_null struct - no functional change, but helpful to consolidate logic for comparisions 2013-05-31 12:24:59 -07:00
artemp
4a60bc7be5 + add value_bool support in not_equals 2013-05-31 18:51:11 +01:00
artemp
c8630696d4 + add explicit value_bool/value_integer/value_double equality comparison 2013-05-31 18:48:13 +01: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
31ae5e632b rollback accidentally commited change in 126d1b73d6 - not quite yet 2013-05-22 10:22:25 -07:00
Dane Springmeyer
126d1b73d6 reflect debug symbolizer in python 2013-05-22 06:49:38 -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
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
Dane Springmeyer
29578410c2 fix marker bbox calculation - closes #1849 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
artemp
fa99757154 + add accidentally removed config.hpp 2013-05-20 14:00:03 +01:00
artemp
6e4169d2b9 + utf8 to/from utf16 implementation
Conflicts:
	include/mapnik/utils.hpp
2013-05-20 14:00:03 +01:00
Dane Springmeyer
ae2e33de34 msvc on windows breaks with singleton declared but gcc needs default visibility to avoid double singleton registration across dlls when using -fvisiblity=hidden
Conflicts:
	include/mapnik/utils.hpp
2013-05-20 14:00:02 +01:00
artemp
9348fffa8d + filter_at_point - cache inflated bbox 2013-05-20 14:00:02 +01:00
artemp
6412b43d6c + utf8 to/from utf16 implementation 2013-05-20 12:05:22 +01:00
artem@windows
293d4829a8 MAPNIK_DECL feature_parser 2013-05-17 16:20:01 -07:00
Dane Springmeyer
03d8b6d9d7 msvc on windows breaks with singleton declared but gcc needs default visibility to avoid double singleton registration across dlls when using -fvisiblity=hidden 2013-05-17 13:16:36 -07:00
artemp
5be9640742 + filter_at_point - cache inflated bbox 2013-05-17 16:22:04 +01:00
Dane Springmeyer
5a6ea9ee6f finish to rename of mapnik::Feature -> mapnik::feature_impl 2013-05-16 11:55:58 -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
879225abfb rollback MAPNIK_DECL on exceptions - which breaks linking of python bindings on msvc - refs #1826 2013-05-15 18:47:46 -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
Dane Springmeyer
14d6c3b80b remove expression_grammar from public api 2013-05-15 18:22:28 -07:00
Dane Springmeyer
9682af53da fix compile in master after 8d5b983cb6 since master still uses phoenix v2 2013-05-14 10:31:13 -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
5d0c36fb65 Geometry/Feature parsers -truncate 'where' message in on_error handler (currently 16 chars max) 2013-05-14 14:51:28 +01:00
artemp
1e1e2d1e79 + prefer ``const& `` style (mapnik c++ style) 2013-05-14 12:31:05 +01:00
artemp
abc5d39dbd + comment out as msvc++ doesn't support 'noexcept' 2013-05-14 12:06:55 +01:00
artemp
677a0a68c6 TIFF I/O
+ use c++ casts
+ better naming
2013-05-13 10:25:09 +01:00
artemp
b816a47de2 + fix writing to std::stringstream
* if seeking pass the end  - grow buffer (stringstream!)
* seekp beyond current buffer size doesn't set failbit (clang/libcxx)
2013-05-10 14:17:31 -07:00
artemp
e9733d8a9b + fix writing to std::stringstream
* if seeking pass the end  - grow buffer (stringstream!)
* seekp beyond current buffer size doesn't set failbit (clang/libcxx)
2013-05-10 16:50:28 +01:00
artemp
3223836874 + potential boost::variant optimization 2013-05-10 16:45:54 +01:00
Dane Springmeyer
d36a7323ac support -fvisibility=hidden in core library - refs #1826 2013-05-09 18:22:40 -07:00
Dane Springmeyer
7c4adea08e support visibility attribute with gcc/clang - refs #1826 2013-05-09 17:07:58 -07:00
Dane Springmeyer
5bb1c067af fix build on windows by ensuring singleton base is exported (avoids inconsistent dll linkage error) 2013-05-09 17:06:41 -07:00
Dane Springmeyer
a7a106109d make mapped_memory_cache a class not struct for consistency with other singletons 2013-05-09 17:05:39 -07:00
Dane Springmeyer
e6bfd12b95 make public the singleton template to ensure it can be shared across shared library boundaries if the library is built with -fvisibility=hidden - refs #1826 2013-05-09 15:26:50 -07:00
Dane Springmeyer
36bdde82e7 no need to use MAPNIK_DECL with typedefs 2013-05-09 15:25:14 -07:00
artemp
dd0c4701c5 + hold actual values in expressions tree (experimental)
(result gets converted to mapnik::value)
2013-05-09 15:31:31 +01:00
artemp
6bfb92811e + make default ctor nothrow 2013-05-09 13:46:09 +01:00
artemp
39f21c16b9 mapnik::value
to_expression_string - add missing specialization
for mapnik::value_integer and remove usage of std::stringstream
2013-05-08 10:31:14 -07:00
artemp
656c9e724f + re-arrange expression 2013-05-08 17:21:34 +01:00
artemp
75aa6e94d8 + expression_optimizer (experimental)
at the moment very basic ops are supported e.g

```
expr = 1+1+1 ---> expr = 3
expr = 1+1+[ATTR] ---> 2+[ATTR]

expr = [ATTR] + 1 + 1  ---> ([ATTR] + 1) + 1  ### stays unchaged
expr = [ATTR] + 1/3.14159 + 1 ---> ([ATTR] + 0.31831) + 1
```
2013-05-08 16:54:25 +01:00
artemp
4138a70a52 mapnik::value
to_expression_string - add missing specialization
for mapnik::value_integer and remove usage of std::stringstream
2013-05-08 16:51:28 +01:00
artemp
b086e2d20c + small optimization - pass and return const ref 2013-05-07 16:12:57 +01:00
artemp
4915bf138e mapnik::value + add move ctor
mapnik::feature + pass attributes by r-value.
2013-05-07 12:04:06 +01:00
Dane Springmeyer
944eb5e2f7 rename variable for clarity 2013-05-06 12:38:41 -07: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
6490245218 + remove more cruft 2013-05-03 14:21:34 +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
artem@windows
f611892915 remove redundant header 2013-05-02 12:02:13 -07:00
artemp
43968b6c50 + c++ style : formatting 2013-04-30 18:47:17 +01:00
artem@windows
9a64415a03 use std::size_t to avoid conversion warnings 2013-04-30 10:06:47 -07:00
artem@windows
16c0b578bc c++11
+ use std::size_t
+ re-implement envelope() method in terms of c++11
2013-04-30 09:51:08 -07:00
artemp
95e3c87f05 + revert to using boost::math::trunc
+ and mapnik::noncopyable

vc++ (*) doesn't support std::trunc and deleting methods in class/struct definition

* - vc++ 2012 November CTP
2013-04-30 09:32:22 +01:00
artem@windows
abd42357d6 + add <cmath> header to keep cl.exe happy 2013-04-30 08:55:51 +01:00
Toby Collett
ac09541243 Use shared pointer reference count to track pools
By using the shared pointer reference count to track the connections
in the connection pool we no longer have to explicitly return them
to the pool.

This resolves an issue where cursor feature sets were returning their
connections before they were done with them, causing a potential race
with another connection user.
2013-04-29 20:33:57 +00:00
artem@windows
faa8394ef6 + add <cmath> header to keep cl.exe happy 2013-04-29 04:21:28 -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
49fe99ac4f + make rule_cache movable
+ use rule_cache move semantics in feature processor
2013-04-24 10:08:10 +01:00
artemp
80c5452130 + fix phoenix functions to compile on ubuntu 12.04/c++11
+ cleanups
2013-04-23 14:00:08 +01:00
artemp
e38ce37ed3 * use move semantics
* use light weight wkb_stream wrapper to avoid locale/formatting locking
2013-04-22 15:24:47 +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
800ee1f0dd + c++ style 2013-04-22 09:56:48 +01:00
artemp
d215c09762 + json-generator : don't output coordinates from SEG_CLOSE command 2013-04-19 14:21:12 +01:00
artemp
ae9b518618 + fix coords precision 2013-04-19 14:13:18 +01:00
artemp
b1ea547fa9 + fix grammar to work with phoenix v3 and c++11 2013-04-19 12:10:34 +01:00
artemp
3a2b1dc027 + move preprocessor directive to the top 2013-04-19 12:00:25 +01:00
artemp
8bb6bb1d68 + fix grammar to work with phoenix v3/c++11 2013-04-19 11:59:16 +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
Dane Springmeyer
60c6592c4e fix spelling of unknown 2013-04-17 14:23:04 -07:00
artemp
da6c630db9 + add webp writing support 2013-04-17 14:50:35 +01:00
artemp
868d60d765 + add getBytes() method ( needed by webp i/o) 2013-04-17 14:46:11 +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
9020e6f439 type_from_filename : add webp support 2013-04-16 10:56:10 +01:00
artemp
28ea89fe1c + remove const& qualifier 2013-04-12 16:03:08 +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
Dane Springmeyer
5de4636be8 use mapnik::noncopyable 2013-04-10 18:15:09 -07:00
Dane Springmeyer
79a216f349 remove ltdl to reduce dependencies and because calling dlopen/LoadLibrary is easy 2013-04-09 19:37:02 -07:00
artemp
a25f1ccb56 + make image_reader non-copyable 2013-04-09 11:38:50 +01:00