Commit graph

3186 commits

Author SHA1 Message Date
Dane Springmeyer
9dae68ebbf add builds scripts for json/wkt grammars 2014-10-13 01:07:11 -07:00
Dane Springmeyer
44bc5b59d6 break out wkt/json grammars into separate libraries 2014-10-13 01:06:36 -07:00
Dane Springmeyer
885a98f9c1 improve handling of format properties - refs #2516
- changes evaluated_format_properties_ptr to unique_ptr
 - refactors group symbolizer helper to keep scope by
   having each "thunk" own its helper
 - glyph_info can now be noncopyable
 - format node children now need an owner for their
   evaluated_format_ptr so the enclosing parent layout
   now allocates and holds pointers in a deque
 - plus other noncopyable/move constructor fixes
2014-10-12 21:41:59 -07:00
Dane Springmeyer
38b944aef7 break apart expression+transform grammars - refs #2526 2014-10-12 16:36:33 -07:00
Dane Springmeyer
a9f58c70b4 shuffle complexity into layout constructor
- should reduce mistakes in refactoring
  - gives top level ownership of evaluated_format_properties_ptr to a layout node (#2516)
  - not sure ^^ if this actually keeps it in scope enough for rendering?
  - moves data transformation functions off of text_symbolizer_properties
2014-10-12 16:07:26 -07:00
Dane Springmeyer
f3eba54078 noncopyable glyph_info - refs #2516 2014-10-12 14:24:57 -07:00
Dane Springmeyer
2000c1713d in place construction of glyph_positions 2014-10-12 13:54:07 -07:00
Dane Springmeyer
4e7feaf747 move glyph_positions to new cpp 2014-10-12 13:46:35 -07:00
Dane Springmeyer
39ff0945ef in place construction of pixel_positions 2014-10-12 13:38:18 -07:00
Dane Springmeyer
e4c895d4c1 zero copy usage of text_line 2014-10-12 13:23:03 -07:00
Dane Springmeyer
a648538bcd add more code comments to placement_finder to help explain layouts 2014-10-12 12:18:59 -07:00
Dane Springmeyer
a8c8ea9ac4 reserve space for glyph_pos in renderer prepare_glyphs 2014-10-11 22:59:56 -07:00
Dane Springmeyer
3d142c2712 move evaluate_text_properties to standalone function - refs #2516 2014-10-11 22:48:00 -07:00
Dane Springmeyer
e6a66aaaba finish work to pass font_feature_settings by value - refs #2516 2014-10-11 22:39:40 -07:00
Dane Springmeyer
a61364d263 revert halign support - refs #2426 2014-10-11 20:03:56 -07:00
Dane Springmeyer
477d6cc7ee zero-copy text_item insertion 2014-10-11 19:12:15 -07:00
Dane Springmeyer
eabdf46118 drop unwise glyph_info caching - reverts 99a46f6910 - re-opens #2334 2014-10-11 17:32:41 -07:00
Dane Springmeyer
d4f0d51a91 cairo text rendering: avoid double call of set_character_sizes for text and halo 2014-10-11 16:59:22 -07:00
Dane Springmeyer
ba285aa9fa remove unused (after 8bc7a56cda) font_face::char_height_ 2014-10-11 15:55:15 -07:00
Dane Springmeyer
b275144004 make cairo_context.add_text more like agg::text_renderer 2014-10-11 13:08:28 -07:00
Dane Springmeyer
51620e2b4d cairo: avoid creating evaluated_format_properties_ptr on stack 2014-10-11 11:37:16 -07:00
Dane Springmeyer
e1eb9fa5b1 reduce pointer usage in text renderer - refs #2516 2014-10-10 18:01:24 -07:00
Dane Springmeyer
8bc7a56cda use real max glyph height
- avoids breakage on fonts lacking an `X` glyph (#2506)
      - avoids needing to create and mutate a temporary glyph (#2516)
      - lots of minor visual changes - mostly improvements notably more correct collision boxes for lines with tall glyphs
2014-10-10 15:18:11 -07:00
artemp
74e872c48b avoid storing evaluated text properties in text_symbolizer_properties (all style related strucures must be read-only)
make process(..) method const
2014-10-10 12:38:06 +01:00
Dane Springmeyer
c6ed108a72 start marking as much of the text structures as const as possible - refs #2516 2014-10-09 23:00:39 -07:00
Dane Springmeyer
2d88f736fe remove uneeded access to format tree 2014-10-09 20:51:43 -07:00
Dane Springmeyer
c26c60e48e remove set_old_style_expression 2014-10-09 20:51:43 -07:00
Dane Springmeyer
364af033a2 stash work on trying to convert font_feature_settings to be passed by value 2014-10-09 19:23:11 -07:00
Dane Springmeyer
536b23bfde fix uneeded pointer indirection with glyph_info/glyph_position 2014-10-09 18:38:29 -07:00
Dane Springmeyer
aed5243302 avoid creating evaluated_format_properties on the stack 2014-10-09 18:24:39 -07:00
Dane Springmeyer
38567d8213 font_set: explicitly initialize face_names_ member 2014-10-09 17:36:51 -07:00
Dane Springmeyer
1fead3396b cleanup unused clipped_ member of base_symbolizer_helper after 9835057b0f 2014-10-09 11:40:30 -07:00
Dane Springmeyer
c4857c640b clean up string handling in font_set::add_face_name 2014-10-08 16:46:48 -07:00
Dane Springmeyer
1f29ce7d3d back to using shared_ptr for holding text_placement_info 2014-10-08 16:28:07 -07:00
Dane Springmeyer
a24b29624a remove unused include 2014-10-08 16:27:38 -07:00
Dane Springmeyer
65438f17aa further tests of path expressions for shields 2014-10-08 08:00:59 -07:00
Dane Springmeyer
41009bfeb3 fix font caching logic 2014-10-07 00:21:52 -07:00
Dane Springmeyer
c2fe4a14be drop useless template usage for has_key 2014-10-06 23:21:13 -07:00
Dane Springmeyer
934f0dec1d warn if duplicate attribute - closes #2508 2014-10-06 23:20:43 -07:00
Dane Springmeyer
7ce776a79c fix handling of shield-text-opacity/text-opacity - closes #2507 2014-10-06 21:52:29 -07:00
Dane Springmeyer
51f62ad083 dodge #2505 by avoiding registering gdal/ogr plugin 2014-10-06 18:19:52 -07:00
Dane Springmeyer
1ae43a25ff text_properties code cleanup - pregame for #2504 2014-10-06 16:59:49 -07:00
Dane Springmeyer
f733c7f2ac comment debug code 2014-10-06 14:31:11 -07:00
Dane Springmeyer
1670fdabf0 fix line symbolizer 'rasterizer' property - closes #2503 2014-10-06 14:10:43 -07:00
Dane Springmeyer
737c299341 fix back compat for text-placement-type:dummy - closes #2502 2014-10-06 11:37:39 -07:00
jhollinger2
5ca07a26d1 Refactor marker helpers for agg and grid renderer. 2014-10-06 14:03:48 -04:00
Dane Springmeyer
e0ba9e9a8c use common dispatch for symbolizers 2014-10-03 19:07:08 -07:00
Dane Springmeyer
2cf3990e0d warn if fontset not found and load_map is not in strict mode - closes #1791 2014-10-03 17:43:44 -07:00
Dane Springmeyer
ebf7a61135 fix unsafe return of temporary - closes #2493 2014-10-03 16:39:25 -07:00
Dane Springmeyer
2925a70046 c++ style / delay std::string creation in xml loading 2014-10-03 16:39:25 -07:00
Dane Springmeyer
b09df2fa13 Merge pull request #2490 from MapQuest/group-margin
Use margin attribute in group symbolizer
2014-10-03 12:19:02 -07:00
jhollinger2
4dfa76a0fc Update group symbolizer collision to use margin instead of minimum-distance. Add test case. 2014-10-03 13:46:23 -04:00
artemp
e8b3083a6a remove std::function usage in text_properties 2014-10-03 16:00:05 +01:00
Dane Springmeyer
f81fc53cbc fix compile on windows of font_feature_settings.cpp - refs #2489 2014-10-02 16:31:16 -07:00
Dane Springmeyer
109b45a0ad c++ style 2014-10-02 15:37:55 -07:00
Dane Springmeyer
dfaa860522 Revert "min compiler is g++ 4.8 - refs #2486"
This reverts commit 612b4a0207.
2014-10-02 13:23:35 -07:00
Jiri Drbalek
47c9d77f8f Merge pull request #2485 from mapycz/fix-text-layout-wrap-char
add wrap-character support to Layout node of TextSymbolizer
2014-10-02 21:36:31 +02:00
Dane Springmeyer
612b4a0207 min compiler is g++ 4.8 - refs #2486 2014-10-02 12:04:32 -07:00
Jiri Drbalek
5861980f91 add wrap-character support to Layout node of TextSymbolizer 2014-10-02 18:34:37 +00:00
artemp
2bab0512ff refactor vertex_cache to use unique_ptr's and less copying 2014-10-02 16:36:50 +01:00
artemp
a04276d90a use c++11 features over boost when available 2014-10-02 15:09:17 +01:00
Jiri Drbalek
667b6e3adc fix compile on ubuntu precise 2014-10-02 12:18:39 +00:00
Dane Springmeyer
66889d32f9 only memcache local fonts if not already globally known and not already cached (avoid extra io for ttc) 2014-10-02 00:47:32 -07:00
Dane Springmeyer
0efb6964ef per map load cache if a fonts is known as valid 2014-10-01 20:59:05 -07:00
Dane Springmeyer
687a33575c fast, non-caching check if a font can be opened and read 2014-10-01 20:32:03 -07:00
Dane Springmeyer
ad7e619ba3 remove state from freetype_engine - now fully static 2014-10-01 20:03:03 -07:00
Dane Springmeyer
898d58c4f5 face_set_ptr can be unique rather than shared 2014-10-01 19:01:26 -07:00
Dane Springmeyer
d29add9db3 use face_manager_freetype typedef everywhere 2014-10-01 18:54:11 -07:00
Dane Springmeyer
767c51cea2 add missing stdexcept include 2014-10-01 18:51:17 -07:00
Dane Springmeyer
d96093d3aa rebase with master 2014-10-01 18:45:28 -07:00
Dane Springmeyer
23cb5dd47d new util::file class wrapping cstdio + more library usage 2014-10-01 18:31:04 -07:00
Dane Springmeyer
e6fe3cd8a6 new font_library raii class 2014-10-01 18:19:26 -07:00
Dane Springmeyer
83533c16c6 fix add_layer move signature - refs #2453 2014-10-01 14:20:58 -07:00
Dane Springmeyer
aae56fa387 avoid style, layer, and fontset copies in load_map - refs #2453 2014-10-01 14:09:09 -07:00
Dane Springmeyer
32f80b2b3e fix layer buffer default 2014-10-01 14:08:08 -07:00
Dane Springmeyer
9b2c14466c explicit move ctor for feature_type_style 2014-10-01 13:54:44 -07:00
Dane Springmeyer
ed3bc1d411 explicitly initialize all members of layer class in ctor 2014-10-01 13:53:12 -07:00
Dane Springmeyer
9ecdc839b5 c++ style 2014-10-01 11:24:41 -07:00
artemp
745d45bb68 remove std::function from placement loop
(std::function incurs overhead of polymorphic dispatch internally and relatively expensive - avoid using in performance critic code)
2014-10-01 11:26:14 +01:00
Dane Springmeyer
e9e5ec4a6b quick fix for #2451 2014-09-30 21:29:55 -07:00
Dane Springmeyer
4c07585312 fix #2464 2014-09-30 21:16:29 -07:00
Dane Springmeyer
4cbc139689 remove boost::format usage 2014-09-30 18:35:07 -07:00
Dane Springmeyer
ad43b37672 Merge branch 'master' of github.com:mapnik/mapnik into localized-font-cache 2014-09-30 14:42:15 -07:00
Dane Springmeyer
09b02ddc17 Merge branch 'master' of github.com:mapnik/mapnik into localized-font-cache
Conflicts:
	src/build.py
2014-09-30 14:42:01 -07:00
Dane Springmeyer
f34d12094c new files 2014-09-30 12:50:42 -07:00
Dane Springmeyer
822d3a5bce break apart symbolizer.hpp + fwd declars + svg output grammar impl 2014-09-30 12:50:08 -07:00
Dane Springmeyer
8752271910 code cleanup 2014-09-29 19:59:59 -07:00
Dane Springmeyer
40a1189357 chip away at complexity of marker_helpers.hpp 2014-09-29 19:32:22 -07:00
Dane Springmeyer
dc57849b7d geometry container typedef fixing 2014-09-29 18:40:57 -07:00
Dane Springmeyer
d0b167affc iwyu shuffle 2014-09-29 17:14:40 -07:00
Dane Springmeyer
3ee609112a using pimpl to isolate boost::regex headers - refs #2439 2014-09-29 16:48:19 -07:00
Dane Springmeyer
aaec8058fa fix property name in error message 2014-09-29 16:32:46 -07:00
Dane Springmeyer
848370c678 speed up compile / move iomanip to cpp - refs #2439 2014-09-29 13:49:56 -07:00
Dane Springmeyer
89f64f6b97 avoid spirit usage in function_call.hpp - refs #2439 2014-09-29 13:12:46 -07:00
Dane Springmeyer
b7b39d4444 add missing file 2014-09-29 12:11:03 -07:00
Dane Springmeyer
688e97e148 move dasharray parser to cpp file - refs #2439 2014-09-29 12:07:15 -07:00
artemp
95d13e0b3d Merge branch 'master' into vertex-converter 2014-09-29 12:34:54 +01:00
artemp
4f67ec0fc7 update cairo and grid renderers to use new vertex_converters 2014-09-29 12:25:34 +01:00
Dane Springmeyer
4541a2207b simplify code in create_face 2014-09-28 23:54:24 -07:00
Dane Springmeyer
11d8f40342 add code comments to create_face 2014-09-28 23:32:29 -07:00
Dane Springmeyer
0a1906f7a6 cleanup 2014-09-28 23:32:02 -07:00
Dane Springmeyer
5f0b5ddafd ignore font cache in map assignment and comparison 2014-09-28 23:31:48 -07:00
Dane Springmeyer
7b97e3ace8 unique_ptr for font_face_set 2014-09-28 22:35:08 -07:00
Dane Springmeyer
e21e8b6696 c++ style 2014-09-28 22:20:59 -07:00
Dane Springmeyer
d1adabf7d5 3.x port of localized font caching and then some 2014-09-26 19:54:07 -07:00
artemp
130e621ace use c++11 in vertex_converters (work-in-progress) 2014-09-26 12:41:03 +01:00
Dane Springmeyer
385a77fc47 pass map to renderer common (viable after 60a55cb48, needed for upcoming font changes) 2014-09-25 22:37:43 -07:00
Dane Springmeyer
60a55cb48b noncopyable renderer_common (needed for upcoming font work) 2014-09-24 22:46:19 -07:00
Dane Springmeyer
a26a82dc12 allow font re-registration - closes #1895 2014-09-24 18:22:45 -07:00
Dane Springmeyer
eb8686388f add to string impl for length func - closes #2437 2014-09-24 17:37:16 -07:00
Dane Springmeyer
aa239a65ed remove unneeded include 2014-09-24 12:23:54 -07:00
artemp
4be6ca37e9 c++11 - use auto 2014-09-23 18:49:31 +01:00
Jiri Drbalek
31607cb3f4 add text attribute horizontal-alignment="adjust" 2014-09-23 08:49:27 +00:00
Dane Springmeyer
d59529d22f map ExpressionFormat -> Format for 2.3.x back compat - refs #2429 2014-09-22 23:34:36 -07:00
Dane Springmeyer
69dd74e079 rename wrap-char -> wrap-character to match Mapnik 2.3.x - refs #2333 2014-09-19 16:53:03 -07:00
Dane Springmeyer
0c901f790e respect halo-transform in grid_renderer 2014-09-19 15:37:13 -07:00
Dane Springmeyer
9e78712dc4 Merge pull request #2377 from mapycz/3.x-fix-text-on-line-glyph-distance
text rendering with line placement on corners in 3.x
2014-09-19 15:12:32 -07:00
Dane Springmeyer
98adcc2d58 fix compile with clang++ after #2416 2014-09-19 14:51:27 -07:00
Dane Springmeyer
753cd5d6a0 Merge pull request #2416 from mapycz/add-font-features
add font-feature-settings
2014-09-19 14:30:17 -07:00
Jiri Drbalek
57be44d815 text ligatures off when character-spacing > 0 2014-09-17 19:22:14 +00:00
Jiri Drbalek
2dcfa9e4b7 add font-feature-settings 2014-09-17 19:22:07 +00:00
Jiri Drbalek
e6a32f22cf fix image painted 2014-09-16 18:54:52 +02:00
Dane Springmeyer
0cb63c51e8 finish removing ancient reduced size grid rendering pathway - amends f3a824c2cc 2014-09-12 00:56:51 -07:00
Dane Springmeyer
91ee910ad2 remove debugging line 2014-09-11 15:46:49 -07:00
Dane Springmeyer
519149087e add support to tiff reader for reporting alpha 2014-09-11 15:44:48 -07:00
artemp
af33a87cfd disable AA when warping images #1913 2014-09-11 16:49:00 +01:00
artemp
e545b68699 revert accidental removal of 'wrap-before' expression 2014-09-11 10:14:36 +01:00
artemp
246336d2b1 Merge branch 'min-dist-compatibility' of git://github.com/MapQuest/mapnik into MapQuest-min-dist-compatibility 2014-09-10 16:20:36 +01:00
artemp
f8dc7b023a text - add ``repeat-wrap-char`` parameter default:false (#2333) 2014-09-10 16:08:41 +01:00
Jordan Hollinger
9b5a9dfe3e Change text-margin option to margin. 2014-09-10 07:45:41 -04:00
artemp
90f6258b41 expressions : add ``lenght()`` unary function 2014-09-10 12:09:33 +01:00
artemp
b441586acf text-symbolizer: revive 'wrap-char' property which uses special (naive) line_breaker - ref #2333 2014-09-09 17:30:01 +01:00
artemp
635c3728f2 wrap BreakIterator into std::unique_ptr to avoid leaking memory
(per ICU docs: "The caller owns the returned object and is responsible for deleting it.")
2014-09-08 12:01:22 +01:00
Dane Springmeyer
479b9e13d0 Merge pull request #2383 from MapQuest/min-dist-compatibility
3.x -> 2.3.x compatibility for minimum-distance
2014-09-06 22:50:13 -07:00
Dane Springmeyer
ecc8696664 simplify load_map code 2014-09-06 22:15:26 -07:00
Dane Springmeyer
54b2880e53 markers: support offset, geometry-transform, and simplify - closes #2108 2014-09-06 21:27:15 -07:00
Dane Springmeyer
e26570dfdb completely ignore layers with status=off - closes #153 2014-09-06 10:08:40 -07:00
artemp
2727eddf90 implement 'avoid-adges' for markers placements (point placement)
(TODO: support all placement types)
2014-09-05 16:19:55 +01:00
artemp
3cb047fc5c avoid callling TIFFs global structures ref #2391 2014-09-05 12:30:33 +01:00
Jiri Drbalek
b7e7e29781 fix text rendering with line placement on corners 2014-09-05 10:46:46 +00:00
Jiri Drbalek
1af6f5db10 format 2014-09-05 10:46:46 +00:00
Dane Springmeyer
035a947892 no need for harfbuzz-icu 2014-09-04 23:16:25 -07:00
Dane Springmeyer
492e084714 add copy ctor to rule: avoids last copy of syms in load_map - closes #1293 2014-09-04 22:03:54 -07:00
Dane Springmeyer
7ee9f3268a Merge branch 'master' of github.com:mapnik/mapnik into 3x-msvs 2014-09-04 13:06:02 -07:00
Dane Springmeyer
f73eef6f7a rollback png8 default in 2.3.x - closes #2110 2014-09-04 12:08:47 -07:00
Dane Springmeyer
038cc41cd4 we are targeting 2014 so rollback 2013 CTP workarounds 2014-09-04 18:26:17 +00:00
Dane Springmeyer
7d5d02e031 Merge branch 'master' of github.com:mapnik/mapnik into 3x-msvs 2014-09-04 09:22:53 -07:00
Jiri Drbalek
67d8f41a1b fix angle calculation
Conflicts:
	src/text/vertex_cache.cpp
2014-09-03 11:53:23 -07:00
Dane Springmeyer
beaf7a56cc fix linking problems from python 2014-08-31 07:44:41 +00:00
Dane Springmeyer
bfc772f697 attempt to build the python bindings (TODO: symbol errors wrt to swap) 2014-08-31 07:01:06 +00:00
Dane Springmeyer
603ea3811f Merge branch 'master' of github.com:mapnik/mapnik into 3x-msvs 2014-08-30 20:05:33 -07:00
Dane Springmeyer
a8017ddae6 fix std:: prefixing for cmath 2014-08-30 15:13:34 -07:00
Dane Springmeyer
3f6a5ae246 re-enable harfbuzz shaper 2014-08-29 00:05:34 -07:00
Dane Springmeyer
b93d0e97e0 remove one more unused function::name that does not compile with msvs 2013 - refs #2396 2014-08-28 18:57:59 -07:00
Dane Springmeyer
37f4c574f3 remove unused function::name that does not compile with msvs 2013 - refs #2396 2014-08-28 18:49:56 -07:00
Dane Springmeyer
3c66054524 Merge branch 'master' of github.com:mapnik/mapnik into 3x-msvs 2014-08-28 17:23:59 -07:00
artemp
1ac0ebdd83 rename coord_transform to transform_path_adapter and move implementation into separate header 2014-08-28 10:59:08 +01:00
artemp
ecfaec1027 rename ctrans.hpp to view_transform.hpp 2014-08-28 10:29:04 +01:00
artemp
de22d5900c rename CoordTransform to view_transform to better reflect its purpose and be consistent 2014-08-28 10:17:15 +01:00
Dane Springmeyer
91da442cdd fix issue 9 for 2013 CTP from #2396 2014-08-26 20:39:08 -07:00
Dane Springmeyer
ee1c2aec47 use icu shaper to avoid needing to build harfbuzz right now - refs #2396 2014-08-26 19:24:06 -07:00
Dane Springmeyer
5789777199 fix issue 7 from #2396 2014-08-26 19:23:24 -07:00
Dane Springmeyer
c1140fb2ea fix issue 4 of #2396 2014-08-26 19:01:45 -07:00
Dane Springmeyer
147375e197 workaround issue 3 from #2396 2014-08-26 13:23:48 -07:00
Dane Springmeyer
8d448dad5c fix issue 2 from #2396 2014-08-26 12:43:31 -07:00
artemp
bfa13152e3 implement unary functions as functors 2014-08-26 11:41:26 +01:00
artemp
4fcbeaf706 avoid creating expression_string(str) visitor objects recursively 2014-08-26 11:00:42 +01:00
artemp
0cfbd3c5e8 expression_string : implement function call support 2014-08-26 10:51:55 +01:00
Dane Springmeyer
8e996e10ab add support for windows unicode paths in rapidxml loader
Conflicts:
	src/rapidxml_loader.cpp
2014-08-25 15:43:43 -07:00
artemp
3bd323ca85 expressions - add 'abs' function 2014-08-25 15:13:52 +01:00
artemp
2a254a4017 expressions - refactor function calls into separate compilation unit 2014-08-25 15:06:53 +01:00
artemp
4adb0abb64 expressions - implement unary and binary function expression nodes
(sample functions: exp, pow, sin, cos, min, max, tan, atan)
2014-08-25 14:17:18 +01:00
Jiri Drbalek
e1aededb09 refactor marker placements 2014-08-24 18:10:41 +00:00
Jordan Hollinger
688dfcabc9 Disallow use of minimum-distance with either repeat-distance or text-margin. 2014-08-22 08:52:45 -04:00
artemp
eb7716aeed expressions - initial function_call framework implementation (TODO) 2014-08-22 12:30:25 +01:00
Jordan Hollinger
a28d3dd99c Handle text-margin, repeat-distance, and backward compatible minimum-distance in placement_finder. Update visual tests. 2014-08-21 20:49:00 -04:00
Jordan Hollinger
c8c792277d Add attribute text-margin in place of minimum-distance. 2014-08-20 19:43:36 -04:00
Dane Springmeyer
bb897e0144 use fast path for bbox reprojection (skipping extra point-sampling) 2014-08-20 14:47:27 -07:00
Dane Springmeyer
22117c6c64 code comments to clarify when/why base_path is needed at parse time when loading from a string 2014-08-20 13:53:25 -07:00
Dane Springmeyer
b9060c038c rapidxml: avoid overhead of stringstream - amends 95d5b73 2014-08-20 13:46:00 -07:00
Dane Springmeyer
65bd9e6926 adapt to ptree change in boost 1.56 - closes #2365
Conflicts:
	src/save_map.cpp
2014-08-19 09:08:33 -07:00
Dane Springmeyer
41064ed49d pixel snapping for shields (and points) - closes #1866/refs #1316/amends 2fcd53134 2014-08-18 19:45:21 -07:00
Dane Springmeyer
e94b58f678 load_map: always parse transform so that xml warning keep working 2014-08-18 19:40:34 -07:00
Dane Springmeyer
d6c59d96ec fix simply option + tests for #1484 and #1992 2014-08-18 19:23:50 -07:00
Dane Springmeyer
5d424e9389 remove unneeded code 2014-08-18 19:19:38 -07:00
artemp
801848ac97 Merge branch 'jh-min-repeat-distance' of git://github.com/MapQuest/mapnik into MapQuest-jh-min-repeat-distance
Conflicts:
	include/mapnik/renderer_common/process_group_symbolizer.hpp
	src/text/text_properties.cpp
2014-08-18 14:05:14 +01:00
Dane Springmeyer
751e039347 add RESPECT mode to make 'fixing' of bbox aspect a no-op on map 2014-08-14 20:27:27 -07:00
Dane Springmeyer
6ec3905fc5 fix redefinition warnings + dodge a compile error due to clashing toupper in python + clib by using iosfwd - closes #2355 2014-08-12 23:52:31 -07:00
Dane Springmeyer
7da05accc0 Merge branch 'master' of github.com:mapnik/mapnik into custom-variant-2 2014-08-12 23:19:26 -07:00
Dane Springmeyer
9b789a398b remove bilinear8 from master/3.x - closes #2076 2014-08-12 13:43:37 -07:00
artemp
95cea92a4a convert all boost::variant to util::variant
apart from topojson (TODO)
2014-08-12 13:40:45 +01:00
artemp
e5c316ae0b Merge branch 'master' into custom-variant-2 2014-08-12 10:41:58 +01:00
artemp
3f8c459195 make mapnik::symbolizer a mapnik::util::variant<Symbolizers...> 2014-08-12 10:40:38 +01:00
Dane Springmeyer
fe31aed576 fix #2274 in master/3.x 2014-08-11 19:50:50 -07:00
Jordan Hollinger
c63e3a55f1 Merge branch 'master' of github.com:mapnik/mapnik into jh-min-repeat-distance 2014-08-11 17:43:51 -04:00
artemp
eabba25948 fix cairo_renderer usage in demo/viewer + revert aac69d0b34 2014-08-11 15:43:38 +01:00
artemp
9a1639a1d6 AGG/Cairo - fix pattern opacity 2014-08-11 15:42:45 +01:00
artemp
201641a206 AGG/Cairo - fix pattern opacity 2014-08-11 15:36:48 +01:00
Jordan Hollinger
726274c2c9 Merge branch 'master' of github.com:mapnik/mapnik into jh-min-repeat-distance 2014-08-11 09:48:04 -04:00
artemp
27ee642bbe fix cairo_renderer usage in demo/viewer + revert aac69d0b34 2014-08-11 13:40:12 +01:00
artemp
9bfb41a39f convert symbolizer properties to use util::variant 2014-08-11 13:24:53 +01:00
artemp
e315922b70 Merge branch 'master' into custom-variant-2
Conflicts:
	include/mapnik/value.hpp
2014-08-11 11:53:59 +01:00
Dane Springmeyer
48078da22d debug font crash - refs #2341 2014-08-10 20:35:23 -07:00
Dane Springmeyer
c285cfa188 refactor cairo_renderer
- splits process functions into new cpp files to reduce peak compile memory usage
 - drops cairo_renderer_base to match agg_renderer design
 - only cairo_ptr is accepted so cairo_surface_ptr must be converted into a context first
 - fixes -fvisibility=hidden
2014-08-10 13:53:45 -07:00
Dane Springmeyer
9c7f8284bd iwyu 2014-08-10 13:52:45 -07:00
Dane Springmeyer
678907e027 silence webp -Wunused-function warning 2014-08-09 13:57:01 -07:00
Dane Springmeyer
52b1da225b less verbose ifdefs 2014-08-09 13:44:42 -07:00
Dane Springmeyer
4cb7b56f66 remove uneeded logging 2014-08-08 15:01:48 -07:00
Dane Springmeyer
578da31702 use extern template to fix osx -flto bug - closes #2339 2014-08-08 14:16:49 -07:00
Dane Springmeyer
1727fae6e7 remove boost concept_check usage - refs #2346 2014-08-08 13:15:57 -07:00
Dane Springmeyer
471eaed9df initialize is_geographic 2014-08-08 12:00:20 -07:00
Dane Springmeyer
8f183ac63a Merge pull request #2345 from mapnik/emplace
use emplace/emplace_back over insert/push_back - refs #2336
2014-08-08 11:30:14 -07:00
artemp
1f403a078e transform : is_null_node visitor 2014-08-08 16:43:15 +01:00
Jiri Drbalek
fa0b97fff7 add markers placement methods vertex-first and vertex-last 2014-08-08 06:34:33 +00:00
Dane Springmeyer
6ae59b80af iwyu 2014-08-06 12:27:10 -07:00
artemp
0490b7887c text_symbolizer - ``geometry-transform`` support 2014-08-06 14:54:38 +01:00
artemp
9835057b0f Use vertex_converters in text placement 2014-08-06 13:10:24 +01:00
Dane Springmeyer
ce8aee1994 be explicit about copy needed to safely pass glyph_info into text_line - closes #2337 2014-08-05 17:03:30 -07:00
Dane Springmeyer
d27b45553a use emplace/emplace_back over insert/push_back - refs #2336 2014-08-05 15:19:37 -07:00
Dane Springmeyer
7a013e8151 switch glyph_info cache to an unordered_map (but no perf diff on osx) 2014-08-05 14:31:29 -07:00
Dane Springmeyer
76bd45fa30 fix order of smooth/offset - same bug as #2202 but for patterns 2014-08-05 13:54:10 -07:00
Dane Springmeyer
2a7fc29e42 add support for opacity with svgs in pattern symbolizers - refs #1010 2014-08-05 13:48:40 -07:00
Dane Springmeyer
2c9e089317 move harfbuzz_shaper inc + other iwyu fixups 2014-08-05 11:10:49 -07:00
artemp
c3a83e6f74 re-arrange headers 2014-08-05 18:58:22 +01:00
artemp
2b90b382e7 move render_pattern into sepratre compilation module 2014-08-05 17:40:15 +01:00
artemp
a8991cd600 refactor clipping_extent into separate header for sharing 2014-08-05 17:22:13 +01:00
artemp
dd05521289 Revert "avoid overflowing"
This reverts commit ebd183d58e.
2014-08-05 13:13:52 +01:00
artemp
ebd183d58e avoid overflowing 2014-08-05 11:57:57 +01:00
artemp
59b666cb77 Cairo : use vertex_converter in line_pattern_symbolizer (#1386)
fix pattern alignment
2014-08-05 11:48:42 +01:00
Dane Springmeyer
99a46f6910 re-enable glyph_info caching - refs #2326, #2265, #2334 2014-08-04 19:50:16 -07:00
Dane Springmeyer
fb12fc8b68 default to global alignment for polygon patterns - refs #2325 2014-08-04 16:20:12 -07:00
Dane Springmeyer
03429f9bcb use std::unordered_map in non-perf critical code 2014-08-04 13:59:02 -07:00
Dane Springmeyer
75248e3376 remove obsolete wrap-character option for text symbolizer - closes #2333 2014-08-04 12:52:46 -07:00
Dane Springmeyer
5af394e496 scons: ensure cairo_renderer.cpp is built farther in the stack away from expression_grammar.cpp 2014-08-04 10:24:11 -07:00
artemp
c1c5421fb6 add divide, linear-dodge and linear-burn blending modes (needs testing) 2014-08-04 12:33:37 +01:00
Dane Springmeyer
9f05389754 fix handling of all sym enums as expressions - fixes tests from #2328 2014-08-03 21:28:36 -07:00
jhollinger2
0aad860a75 Add repeat-distance to text symbolizer properties.
Update collision detector to handle minimum-distance and repeat-distance seperately.
Update placement_finder to use repeat-distance.
Update group symbolizer to handle minimum-distance and repeat-distance.
2014-08-03 16:10:21 -04:00
artemp
96cc6b5417 fix typo 2014-08-01 20:15:59 +01:00
artemp
21d28c419c Cairo : add SVG support for in line patterns 2014-08-01 14:37:39 +01:00
artemp
d44177b870 set image-transform for line pattern symbolizer 2014-08-01 13:40:08 +01:00
artemp
f2db42d5e4 support image-transform for vector patterns 2014-08-01 13:39:29 +01:00
artemp
a9f0408e4f polygon_pattern_symbolizer: use set_symbolizer_property + add image-transform 2014-08-01 10:05:30 +01:00
artemp
90099bc171 Cairo : add SVG pattern support in polygon_pattern_symbolizer 2014-07-31 15:43:59 +01:00
artemp
18a7731d42 AGG line/polygon_pattern_symbolizer add support for SVG patterns 2014-07-31 15:25:22 +01:00
artemp
d4224ae852 polygon_pattern_symbolizer - fix 'opacity' 2014-07-31 10:29:44 +01:00
Dane Springmeyer
3412c071ab initialize default black square in marker cache - refs #952 2014-07-31 00:41:27 -07:00
Dane Springmeyer
6078f4cef1 more marker bbox fixes 2014-07-30 23:43:48 -07:00
Dane Springmeyer
f1cffaeb1f Start fixing placement of raster markers with cairo renderer 2014-07-30 21:57:16 -07:00
Dane Springmeyer
a1cd4c2768 sync cairo with agg rendering for line_patterns 2014-07-30 17:51:44 -07:00
Dane Springmeyer
936bfe201c remove tabs from cairo_renderer.cpp 2014-07-30 16:11:06 -07:00
Dane Springmeyer
2a18280dc5 Add support for dynamic expressions for dasharrays - closes #2168 2014-07-30 16:02:23 -07:00
Dane Springmeyer
b7ecd00c31 complete support for face-name/fontset-name in <Format> node - closes #1900 2014-07-30 14:16:32 -07:00
Dane Springmeyer
da457eba81 Merge branch 'master' of github.com:mapnik/mapnik 2014-07-30 08:42:03 -07:00
artemp
a6272fc16d fix symbolizer helper 2014-07-30 14:09:15 +01:00
Dane Springmeyer
8646ccc83f start passing fontsets down to format and layout - refs #1900 2014-07-29 18:29:20 -07:00
Dane Springmeyer
ba999ff4be Merge pull request #2295 from mapycz/3.x-szn-markers-symbolizer
refactor markers placements
2014-07-29 17:04:27 -07:00
Dane Springmeyer
1fa31d5d20 remove force-odd-labels - refs #2120 2014-07-29 14:37:29 -07:00
Dane Springmeyer
ea0a9240a3 save_map: pass explicit_defaults down to symbolizers 2014-07-29 09:38:39 -07:00
artemp
08c3dd1f88 convert remaining text properties to expressions 2014-07-29 14:43:26 +01:00
artemp
0c5c01d9a3 remove err ',' 2014-07-29 13:31:57 +01:00
artemp
c565aa8722 move symbolizer property handling to symbolizer_utils 2014-07-29 13:31:07 +01:00
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
artemp
9d91f3ca82 c++11 : cleanup crufty code 2014-07-29 10:09:21 +01: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
51be686f6c remove paths-from-xml option in load_map parsing - closes #1893 2014-07-28 19:33:48 -07:00
Dane Springmeyer
366865cfea fix #2129 2014-07-28 19:11:18 -07:00
Dane Springmeyer
cb3a4e10b7 reduce lock-time when creating datasources - #2317 2014-07-28 16:17:31 -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
72fd012221 c++ style 2014-07-28 15:16:59 +01:00
artemp
fb3d9cd7b6 convert horizontal/vertical/justify_alignment properties to expressions 2014-07-28 15:09:29 +01:00
artemp
c93b7fd632 cleanup 2014-07-28 12:20:14 +01:00
artemp
51cf60125e rename source files to reflect class name e.g layout -> text_layout 2014-07-28 12:10:34 +01:00
artemp
e31eefb1e0 implicit capture of this pointer by value 2014-07-28 11:29:56 +01:00
Dane Springmeyer
0d95f038a7 shuffle the cost of spirit grammars 2014-07-25 16:15:18 -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
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
ff96af0480 tex/formatting/format fix add_expressions 2014-07-24 14:51:34 +01:00
artemp
b53572ab9c update text/formatting/format 2014-07-24 14:45:02 +01:00
artemp
a65239bf4b fix format_node::to_xml - attach format_properties to new_node 2014-07-24 12:13:34 +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
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
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
artemp
510c4b538d pedantic 2014-07-23 09:31:42 +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
64e70fb374 iwyu 2014-07-22 22:40:39 -07:00
Dane Springmeyer
28a05c96ef iwyu + faster compile 2014-07-22 19:36:39 -07:00
Dane Springmeyer
006c460c9c fix use of comp-op as data-driven expression 2014-07-22 10:52:30 -07:00
artemp
98e8937d1c range based for loops + code cleanup 2014-07-22 16:22:43 +01: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
3c2dd839e4 serialize color properties 2014-07-21 12:28:27 +01:00
artemp
a9062fe112 restore serialization in text_properties and text/formattin/layout 2014-07-21 11:43:59 +01:00
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