Commit graph

2681 commits

Author SHA1 Message Date
artemp
ee58762bd9 add property_serializer impl 2014-07-21 11:19:26 +01:00
artemp
8465a78c97 use 2 spaces identation in xml output
prefer c++11 range based loops for readability
2014-07-18 21:05:25 +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
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
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
562058aff6 remove printing to cerr 2014-07-15 16:35:11 +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
f8fc104e7d more meaningful names 2014-07-14 16:55:57 +01:00
artemp
a66c1ddb06 convert to expressions: text-ratio, wrap-before, rotate-displacement 2014-07-14 16:51:11 +01:00
artemp
24e21cd387 set_property_from_xml helper function 2014-07-14 16:08:58 +01:00
artemp
73bda71710 text_properties : add expression_ptr's to the expression_set 2014-07-14 14:15:36 +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
8fc9d54619 fix typo 2014-07-11 11:53:06 +01:00
artemp
64ef711b76 move enumerations into separate compilation unit 2014-07-11 10:26:51 +01:00
artemp
61c54b3943 c++ style 2014-07-11 10:12:33 +01:00
artemp
c79e74116d cleanups 2014-07-11 09:51:34 +01:00
artemp
9e84b6101b store const* in glyph_t 2014-07-10 12:46:42 +01:00
artemp
203a2c55e6 fix missing make_unique on c++11 compilers 2014-07-10 12:45:51 +01:00
artemp
72e0889000 replace auto_ptr with unique_ptr (creeped in from 2.3.x) 2014-07-10 12:28:52 +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
17a23f5d6b call parse_symbolizer_base before setting symbolizer specific properties 2014-07-09 11:15:01 +01:00
artemp
fb1ec4cee0 remove dead code 2014-07-09 10:28:00 +01:00
artemp
04facd3542 mode range ``for loops`` 2014-07-08 17:02:22 +01:00
artemp
888ae11309 use pre-increment in iterator loops 2014-07-08 16:38:15 +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
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
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
ab3aad38ad symbolizer properties : image_transform, cleanups 2014-07-03 09:06:24 +01:00
Dane Springmeyer
6034837c95 perf/image_scaling: avoid unnessary clearing of target image which will already be zero-initialized 2014-07-03 00:37:50 -07: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
3f040a3422 set_symbolizer_property : specialization for transform_type 2014-07-02 10:29:05 +01:00
artemp
4965dc6e7f fix name 2014-07-02 10:16:58 +01:00
artemp
504c6fdabd make ``simplify_algorithm`` an expression 2014-07-02 10:15:44 +01:00
artemp
dd9365a817 throw config_error, cleanup 2014-07-01 14:17:07 +01:00
artemp
a26f389cb2 throw on symbolizer property parsing failure 2014-07-01 14:02:35 +01:00
artemp
91f08801ce consistent namings 2014-07-01 09:39:27 +01: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
0702679bb0 don't call *params.get<std::string>("type"), instead use static datasource::name()
(FIXME: consider removing redundant 'name' in feature_layer_descriptor)
2014-06-26 10:51:24 +01:00
artemp
a49abab7ed use std::uniqure_ptr<char[]> to store memory fonts 2014-06-24 12:05:53 +01:00
artemp
b9bfef634f wchar_t literal needs L"" 2014-06-24 11:45:13 +01:00
artemp
11c2aad531 Merge branch 'master' into stdio
Conflicts:
	src/font_engine_freetype.cpp
