Commit graph

3003 commits

Author SHA1 Message Date
Dane Springmeyer
ca3078938c simplify and install mapnik wkt and json libs 2014-10-22 00:09:22 -07:00
Dane Springmeyer
46a41f3ae1 initialize proj_transform::is_source_equal_dest_ 2014-10-22 00:08:48 -07:00
Dane Springmeyer
aae4a20ec9 fix various -Wunused-parameter warnings 2014-10-21 20:23:17 -07:00
Dane Springmeyer
d25f0c316a silence more warnings 2014-10-21 17:44:47 -07:00
Dane Springmeyer
7acaa3068a silence warning in font_engine_freetype 2014-10-21 16:54:46 -07:00
Dane Springmeyer
83588937b9 silence boost warnings 2014-10-21 16:37:27 -07:00
artemp
295f15bd51 ImageData -> image_data (remove camel-case) 2014-10-21 16:06:27 +01:00
Dane Springmeyer
18183aed2a fix a few -Wunused-parameter warnings 2014-10-20 22:28:40 -07:00
Dane Springmeyer
02b7537d6d remove unused/supported second arg to parse_expression 2014-10-20 22:20:04 -07:00
artemp
6eb65434c5 upgrade to new get<value_type, keys::key> 2014-10-17 20:45:15 +01:00
artemp
bbdc136b5b fix names + update property_meta_type tuple 2014-10-17 18:44:26 +01:00
Dane Springmeyer
dac7170616 break out topojson parsing grammar 2014-10-15 18:59:39 -07:00
artemp
0aac586f7c use enclosing namespaces in core lib 2014-10-15 15:14:21 +01:00
Dane Springmeyer
52e9531179 always return a value from evaluate_displacement 2014-10-14 21:35:20 -07:00
Dane Springmeyer
09f91a24a0 Merge pull request #2523 from mapycz/halign-adjust-immutable
halign adjust with immutability of style objects in mind
2014-10-13 18:47:37 -07:00
Dane Springmeyer
9a78c6dfe1 improve register_datasources + drop filesystem v2 support since v3 is default in boost >= 1.46 2014-10-13 17:43:14 -07:00
artemp
1e3b82a245 add new line 2014-10-13 14:23:06 +01:00
Jiri Drbalek
1252369292 add horizontal-alignment="adjust" with immutability of style objects in
mind
2014-10-13 12:16:48 +00:00
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
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