Commit graph

3214 commits

Author SHA1 Message Date
Blake Thompson
0d2eb9cb5f Updates for Ref #2594 and #2592 (Related to #2491)
* Added support for scanline, stripped and tiled
 * Added new configuration options for TIFF:
   - method
   - tile_height (Default 0)
   - tile_width (Default 0)
   - rows_per_strip (Default 0)
 * Removed 'scanline' configuration option for TIFF.
 * Changed RGBA TIFFs to be ASSOCALPHA rather then UNASSOCALPHA
2014-12-15 02:52:32 +00:00
artemp
85d954ab6a make composite method templated and fix visibility issue
(reverts  1ff4125e92)
2014-12-12 11:39:36 +01:00
artemp
3cbe969f03 fix external visibility issue for explicit instantiations of scale_image_agg - ref #2587 2014-12-12 11:09:52 +01:00
artemp
72f437c52a tiff_reader - fix
( "...where the -Sy is due the reversal of direction from J increasing- down in raster space to Y increasing-up in model space.")
2014-12-12 10:18:34 +01:00
artemp
5dd87de782 template scale_image_agg on image_data_type to squash code duplication 2014-12-11 18:54:32 +01:00
artemp
b38ac5c2ca add no-op gray8 scaling 2014-12-11 11:06:44 +01:00
artemp
f921e1eef4 raster_colorizer - template colorize method on image_data type 2014-12-11 10:10:32 +01:00
artemp
dd22d34d07 formatting 2014-12-11 09:39:25 +01:00
artemp
218b22fba9 remove cast 2014-12-11 09:38:58 +01:00
artemp
5021a4e122 tiff_reader - fix end_y calc in read_stripped 2014-12-10 18:11:41 +01:00
artemp
74c96f0bda make bounding_box return optional<box2d<double>> to be consistent with current behavour 2014-12-10 12:53:39 +01:00
artemp
2efde962aa image_reader - add bounding_box virtual method 2014-12-10 10:44:51 +01:00
Dane Springmeyer
93c6207153 repack tiff_reader to avoid slop (saves 16 bytes) 2014-12-09 08:34:13 -05:00
artemp
303d625b7c tiff_reader - fix reading tiled tiffs + flip vertically output from TIFFReadRGBATile + cleaups 2014-12-09 12:25:21 +01:00
Dane Springmeyer
36d7e455ed tiff io: disable strip chopping to ensure we fail fast on 'tiff_dos_strip_chop.tif' from gdal autotests 2014-12-09 00:39:19 -05:00
Dane Springmeyer
fcf71c36d9 tiff io: avoid over-allocation + add more tests 2014-12-09 00:17:02 -05:00
Dane Springmeyer
8b0ba79d2a more debugging output for failed read_tile 2014-12-08 20:39:44 -05:00
Dane Springmeyer
24a9816913 test tiff photometric setting 2014-12-08 17:16:56 -05:00
Dane Springmeyer
f121d805a9 no need for TIFFRGBAImageOK 2014-12-08 17:12:44 -05:00
Dane Springmeyer
6ca1cd6c74 avoid crashing on images with alpha 2014-12-08 16:43:32 -05:00
Dane Springmeyer
cb3771fbe5 fix reading of tiled tiff tile dimensions for gray32f 2014-12-08 15:23:06 -05:00
Dane Springmeyer
bc3f59af12 new c++ tiff tests - refs #2491 2014-12-08 14:52:52 -05:00
artemp
7fcc4a0846 use TIFFReadTile (or TIFFReadEncodedTile) instead of TIFFReadRGBATile to have consistent orientation
(FIXME: python tests failures)
2014-12-08 18:55:40 +01:00
artemp
912771b8fd generic read_tiled<ImageData> initial implementation + read PHOTOMETRIC_RGB using high-level RGBA expanding interface 2014-12-08 15:51:00 +01:00
Dane Springmeyer
96baff431f use c++ style casts im tiff_reader 2014-12-05 13:59:20 -05:00
artemp
ce605e3982 use RAII for resource management 2014-12-05 18:01:45 +01:00
artemp
902858e55f tiff_reader: initial support for reading gray8/gray16/gray32f/rgba8/rgba16/rgba32f data
Note: current code only works with image data organized in strips. Tile-orientated reading needs implementing
2014-12-05 17:35:26 +01:00
Dane Springmeyer
d6e9126132 fix linking of scale_image_agg - refs #2587 2014-12-05 09:43:57 -05:00
Blake Thompson
bf5c532269 Series of changes for the tiff encoder:
* Added configuration options for the TIFF encoder. The options are:
   - compression: adobe_deflate(default), deflate, lzw, none
   - zlevel: 0-9
   - scanline: 1,0 (Forces scanline encoding)
 * Fixed bug in encoder with scanline where memory was being modified
 * by TIFFWriteScanline. A buffer is now created for each row to prevent
 * modification of the underlying image_data.
2014-12-04 17:11:33 -05:00
artemp
38da080f82 make concrete image_data type names more expressive and explicit about color channels/depth:
image_data_32 -> image_data_rgba8
image_data_8  -> image_data_gray8
image_data_16 -> image_data_gray16
image_data_float32  -> image_data_gray32f