2014-06-24 11:42:33 +01:00
artemp
45ba10e701 use _wfopen in windows 2014-06-24 11:40:04 +01:00
artemp
8255163945 style 2014-06-24 11:23:13 +01:00
artemp
68775c52ff call FT_Done_Face for matching FT_Open_Face 2014-06-24 11:21:01 +01:00
artemp
f4acd06f84 c++11 - use std::unique_ptr instead of boost::scoped_array
(TODO  - consider storing unique_ptr's in memory_fonts_ and avoid constructing std::string)
2014-06-23 17:33:31 +01:00
artemp
284786ec16 wrap FILE* in std::unique_ptr (RAII)
pull C-i/o from std:: namespace
2014-06-23 17:23:28 +01:00
artemp
4d42df8f3c ensure we read the whole file at once 2014-06-23 17:11:53 +01:00
artemp
b1d8e06032 oops buffer.get() returns raw bytes (not \0 terminated C-string) 2014-06-23 17:08:00 +01:00
artemp
1c25c34dec no sure if 'rewind' is a standard - use fseek instead 2014-06-23 16:59:30 +01:00
artemp
4acba303a5 + use C-style I/O to read font file into memory 2014-06-23 16:56:59 +01:00
artemp
ebde5351af increase buffer size in std::streambuf for faster i/o 2014-06-23 16:26:50 +01:00
artemp
9496a95af4 use C-style file I/O 2014-06-23 15:33:31 +01:00
Dane Springmeyer
8ae1b6da03 fix boost directory iterator to use wide paths - closes #2273
Conflicts:
	src/font_engine_freetype.cpp
2014-06-21 14:07:57 -07:00
Dane Springmeyer
6572cde97a use FT_Open_Face instead of FT_New_Face - refs #1897
Conflicts:
	src/font_engine_freetype.cpp
2014-06-21 14:01:44 -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
artemp
f518d44be0 respect text and halo opacity in cairo renderer 2014-06-20 09:35:33 +01: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
artemp
c605ce81aa pedantic : prefer explicit double values in comparisons 2014-06-19 12:14:12 +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
8bd044ec13 + serialize halo-opacity 2014-06-17 14:24:31 +01: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
5fcd974817 webp reader: initialize WebPDecoderConfig
Conflicts:
	src/webp_reader.cpp
2014-06-16 09:52:26 -07:00
Dane Springmeyer
033a0e0ed7 fix miniz inlining 2014-06-16 09:52:25 -07:00
Dane Springmeyer
e421403f3d fix miniz encoder - closes #1560 2014-06-16 09:52:25 -07:00
artemp
cbab56fa79 text symbilizer : add halo-opactity property (#2268) 2014-06-16 11:24:16 +01:00
artemp
7eb8e25110 better namings + cleanup 2014-06-16 11:00:19 +01: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
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
Dane Springmeyer
d0b357cab7 scons: support MAPNIK_NAME option to customize libmapnik name for custom packaging 2014-06-09 13:55:56 -07:00
artemp
30a39aa376 fix debug build 2014-06-06 14:49:16 +01:00
artemp
b6bab7d0bb move cairo renderer into its own subdir 2014-06-06 13:38:00 +01:00
artemp
5e386f5c97 capture built-in types by value 2014-06-06 13:12:55 +01:00
artemp
81c4b9dd59 fix init order 2014-06-05 16:13:05 +01:00
artemp
bbb727e39a update cairo_renderer 2014-06-05 15:15:36 +01:00
artemp
a49e1d075e initial refactor pass (fixes #2235) 2014-06-04 18:05:27 +01:00
artemp
bedd275e95 more const correctness + cleaups 2014-06-02 17:09:12 +01:00
artemp
16fafbad43 share datasources between layers for now 2014-05-30 11:02:50 +01:00
artemp
f9cf23b59f memory_datasource: support datasource interface 2014-05-30 10:16:49 +01:00
artemp
7572ba58cb fix : allow comparing nullptr == nullptr -> true 2014-05-28 15:40:25 +01:00
artemp
0669e190de compare actuak mapnik::datasource objects 2014-05-28 15:18:11 +01:00
artemp
5654759a22 fixed returning reference to temp object
TODO: change signiture to return boost::optional<std::string const&> and fix crufty logic
2014-05-28 11:04:47 +01:00
artemp
4ef9cd8b45 use math functions from std:: 2014-05-28 10:59:01 +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
4474fc52e2 bug fix : call fontsets_.insert(fontset) before std::move(fontset) 2014-05-27 15:34:12 +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
9791766e32 fix typo 2014-05-27 12:36:05 +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
68300b92b5 fix comparison operator 2014-05-27 11:33:26 +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
Dane Springmeyer
6610fcc297 fix skipping of empty text nodes in rapidxml parser (matches libxml2) - closes #2253 2014-05-23 10:42:55 -07:00
Dane Springmeyer
03bb82b13f Merge branch 'master' of github.com:mapnik/mapnik into render-time-variables 2014-05-16 07:49:06 -07: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
artemp
3cc8fad956 c++11 syntax 2014-05-15 14:00:46 +01:00
artemp
6f24bd1c01 mapnik c++ style 2014-05-15 13:52:43 +01: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
d60c371257 slightly better err message 2014-05-14 13:19:59 +01: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
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
2c661ed3d5 support for render time variables 2014-05-11 13:08:24 -07:00
Dane Springmeyer
c770cfec3c fix possible crash in mapnik::process_layout::box_offset_align 2014-05-10 07:47:41 -07:00
Dane Springmeyer
6171c3252d fix a few sign comparison warnings 2014-05-10 07:37:28 -07:00
Dane Springmeyer
7364a30e67 improve handling of colors as expressions 2014-05-08 00:45:18 -07:00
Dane Springmeyer
01d580d747 fix variable shadowing 2014-05-06 18:38:04 -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
5ddde3c885 stop testing bogus wkb since it will crash wkb reader - refs #2236 2014-05-05 17:05:00 -07:00
Dane Springmeyer
b462913fa1 load_map: use const_iterator 2014-05-05 16:06:01 -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
ba17b9e374 add TODO comments for grammars that are not stateless - refs #2231 2014-04-30 11:04:26 -07:00
Dane Springmeyer
356cc85ad8 cleanup + rename svg_transform parser 2014-04-30 10:55:46 -07:00