Dane Springmeyer
2a33ead4cc
finish centralizing boost::filesystem usage to single cpp file - refs #1177
2015-01-06 00:33:33 -08:00
artemp
132507571b
template feature_generator_grammar on FeatureType - ref #2546
2014-12-22 15:56:46 +01:00
artemp
f1373883c2
json feature_generator_grammar - re-factor properties_generator_grammar into separate compilation unit - ref #2546
2014-12-22 11:52:13 +01:00
Dane Springmeyer
dc8253ec2a
support expressions in text-placements - closes #2597
2014-12-19 19:05:54 -08:00
Dane Springmeyer
5e9009a86b
fix windows compile
2014-12-18 21:26:31 -08:00
Dane Springmeyer
b235910895
fix conditional dlopen support
2014-12-18 21:13:47 -08:00
Dane Springmeyer
387b8f85d5
new dot symbolizer for fast rendering of points - refs #1651 mapbox/mapnik-vector-tile#62 #2612
2014-12-17 12:01:28 -08:00
Dane Springmeyer
fe58aabe55
markers: support restyling svg stroke and fill without limit - closes #2609 - refs mapnik/mapnik-support#27
2014-12-17 12:01:04 -08:00
Dane Springmeyer
f8bedf4f65
support building without dlopen support
...
Conflicts:
SConstruct
2014-12-17 11:55:22 -08:00
artemp
12eb56d96a
better names + unbuffered io + use image_data_xxx for allocating strip
...
e# 2x2.png
2014-12-17 18:34:47 +01:00
artemp
137bd0ba3b
format
2014-12-17 14:54:31 +01:00
artemp
78fbc6df17
expose warp_image templated method
2014-12-17 14:24:58 +01:00
artemp
1df88908e4
refactor warping code to work with different pixel_types and minimise code duplication
2014-12-16 12:04:18 +01:00
artemp
c3e7b12238
fix nasty typo + refactor more
2014-12-16 12:02:40 +01:00
artemp
110841fc55
image_scaling - re-factor set_scaling_method for re-use accross code base
2014-12-16 10:37:50 +01:00
artemp
ecf9a686a3
c++11 - use constexpr
2014-12-16 10:17:05 +01:00
artemp
979d706c26
move image_scaling traits into separate header to enable code sharing
2014-12-16 10:13:40 +01:00
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
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
artemp
3f040a3422
set_symbolizer_property : specialization for transform_type
2014-07-02 10:29:05 +01:00
artemp
4965dc6e7f
fix name
2014-07-02 10:16:58 +01:00
artemp
504c6fdabd
make ``simplify_algorithm
`` an expression
2014-07-02 10:15:44 +01:00
artemp
dd9365a817
throw config_error, cleanup
2014-07-01 14:17:07 +01:00
artemp
a26f389cb2
throw on symbolizer property parsing failure
2014-07-01 14:02:35 +01:00
artemp
91f08801ce
consistent namings
2014-07-01 09:39:27 +01:00
artemp
2271e7413c
ENUM_FROM_STRING macro to keep things tidy and scalable
2014-06-30 17:41:33 +01:00
artemp
79fa672843
support expressions in stroke-linejoin and stroke-linecap properties
2014-06-30 14:06:34 +01:00
artemp
19b38c2ed9
more generic expressions in enum
...
support expressions in halo-comp-op symbolizer property
2014-06-27 16:11:30 +01:00
artemp
aa9966ed88
parse comp-op property as enumeration_wrapper or expression_str
2014-06-27 13:58:03 +01:00
artemp
0702679bb0
don't call *params.get<std::string>("type"), instead use static datasource::name()
...
(FIXME: consider removing redundant 'name' in feature_layer_descriptor)
2014-06-26 10:51:24 +01:00
artemp
a49abab7ed
use std::uniqure_ptr<char[]> to store memory fonts
2014-06-24 12:05:53 +01:00
artemp
b9bfef634f
wchar_t literal needs L""
2014-06-24 11:45:13 +01:00
artemp
11c2aad531
Merge branch 'master' into stdio
...
Conflicts:
src/font_engine_freetype.cpp
2014-06-24 11:42:33 +01:00
artemp
45ba10e701
use _wfopen in windows
2014-06-24 11:40:04 +01:00
artemp
8255163945
style
2014-06-24 11:23:13 +01:00
artemp
68775c52ff
call FT_Done_Face for matching FT_Open_Face
2014-06-24 11:21:01 +01:00
artemp
f4acd06f84
c++11 - use std::unique_ptr instead of boost::scoped_array
...
(TODO - consider storing unique_ptr's in memory_fonts_ and avoid constructing std::string)
2014-06-23 17:33:31 +01:00
artemp
284786ec16
wrap FILE* in std::unique_ptr (RAII)
...
pull C-i/o from std:: namespace
2014-06-23 17:23:28 +01:00
artemp
4d42df8f3c
ensure we read the whole file at once
2014-06-23 17:11:53 +01:00
artemp
b1d8e06032
oops buffer.get() returns raw bytes (not \0
terminated C-string)
2014-06-23 17:08:00 +01:00
artemp
1c25c34dec
no sure if 'rewind' is a standard - use fseek instead
2014-06-23 16:59:30 +01:00
artemp
4acba303a5
+ use C-style I/O to read font file into memory
2014-06-23 16:56:59 +01:00
artemp
ebde5351af
increase buffer size in std::streambuf for faster i/o
2014-06-23 16:26:50 +01:00
artemp
9496a95af4
use C-style file I/O
2014-06-23 15:33:31 +01:00
Dane Springmeyer
8ae1b6da03
fix boost directory iterator to use wide paths - closes #2273
...
Conflicts:
src/font_engine_freetype.cpp
2014-06-21 14:07:57 -07:00
Dane Springmeyer
6572cde97a
use FT_Open_Face instead of FT_New_Face - refs #1897
...
Conflicts:
src/font_engine_freetype.cpp
2014-06-21 14:01:44 -07:00
Dane Springmeyer
184d9dd43b
fix unicode handling in is_regular_file check - refs #2273
2014-06-20 22:26:33 -07:00
artemp
b0980ac329
cairo renderer: comp_op/halo_comp_op support in text_symbolizer
2014-06-20 09:55:10 +01:00
artemp
f518d44be0
respect text and halo opacity in cairo renderer
2014-06-20 09:35:33 +01:00
Mike Morris
24a7e87f1c
Merge pull request #2272 from mapnik/unscaled-glyphs
...
Unscaled glyphs
2014-06-19 16:35:06 -04:00
artemp
68a5cc55a6
image_filters : agg-stack-blur requires premultiplied pixels - move de/pre multipling into apply_filter()
2014-06-19 15:40:54 +01:00
artemp
2fb3069825
image-filters: apply image-filters in demultiplied colour space
2014-06-19 13:26:40 +01:00
artemp
c605ce81aa
pedantic : prefer explicit double values in comparisons
2014-06-19 12:14:12 +01:00
artemp
666a926864
moving instead of copying mapnik::glyph_info
...
Conflicts:
include/mapnik/text/dummy_shaper.hpp
include/mapnik/text/harfbuzz_shaper.hpp
include/mapnik/text/icu_shaper.hpp
2014-06-18 14:23:18 +01:00
artemp
3c72aedba0
moving instead of copying mapnik::glyph_info
2014-06-18 14:15:12 +01:00
artemp
a5547b0473
Merge branch 'master' into unscaled-glyphs
2014-06-18 10:18:16 +01:00
Dane Springmeyer
6571508576
Merge branch 'master' of github.com:mapnik/mapnik
2014-06-17 21:42:42 -07:00
Mike Morris
f797c320ff
remove unecessary x_scale/y_scale multiplication
2014-06-17 15:57:11 -04:00
artemp
2c3173c1aa
support halo-comp-op property ( #2267 )
2014-06-17 15:11:34 +01:00
artemp
8bd044ec13
+ serialize halo-opacity
2014-06-17 14:24:31 +01:00
Dane Springmeyer
8bb77bce92
image readers: ability to check if image has alpha before full read
...
Conflicts:
src/webp_reader.cpp
2014-06-16 09:52:26 -07:00
Dane Springmeyer
5fcd974817
webp reader: initialize WebPDecoderConfig
...
Conflicts:
src/webp_reader.cpp
2014-06-16 09:52:26 -07:00
Dane Springmeyer
033a0e0ed7
fix miniz inlining
2014-06-16 09:52:25 -07:00
Dane Springmeyer
e421403f3d
fix miniz encoder - closes #1560
2014-06-16 09:52:25 -07:00
artemp
cbab56fa79
text symbilizer : add halo-opactity property ( #2268 )
2014-06-16 11:24:16 +01:00
artemp
7eb8e25110
better namings + cleanup
2014-06-16 11:00:19 +01:00
Mike Morris
a99905cff5
fix char_height zero
2014-06-12 19:10:18 -04:00
Mike Morris
38966674f1
line_height, ymin, ymax and advance all look right now
2014-06-12 16:16:02 -04:00
artemp
3ded23fbab
move make_unique out of std namespace and allow building with c++14 compilers
...
( -std=c++1y )
2014-06-12 15:14:05 +01:00
Mike Morris
2b843ec6a9
first attempt at unscaled glyph dimensions
2014-06-11 19:56:55 -04:00
Dane Springmeyer
d0b357cab7
scons: support MAPNIK_NAME option to customize libmapnik name for custom packaging
2014-06-09 13:55:56 -07:00
artemp
30a39aa376
fix debug build
2014-06-06 14:49:16 +01:00
artemp
b6bab7d0bb
move cairo renderer into its own subdir
2014-06-06 13:38:00 +01:00
artemp
5e386f5c97
capture built-in types by value
2014-06-06 13:12:55 +01:00
artemp
81c4b9dd59
fix init order
2014-06-05 16:13:05 +01:00
artemp
bbb727e39a
update cairo_renderer
2014-06-05 15:15:36 +01:00
artemp
a49e1d075e
initial refactor pass ( fixes #2235 )
2014-06-04 18:05:27 +01:00
artemp
bedd275e95
more const correctness + cleaups
2014-06-02 17:09:12 +01:00
artemp
16fafbad43
share datasources between layers for now
2014-05-30 11:02:50 +01:00
artemp
f9cf23b59f
memory_datasource: support datasource interface
2014-05-30 10:16:49 +01:00
artemp
7572ba58cb
fix : allow comparing nullptr == nullptr -> true
2014-05-28 15:40:25 +01:00
artemp
0669e190de
compare actuak mapnik::datasource objects
2014-05-28 15:18:11 +01:00
artemp
5654759a22
fixed returning reference to temp object
...
TODO: change signiture to return boost::optional<std::string const&> and fix crufty logic
2014-05-28 11:04:47 +01:00
artemp
4ef9cd8b45
use math functions from std::
2014-05-28 10:59:01 +01:00
artemp
a010195b36
modify add_layer to work with both move and copy semantics
2014-05-28 09:54:56 +01:00
artemp
0fe172ec9e
layer : add move ctor
2014-05-28 09:54:56 +01:00
Dane Springmeyer
48c027857c
return const& string from xml_node::get_text()
2014-05-27 13:35:52 -07:00
artemp
fcfbc70abf
+ explicit move ctor's for mapnik::Map and mapnik::font_set
...
+ fix methods sig's
2014-05-27 15:35:37 +01:00
artemp
4474fc52e2
bug fix : call fontsets_.insert(fontset) before std::move(fontset)
2014-05-27 15:34:12 +01:00
artemp
7ff8c97afe
correct method sig
2014-05-27 14:07:28 +01:00
artemp
c5e0c7e43f
feature_type_style operator==
2014-05-27 13:44:01 +01:00
artemp
9791766e32
fix typo
2014-05-27 12:36:05 +01:00
artemp
7b9ba0db31
canonical swap and operator==
2014-05-27 12:34:35 +01:00
artemp
f6a79ecaec
font_set: add operator== and 'swap' impl
2014-05-27 12:33:20 +01:00
artemp
d25abed9d2
custom swap
2014-05-27 11:43:46 +01:00
artemp
9972680020
Map : add member-by-member comparison op
2014-05-27 11:34:39 +01:00
artemp
68300b92b5
fix comparison operator
2014-05-27 11:33:26 +01:00
artemp
c8b8937bf9
out-of-class swap method to be consistent
2014-05-27 11:21:13 +01:00
artemp
eb0b4dbc0b
custom swap method
2014-05-27 11:20:32 +01:00
artemp
4f6b00b589
use custom swap() and avoid std::swap calling move ctor (recursion)
2014-05-27 10:36:42 +01:00
Dane Springmeyer
6610fcc297
fix skipping of empty text nodes in rapidxml parser (matches libxml2) - closes #2253
2014-05-23 10:42:55 -07:00
Dane Springmeyer
03bb82b13f
Merge branch 'master' of github.com:mapnik/mapnik into render-time-variables
2014-05-16 07:49:06 -07:00
Dane Springmeyer
aaae8b1cba
optimize raster rendering when not resizing
2014-05-15 23:38:47 -07:00
Dane Springmeyer
03bb19dc3a
fix svg_renderer ctor
2014-05-15 18:35:27 -07:00
artemp
3cc8fad956
c++11 syntax
2014-05-15 14:00:46 +01:00
artemp
6f24bd1c01
mapnik c++ style
2014-05-15 13:52:43 +01:00
Dane Springmeyer
7fa6747a29
Merge branch 'master' of github.com:mapnik/mapnik into render-time-variables
2014-05-14 11:44:57 -07:00
artemp
d60c371257
slightly better err message
2014-05-14 13:19:59 +01:00
artemp
c9b263fbc8
font_engine
...
+ avoid initialising FT_Library per font registration
+ lock register_fonts
2014-05-14 13:17:09 +01:00
Dane Springmeyer
96f89e34b3
Merge branch 'master' of github.com:mapnik/mapnik into render-time-variables
2014-05-13 20:51:57 -07:00
Dane Springmeyer
2f8451b99a
variables support for cairo/grid/svg
2014-05-13 18:24:17 -07:00
artemp
f0fd0aa8ce
font_engine : use FT_New_Library/FT_Done_Library with custom memory management (ref #2209 #2210 )
2014-05-13 12:43:59 +01:00
Dane Springmeyer
2c661ed3d5
support for render time variables
2014-05-11 13:08:24 -07:00
Dane Springmeyer
c770cfec3c
fix possible crash in mapnik::process_layout::box_offset_align
2014-05-10 07:47:41 -07:00
Dane Springmeyer
6171c3252d
fix a few sign comparison warnings
2014-05-10 07:37:28 -07:00
Dane Springmeyer
7364a30e67
improve handling of colors as expressions
2014-05-08 00:45:18 -07:00
Dane Springmeyer
01d580d747
fix variable shadowing
2014-05-06 18:38:04 -07:00
artemp
99bbb10290
c++11 : use int types from <cstdint>
2014-05-06 18:06:47 +01:00
Dane Springmeyer
d7bb97a22e
simplify code
2014-05-05 18:16:42 -07:00
Dane Springmeyer
5ddde3c885
stop testing bogus wkb since it will crash wkb reader - refs #2236
2014-05-05 17:05:00 -07:00
Dane Springmeyer
b462913fa1
load_map: use const_iterator
2014-05-05 16:06:01 -07:00
Dane Springmeyer
74c7e67d60
Various c++11 improvements
...
- std::make_unique
- avoiding uneccessary std::move calls which make actually prevent rvo (http://stackoverflow.com/questions/4986673/c11-rvalues-and-move-semantics-confusion )
- more c++11 for loops
2014-05-05 16:02:42 -07:00
Dane Springmeyer
ba17b9e374
add TODO comments for grammars that are not stateless - refs #2231
2014-04-30 11:04:26 -07:00
Dane Springmeyer
356cc85ad8
cleanup + rename svg_transform parser
2014-04-30 10:55:46 -07:00
Dane Springmeyer
97a45f21bb
all static grammar usage const + xml_tree cleanups
2014-04-30 10:42:05 -07:00
Dane Springmeyer
8c1e69fdb8
static grammars
...
- construct on first use
- allows for faster map loading and unloading of xml loading tree
- modified expression and transform grammars to not take args/not crash
- simplifies interfaces, allows fast parsing from python without passing grammar instance
2014-04-30 00:11:27 -07:00
Dane Springmeyer
2806bd1cac
rapidxml: validate closing tags like libxml2 parser (no overhead measurable seen)
2014-04-29 14:32:57 -07:00
Dane Springmeyer
c399812c34
Merge pull request #2230 from MapQuest/jh-fix-group-symbolizer-text
...
Group symbolizer serialization
2014-04-29 11:01:37 -07:00
Jordan Hollinger
9ec187505b
Add serialization for group symbolizer components.
2014-04-29 12:08:05 -04:00
Dane Springmeyer
ef837eb92f
c++11 optimizations for faster map loading
2014-04-28 17:10:00 -07:00
Dane Springmeyer
b7b1acaa50
optimize string2bool
2014-04-25 21:46:40 -07:00
Dane Springmeyer
10ce32696a
add support for halo-rasterizer for shields - closes #2226
...
Conflicts:
src/load_map.cpp
tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-1.0-agg-reference.png
tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-2.0-agg-reference.png
2014-04-25 16:07:03 -07:00
Dane Springmeyer
7295e9db5d
fix syntax error after merge
2014-04-24 23:26:25 -07:00
Dane Springmeyer
06bbedaffb
fix raster colorizer access from python
2014-04-24 22:01:58 -07:00
Dane Springmeyer
9e9747ffad
Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
...
Conflicts:
src/agg/process_building_symbolizer.cpp
src/cairo_context.cpp
src/cairo_renderer.cpp
src/grid/process_building_symbolizer.cpp
src/grid/process_line_pattern_symbolizer.cpp
src/grid/process_text_symbolizer.cpp
tests/python_tests/images/support/marker-text-line-scale-factor-0.899.png
tests/python_tests/images/support/marker-text-line-scale-factor-1.5.png
tests/python_tests/images/support/marker-text-line-scale-factor-1.png
tests/python_tests/images/support/marker-text-line-scale-factor-10.png
tests/python_tests/images/support/marker-text-line-scale-factor-100.png
tests/python_tests/images/support/marker-text-line-scale-factor-2.png
tests/python_tests/images/support/marker-text-line-scale-factor-5.png
tests/visual_tests/images/lines-5-200-200-1.0-agg-reference.png
tests/visual_tests/images/lines-5-200-200-2.0-agg-reference.png
tests/visual_tests/images/lines-5-400-400-1.0-agg-reference.png
tests/visual_tests/images/lines-5-400-400-2.0-agg-reference.png
tests/visual_tests/images/lines-5-600-600-1.0-agg-reference.png
tests/visual_tests/images/lines-5-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-5-800-800-1.0-agg-reference.png
tests/visual_tests/images/lines-5-800-800-2.0-agg-reference.png
tests/visual_tests/images/lines-6-200-200-2.0-agg-reference.png
tests/visual_tests/images/lines-6-400-400-2.0-agg-reference.png
tests/visual_tests/images/lines-6-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-6-800-800-2.0-agg-reference.png
tests/visual_tests/test.py
2014-04-24 21:44:28 -07:00
Dane Springmeyer
acb83a8796
fix compile with clang: 'addition of default argument on redeclaration makes this constructor a default constructor'
2014-04-24 21:13:35 -07:00
Dane Springmeyer
67357568a5
move line rendering tests to visual tests
2014-04-24 21:00:00 -07:00
Dane Springmeyer
39737c5f1d
Merge branch '2.3.x' of github.com:mapnik/mapnik
...
Conflicts:
.travis.yml
CHANGELOG.md
bindings/python/build.py
include/mapnik/feature_style_processor_context.hpp
include/mapnik/feature_style_processor_impl.hpp
include/mapnik/json/feature_collection_grammar.hpp
include/mapnik/json/feature_collection_parser.hpp
include/mapnik/json/feature_generator_grammar.hpp
include/mapnik/json/feature_parser.hpp
include/mapnik/json/geojson_generator.hpp
include/mapnik/json/geometry_generator_grammar.hpp
include/mapnik/json/geometry_parser.hpp
plugins/input/gdal/gdal_featureset.cpp
plugins/input/geojson/geojson_datasource.cpp
plugins/input/occi/occi_featureset.cpp
plugins/input/osm/osm_featureset.cpp
plugins/input/postgis/build.py
plugins/input/postgis/connection.hpp
src/agg/agg_renderer.cpp
src/build.py
src/cairo_context.cpp
src/datasource_cache.cpp
src/grid/process_line_symbolizer.cpp
src/grid/process_polygon_pattern_symbolizer.cpp
src/grid/process_polygon_symbolizer.cpp
src/grid/process_text_symbolizer.cpp
src/json/feature_grammar.cpp
tests/cpp_tests/fontset_runtime_test.cpp
tests/visual_tests/images/collision-600-400-1.0-agg-reference.png
tests/visual_tests/images/image-filters-multi-blur-512-512-1.0-agg-reference.png
tests/visual_tests/images/image-filters-multi-blur-512-512-2.0-agg-reference.png
tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-1.0-agg-reference.png
tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-2.0-agg-reference.png
tests/visual_tests/images/lines-1-400-400-2.0-agg-reference.png
tests/visual_tests/images/lines-1-600-600-1.0-agg-reference.png
tests/visual_tests/images/lines-1-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-2-200-200-1.0-agg-reference.png
tests/visual_tests/images/lines-2-400-400-1.0-cairo-reference.png
tests/visual_tests/images/lines-2-400-400-2.0-agg-reference.png
tests/visual_tests/images/lines-2-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-2-800-800-2.0-agg-reference.png
tests/visual_tests/images/lines-3-400-400-2.0-agg-reference.png
tests/visual_tests/images/lines-3-600-600-1.0-agg-reference.png
tests/visual_tests/images/lines-3-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-5-200-200-1.0-agg-reference.png
tests/visual_tests/images/lines-5-200-200-2.0-agg-reference.png
tests/visual_tests/images/lines-5-400-400-1.0-agg-reference.png
tests/visual_tests/images/lines-5-400-400-2.0-agg-reference.png
tests/visual_tests/images/lines-5-600-600-1.0-agg-reference.png
tests/visual_tests/images/lines-5-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-5-800-800-1.0-agg-reference.png
tests/visual_tests/images/lines-5-800-800-2.0-agg-reference.png
tests/visual_tests/images/lines-6-200-200-1.0-agg-reference.png
tests/visual_tests/images/lines-6-200-200-2.0-agg-reference.png
tests/visual_tests/images/lines-6-400-400-1.0-agg-reference.png
tests/visual_tests/images/lines-6-600-600-1.0-agg-reference.png
tests/visual_tests/images/lines-6-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-6-800-800-1.0-agg-reference.png
tests/visual_tests/images/lines-6-800-800-2.0-agg-reference.png
tests/visual_tests/images/lines-shield-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-shield-600-600-2.0-cairo-reference.png
tests/visual_tests/images/shield-on-polygon-600-400-1.0-agg-reference.png
tests/visual_tests/images/shield-on-polygon-600-400-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-490-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-495-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-495-100-2.0-cairo-reference.png
tests/visual_tests/images/shieldsymbolizer-1-497-100-1.0-cairo-reference.png
tests/visual_tests/images/shieldsymbolizer-1-497-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-497-100-2.0-cairo-reference.png
tests/visual_tests/images/shieldsymbolizer-1-498-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-499-100-1.0-cairo-reference.png
tests/visual_tests/images/shieldsymbolizer-1-499-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-499-100-2.0-cairo-reference.png
tests/visual_tests/images/shieldsymbolizer-1-500-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-501-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-502-100-1.0-cairo-reference.png
tests/visual_tests/images/shieldsymbolizer-1-502-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-505-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-505-100-2.0-cairo-reference.png
tests/visual_tests/images/shieldsymbolizer-1-510-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-490-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-495-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-497-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-498-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-499-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-500-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-501-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-502-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-505-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-510-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-490-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-495-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-497-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-498-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-499-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-500-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-501-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-502-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-505-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-510-100-2.0-agg-reference.png
tests/visual_tests/test.py
2014-04-24 14:50:55 -07:00
Dane Springmeyer
1e53351467
only compile cpp code if cairo/grid/svg renderers are enabled
2014-04-24 12:54:18 -07:00
Dane Springmeyer
a93252e569
add newlines to avoid pedantic warnings
2014-04-24 12:53:28 -07:00
Dane Springmeyer
83c0db36cb
add support for rendering (vs skipping) 3D and 4D postgis geometries like POINTZM, LINESTRINGZM, and POLYGONZM - closes #44
2014-04-09 19:40:14 -04:00
Dane Springmeyer
103e874f25
fix #2202
2014-04-03 17:15:57 -07:00
Dane Springmeyer
e94876ebe4
Merge pull request #2160 from MapQuest/expr-v2-group-symbolizer
...
Group Symbolizer
2014-04-03 11:52:21 -07:00
Dane Springmeyer
83ad5f5a25
fix a few g++-4.8 warnings on linux
2014-03-18 14:52:41 -07:00
Dane Springmeyer
cb3db66b82
std::make_unique
2014-03-10 21:34:48 -07:00
Dane Springmeyer
66654683a2
work in progress: fix some expressions tests disable others
2014-03-10 13:30:49 -07:00
Dane Springmeyer
7d5e0f1f91
one step closer to expression support for line cap/join
2014-03-10 13:00:47 -07:00
Dane Springmeyer
91eda81699
pass string by const&
2014-03-10 13:00:14 -07:00
Dane Springmeyer
24aaa0a6de
post merge cleanups
2014-03-10 10:47:43 -07:00
Dane Springmeyer
bdd230a888
fix style copy ctor
2014-03-10 10:47:27 -07:00
Dane Springmeyer
6433d9482e
Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
...
Conflicts:
include/mapnik/symbolizer.hpp
src/agg/agg_renderer.cpp
src/agg/process_line_pattern_symbolizer.cpp
src/agg/process_line_symbolizer.cpp
src/agg/process_polygon_pattern_symbolizer.cpp
src/agg/process_polygon_symbolizer.cpp
src/cairo_renderer.cpp
src/feature_type_style.cpp
src/grid/process_line_pattern_symbolizer.cpp
src/grid/process_line_symbolizer.cpp
src/grid/process_markers_symbolizer.cpp
src/grid/process_polygon_pattern_symbolizer.cpp
src/grid/process_polygon_symbolizer.cpp
2014-03-10 00:05:56 -07:00
Dane Springmeyer
d58def6cdb
silence debug print
2014-03-08 19:54:43 -08:00
Oliver Tonnhofer
2c38670443
prevent double-free in mapnik::projection
...
A double-free can happen when init_proj4 is called outside of the
constructor (for projections with defer_proj_init=true) and when that
call fails. In this case proj_ctx_ is not set to NULL and then freed
again in the destructor. Set to null to avoid second pj_ctx_free call.
See #2170
2014-03-08 19:51:42 -08:00
Oliver Tonnhofer
fc8eb981fe
prevent double-free in mapnik::projection
...
A double-free can happen when init_proj4 is called outside of the
constructor (for projections with defer_proj_init=true) and when that
call fails. In this case proj_ctx_ is not set to NULL and then freed
again in the destructor. Set to null to avoid second pj_ctx_free call.
See #2170
2014-03-08 19:50:34 -08:00
Dane Springmeyer
3dd05bd171
support scale_factor in geometry-transform translate and scale - refs #1926
2014-02-27 13:28:03 -08:00
Dane Springmeyer
e49f63730e
support scale_factor in geometry-transform translate and scale - refs #1926
2014-02-27 11:55:58 -08:00
Dane Springmeyer
fead2e2584
fixes after merge
2014-02-27 11:17:50 -08:00
Dane Springmeyer
277ae93d2c
make inflated image for blurring opt-in via 'image-filters-inflate' option - refs #2165
...
Conflicts:
src/agg/agg_renderer.cpp
2014-02-27 11:17:09 -08:00
Dane Springmeyer
4e957c9cac
make inflated image for blurring opt-in via 'image-filters-inflate' option - refs #2165
2014-02-27 10:11:17 -08:00
Jordan Hollinger
533820c63f
Merge branch 'expr-v2' of github.com:mapnik/mapnik into expr-v2-group-symbolizer
...
Conflicts:
src/text/placement_finder.cpp
tests/visual_tests/test.py
2014-02-25 14:21:51 -05:00
artemp
19c2b76e10
remove unused text_symbolizer.hpp/cpp
2014-02-25 14:25:23 +00:00
Jordan Hollinger
08ea56996a
Add shield symbolizer support in group symbolizer processing.
...
Update some test cases to use ShieldSymbolizer instead of point and text.
2014-02-25 08:53:35 -05:00
Dane Springmeyer
14c02e76a7
Merge pull request #2138 from MapQuest/jmh-text-layouts
...
Multiple text layouts in text symbolizer
2014-02-18 17:59:56 -08:00
Jordan Hollinger
07dc6e37a2
Merge branch 'expr-v2' of github.com:mapnik/mapnik into expr-v2-group-symbolizer
...
Conflicts:
include/mapnik/attribute_collector.hpp
2014-02-18 18:22:01 -05:00
Jordan Hollinger
bbd2cfd40f
Grid renderer implementation for group symbolizer.
...
This uses common process_group_symbolizer for most of the work.
Add reference grids for visual tests.
2014-02-18 16:37:41 -05:00
Matt Amos
f81d5abe1f
"Implement" group symbolizer for SVG renderer.
...
Note that the "implementation" for SVG renderer is the same as
for other symbolizers there - i.e: empty.
2014-02-18 15:54:32 -05:00
Matt Amos
7e25a220a8
Implement debug symbolizer for Cairo. Update tests for debug symbolizer.
...
Debug symbolizer is useful, and used in a bunch of tests. This
adds debug symbolizer support for Cairo to make it closer to the
capabilities of AGG.
Adding debug symbolizer for Cairo meant that red boxes appeared in
many of the visual test outputs. This commit replaces them with
the output, after visual inspection. They should now be closer to
the output of the AGG test cases.
2014-02-18 15:53:55 -05:00
Matt Amos
44e69e9b05
Cairo renderer implementation of group symbolizer.
...
This uses the renderer_common header to do most of the heavy
lifting, but otherwise is very similar to the AGG renderer
implementation.
Add cairo ref images for group symbolizer tests.
2014-02-18 15:45:11 -05:00
Jordan Hollinger
3d1c30db1e
Extracted a lot of code from agg render process_group_symbolizer.
...
Move a lot of processing into a common process_group_symbolizer function.
Also, extract column collection out of process_group_symbolizer function.
This will reduce duplication needed for other renderers.
2014-02-18 15:06:40 -05:00
Matt Amos
efc29649ab
Added test for group symbolizer, fixed segfault.
...
Segfault was due to `glyph_position` structs keeping a pointer to
`glyph_info` objects which went out of scope at a different time.
The (rather ugly) fix for the moment is to copy that information
into the thunk object.
2014-02-18 14:06:05 -05:00
Jordan Hollinger
76329028d2
Find placements and render in process_group_symbolizer.
...
Create a group_symbolizer_helper for group placments, and extract some code from
text_symbolizer_helper into a base class to share with group_symbolizer_helper.
Also, move tolerance_iterator into its own header file. Use helper in
process_group_symbolizer to find placement positions.
2014-02-18 14:01:04 -05:00
Matt Amos
1ccdc5b76d
Added code to render frozen thunks.
...
This renders the saved information from previous calls to the
bounding box extraction code, offset by some amount which should
be determined from running the `placement_finder`. Note that this
doesn't implement that bit, just the rendering.
2014-02-18 11:11:07 -05:00
Matt Amos
b85e7d0764
Added method to extract bounding boxes for symbolizers.
...
This is done by creating a fake 'virtual' environment at a fake
point and running the symbolizer render code. The actual render
is saved in a thunk for after the group layout has been done.
2014-02-18 11:11:06 -05:00
Jordan Hollinger
fbc2a0d1e3
Framework for group symbolizer.
...
This includes XML parsing of group symbolizer and related objects and
process_group_symbolizer method in the AGG renderer. This also includes
code to collect group symbolizer indexed columns, create sub features,
and match them to group rules.
2014-02-18 11:07:52 -05:00