Commit graph

2810 commits

Author SHA1 Message Date
Jiri Drbalek
2940de0b0b refactor markers placements 2014-07-29 11:52:39 +00:00
artemp
97f87b1946 aggregate text symbolizer properties loading 2014-07-29 10:09:54 +01:00
Dane Springmeyer
e525ca28b5 Re-instate skipping of proj_transform failures - closes #2147 2014-07-28 20:46:30 -07:00
Dane Springmeyer
cdb075f75f make clipping off by default - closes #2146 2014-07-28 20:31:10 -07:00
Dane Springmeyer
8feedd94cd rename mapnik::boolean to mapnik::boolean_type - closes #1899 2014-07-28 19:46:49 -07:00
Dane Springmeyer
04115c5838 fix #2290 2014-07-28 19:06:56 -07:00
Dane Springmeyer
b0f722a30b fix #2299 2014-07-28 17:09:51 -07:00
Dane Springmeyer
d55a0010dc also move feature_collection_grammar to impl file 2014-07-28 16:51:24 -07:00
artemp
f338028802 fix init order 2014-07-28 17:50:44 +01:00
artemp
0cf6e47006 c++ char_properties -> evaluated_format_properties 2014-07-28 17:22:32 +01:00
artemp
fb3d9cd7b6 convert horizontal/vertical/justify_alignment properties to expressions 2014-07-28 15:09:29 +01:00
artemp
61c0344dd6 generic set_property_from_xml implementation 2014-07-28 15:08:28 +01:00
artemp
51cf60125e rename source files to reflect class name e.g layout -> text_layout 2014-07-28 12:10:34 +01:00
Dane Springmeyer
0d95f038a7 shuffle the cost of spirit grammars 2014-07-25 16:15:18 -07:00
Dane Springmeyer
bbc57f442c fix -Wsign-compare warnings in several grammars 2014-07-25 15:49:50 -07:00
Dane Springmeyer
d598a2bb55 iwyu 2014-07-25 15:35:27 -07:00
Dane Springmeyer
34bbf36e3a Revert "return code 0 to gracefully exit if python bindings are not available"
This reverts commit 2f08dc29ef.

Conflicts:
	tests/run_tests.py
	tests/visual_tests/test.py
2014-07-25 11:49:05 -07:00
artemp
70059cc346 remove redundant ExpressionFormat node 2014-07-25 14:26:13 +01:00
artemp
37245fdde1 text properties : add framework to handle expressions in enumerations
+ make text-transform an expression
2014-07-25 14:19:41 +01:00
Dane Springmeyer
2f08dc29ef return code 0 to gracefully exit if python bindings are not available 2014-07-24 18:58:03 -07:00
Dane Springmeyer
99de69d96f Merge branch 'master' of github.com:mapnik/mapnik into grammar-refactor 2014-07-24 14:55:30 -07:00
Dane Springmeyer
c5be70ff65 refactor spirit grammars 2014-07-24 14:31:59 -07:00
artemp
b53572ab9c update text/formatting/format 2014-07-24 14:45:02 +01:00
artemp
9c39d4ebd2 collect expressions from format_properties 2014-07-24 12:00:46 +01:00
artemp
1927a00ee0 text-properties : make fill and halo-fill expressions 2014-07-24 11:37:16 +01:00
Dane Springmeyer
f8ccbf3ded fix compile of graphics.hpp 2014-07-23 14:32:48 -07:00
Dane Springmeyer
3defa77d88 remove big endian support - closes #2313 2014-07-23 14:16:44 -07:00
Dane Springmeyer
133f399777 iwyu 2014-07-23 14:16:11 -07:00
Dane Springmeyer
8dcd85a708 iwyu 2014-07-23 14:02:36 -07:00
Dane Springmeyer
9959006e61 remove boost::lexical_cast 2014-07-23 10:54:02 -07:00
Dane Springmeyer
bf8572fac6 remove boost::lexical_cast 2014-07-23 10:53:47 -07:00
Dane Springmeyer
2d2eec48c4 iwyu 2014-07-23 10:34:45 -07:00
artemp
8502019310 more format_properties expessions 2014-07-23 18:09:18 +01:00
artemp
e67f046a0e start re-factoring char_property (TODO: change name!) 2014-07-23 16:19:14 +01:00
Dane Springmeyer
265043e4d7 iwyu 2014-07-22 23:57:06 -07:00
Dane Springmeyer
148007cc48 iwyu + fwd declares 2014-07-22 23:36:54 -07:00
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