Commit graph

182 commits

Author SHA1 Message Date
Jiri Drbalek
1252369292 add horizontal-alignment="adjust" with immutability of style objects in
mind
2014-10-13 12:16:48 +00: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
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
ba285aa9fa remove unused (after 8bc7a56cda) font_face::char_height_ 2014-10-11 15:55:15 -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
1fead3396b cleanup unused clipped_ member of base_symbolizer_helper after 9835057b0f 2014-10-09 11:40:30 -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
7ce776a79c fix handling of shield-text-opacity/text-opacity - closes #2507 2014-10-06 21:52:29 -07:00
Dane Springmeyer
737c299341 fix back compat for text-placement-type:dummy - closes #2502 2014-10-06 11:37:39 -07: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
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
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
e6fe3cd8a6 new font_library raii class 2014-10-01 18:19:26 -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
822d3a5bce break apart symbolizer.hpp + fwd declars + svg output grammar impl 2014-09-30 12:50:08 -07:00
Dane Springmeyer
aaec8058fa fix property name in error message 2014-09-29 16:32:46 -07:00
Dane Springmeyer
aa239a65ed remove unneeded include 2014-09-24 12:23:54 -07: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