NOTE: currently image_data_gray16::pixel_type = std::int16_t (signed 16 bit int) to match GDAL
should we support unsigned types?
2014-12-04 11:02:42 +01:00
artemp
3b3e255f5e add comment 2014-12-04 10:31:56 +01:00
Dane Springmeyer
f82d57f497 work in progress: start enhancing tiff reader to handle bits per sample 2014-12-03 18:37:27 -05:00
Dane Springmeyer
954d0db46c Merge branch 'master' of github.com:mapnik/mapnik into image_data_any 2014-12-03 13:53:14 -05:00
artemp
de7a268333 read single band as int16 then agg_scale and colorize in gray16 color space, output rgb8 (aka image_data_32)
NOTE: proof-of-concept needed re-factoring/duplicate code removal
2014-12-03 18:19:44 +01:00
artemp
802428712e initial image_data_any read(...) implementation - always read into image_data_32 2014-12-03 10:56:19 +01:00
artemp
1df9d89a70 add to image_reader and implement empty (placeholder)
```image_data_any read(unsigned x, unsigned y, unsigned width, unsigned height) final```
in png/jpeg/webp/tiff readers
2014-12-03 10:44:56 +01:00
Dane Springmeyer
1ff4125e92 fix visibility of mapnik::composite function to python bindings - refs #2587 2014-12-03 00:43:04 -05:00
Dane Springmeyer
4d39d2aac1 iwyu 2014-12-02 14:40:03 -05:00
Dane Springmeyer
946434002f handle/throw on invalid encoding for ucnv_open 2014-12-02 14:21:36 -05:00
artemp
19e3ce9035 gdal : experimenting with fetching gray scale single band as image_data_float32 2014-12-02 15:56:40 +01:00
artemp
6fec43bf9e gdal - read single band as image_data_float32
(scaling/compositing FIXME)
2014-11-28 12:51:23 +01:00
artemp
bf9c99e3d3 initial image_data_any implentation (work-in-progress) 2014-11-26 12:22:36 +01:00
artemp
333965b588 update copyright year 2014-11-20 15:25:50 +01:00
artemp
5e2a53bac9 c++ mapnik style 2014-11-20 14:35:50 +01:00
artemp
4f3521ac24 image_data: use std::size_t + various cleanups 2014-11-20 12:46:16 +01:00
Jiri Drbalek
cb46131bc5 move text-specific inverted y axis logic from vertex_cache to placement_finder 2014-11-13 12:51:36 +00:00
Jiri Drbalek
69fc93d87a add move constructor to vertex_cache 2014-11-13 12:51:36 +00:00
Jiri Drbalek
3013197de7 move vertex_cache and tolerance_iterator from text directory 2014-11-13 12:51:36 +00:00
Dane Springmeyer
437d486bbd fix building with PLUGIN_LINKING=static 2014-11-11 14:42:53 -08:00
Dane Springmeyer
3cbde2dc54 map.remove_all should clear other containers 2014-11-07 19:50:18 -05:00
Dane Springmeyer
183f182ef7 remove duplicate check for .woff font type 2014-11-07 19:04:50 -05:00
Dane Springmeyer
22bd30230a remove unneeded option 2014-11-04 11:41:23 -05:00
Dane Springmeyer
d6b74443a7 use non static ref to global memory font cache 2014-11-04 11:41:23 -05:00
Dane Springmeyer
808e820164 smarter type handling for Map parameters 2014-10-27 09:24:33 -07:00
Jordan Hollinger
d524738ad9 Remove point symbolizer support from group symbolizer. 2014-10-27 09:43:42 -04:00
Jordan Hollinger
ee692eea73 Merge branch 'master' of github.com:mapnik/mapnik into group-markers
Conflicts:
	include/mapnik/grid/grid_marker_helpers.hpp
	include/mapnik/marker_helpers.hpp
	include/mapnik/renderer_common/process_group_symbolizer.hpp
	src/cairo/process_markers_symbolizer.cpp
	src/renderer_common/process_group_symbolizer.cpp
	tests/visual_tests/images/group-symbolizer-1-512-512-1.0-agg-reference.png
	tests/visual_tests/images/group-symbolizer-1-512-512-1.0-cairo-reference.png
	tests/visual_tests/images/group-symbolizer-1-512-512-2.0-agg-reference.png
	tests/visual_tests/images/group-symbolizer-1-512-512-2.0-cairo-reference.png
2014-10-27 09:29:45 -04:00
Jordan Hollinger
16b1b5a77c Support markers in group symbolizer. 2014-10-27 07:46:44 -04:00
Jordan Hollinger
1b15e53b63 Refactor markers dispatchers to use a common base class to share code. 2014-10-27 07:46:43 -04:00
Dane Springmeyer
ecb529cba2 handle boost::spirit::qi::expectation_failure 2014-10-24 21:36:19 -07:00
Dane Springmeyer
a1314935af fix initialization order in proj_transform 2014-10-22 15:34:17 -07:00
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
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