Dane Springmeyer
d6e9126132
fix linking of scale_image_agg - refs #2587
2014-12-05 09:43:57 -05:00
Blake Thompson
4d159a3900
fixin' okie spelling
2014-12-04 18:13:11 -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
Jiri Drbalek
2282fab53e
use font-feature-settings per text_item
2014-12-04 21:19:13 +00:00
artemp
0006de7420
image_data - fix copy constructor
2014-12-04 18:26:58 +01:00
Blake Thompson
e6c5f705e5
Fixed error with selection criteria for stripe vs tiled, added modulus check on length and width to select striped in some situations, changed bitspersample for RBGA. (ref #2491 )
2014-12-04 10:48:19 -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
06ab69a08e
further simplify raster rendering code
2014-12-04 10:33:28 +01:00
Blake Thompson
cdaca0ba11
Updated tiff processing so now the encoder will utilize different types of data as well as will use Tile based encoding in most situations, if the image is large will revert to scanline based encoding.
2014-12-03 18:41:49 -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
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
artemp
33607145a6
add image_data_null which is cheap to construct (no mem alloc)
...
add default ctor to image_data_any -> image_data_null
2014-12-03 10:26:21 +01:00
artemp
83aa06e329
move image_data_any into seprate header
2014-12-03 10:12:46 +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
ce7085ab63
remove duplicate/uneeded mapnik::raster ctor
2014-12-03 00:34:49 -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
Dane Springmeyer
9d5e46a1f9
drop unsupported geotiff output - refs #967
2014-12-02 13:28:02 -05:00
Dane Springmeyer
d77463d1b8
use c++11 typed enum in vertex.hpp
2014-12-02 08:09:36 -08:00
artemp
19e3ce9035
gdal : experimenting with fetching gray scale single band as image_data_float32
2014-12-02 15:56:40 +01:00
Dane Springmeyer
d92ba2e1b0
more c++11 typed enums
2014-12-01 22:20:18 -08: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
83bad7a816
feature_collection_grammar: fix a mistake - #2582
2014-11-24 12:42:24 +01:00
artemp
c5ab5f68d9
feature_collection_grammar: make argument order consistent across parsing rules - #2582
2014-11-24 12:37:37 +01:00
artemp
ee9481cb38
feature_collection_grammar : allow passing start_id at parse time - #2582
2014-11-24 12:26:11 +01:00
artemp
d1e0078abf
use qi::locals<std::size_t> for per parse feature id generation and remove generate_id phoenix function
...
(NOTE: ids start from 1)
2014-11-24 11:18:45 +01:00
artemp
333965b588
update copyright year
2014-11-20 15:25:50 +01:00
artemp
6adf62ec5a
image_data : remove unused owns_data_ field
2014-11-20 15:08:07 +01:00
artemp
f7649c27b0
image_data : re-factor (ref #2491 )
...
* factor out raw image data alloc/dealloc into separate detail::buffer
* remove shallow ctor
* remove no-op dtor from image_data
2014-11-20 14:36:03 +01:00
artemp
4f3521ac24
image_data: use std::size_t + various cleanups
2014-11-20 12:46:16 +01:00
artemp
79bbe13c0d
mapnik::raster : allow passing image_data into ctor
2014-11-20 10:31:56 +01:00
Jiri Drbalek
60ea198aa3
marker line placement rewrite
2014-11-13 12:51:36 +00:00
Jiri Drbalek
849a58cd80
make vertex_cache::current_segment_angle() public
2014-11-13 12:51:36 +00:00
Jiri Drbalek
000c2713ed
make marker placement methods noncopyable, movable
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
e397345bce
map.register_fonts recurse should be optional like font_engine
2014-11-07 19:05:28 -05:00
Dane Springmeyer
bff4465976
fix msvs compiler error - closes #2560
2014-11-04 17:50:43 -05:00
Dane Springmeyer
22bd30230a
remove unneeded option
2014-11-04 11:41:23 -05:00
Jiri Drbalek
7a89f1ab02
fix default value condition
2014-11-03 15:35:16 +00:00
Dane Springmeyer
aa85a4ff1e
default to transparent not pink if color expression fails
2014-10-27 09:23:27 -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
artemp
71085323a7
Merge branch 'peucker' of git://github.com/MapQuest/mapnik into MapQuest-peucker
2014-10-24 15:20:05 +01:00
artemp
456ebe006b
fix [-Wparentheses] warning
2014-10-23 09:51:45 +01: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
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
artemp
fdd646aa5b
more c++
2014-10-21 15:52:01 +01:00
artemp
30907b3dd1
use c++ std::fill/copy instead of c-style memset/memcpy
2014-10-21 14:57:34 +01:00
artemp
107bad002d
c++11 - use c++ style casts + cleanups + use std::fill
2014-10-21 14:51: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
52d0e3e641
expression grammar - add boolean_constants and floating_point_constants symbols
...
```python
>>> import mapnik
>>> f=mapnik.Feature(mapnik.Context(),1)
>>> expr = mapnik.Expression("rad_to_deg * pi")
>>> expr.evaluate(f)
180.0
```
2014-10-20 17:57:08 +01:00
artemp
1ed3d24193
update variant.hpp (use std::forward<T> for perfect forwarding - via @DennisOSRM)
2014-10-20 15:48:47 +01:00
Jiri Drbalek
4549c0b63c
ignore scale_factor for geometry-transform scale
2014-10-18 10:31:07 +00:00
artemp
2516d6dd43
default to GLOBAL alignment
2014-10-17 21:23:00 +01:00
artemp
ea9cc4c54b
remove cast
2014-10-17 21:22:36 +01:00
artemp
6eb65434c5
upgrade to new get<value_type, keys::key>
2014-10-17 20:45:15 +01:00
artemp
35a044578b
re-implement assign_value to use target property type
2014-10-17 18:45:08 +01:00
artemp
bbdc136b5b
fix names + update property_meta_type tuple
2014-10-17 18:44:26 +01:00
artemp
b3e3a4f6bd
update get<>() to use values from symbolizer_default_values.hpp
2014-10-17 10:39:40 +01:00
artemp
9d87f7715b
symbolizer properties default values
2014-10-17 10:38:54 +01:00
Dane Springmeyer
b90763469a
iwyu
2014-10-15 19:03:36 -07:00
Dane Springmeyer
9684880062
c file io wrapper: no need for explicit move + reset seek after checking size in ctor
2014-10-15 11:36:25 -07:00
Dane Springmeyer
e1c1371935
Merge pull request #2514 from mapycz/perf-tolerance-iterator
...
exponential tolerance_iterator
2014-10-14 20:49:19 -07:00
Dane Springmeyer
8b441cbd2d
fix mapnik/node-mapnik#332
2014-10-14 20:30:55 -07:00
Dane Springmeyer
7a58a9413d
remove uneeded include
2014-10-14 20:23:21 -07:00
Jiri Drbalek
f95f200ac1
make tolerance_iterator exponential
2014-10-14 10:47:45 +00: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
ad91c56718
Avoid BOOST_MPL_LIMIT_VECTOR_SIZE redefined warning
2014-10-13 18:06:53 -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
Dane Springmeyer
66ce021ad5
cairo_gradient: fallback to radial if the class is misused to prevent crash on uninitalized pattern
2014-10-13 17:26:32 -07:00
Dane Springmeyer
1f1c8a322b
initialize all member variables
2014-10-13 17:23:45 -07:00
Dane Springmeyer
4b689ef05d
fix casting to doubles
2014-10-13 17:23:30 -07:00
artemp
f8031dec96
no need to initialise `evaluated_xxx' structures as initialisation happens at evaluation step
2014-10-13 14:11:23 +01:00
artemp
7969a1c13a
use more appropriate header
2014-10-13 13:23:14 +01:00
Jiri Drbalek
1252369292
add horizontal-alignment="adjust" with immutability of style objects in
...
mind
2014-10-13 12:16:48 +00:00
artemp
4fe0c249a6
make hb_feature_t EqualityComparable
and fix font_feature_settings operator==
2014-10-13 11:22:28 +01:00
Dane Springmeyer
6b1c4d00e5
MAPNIK_DECL font_feature_settings
2014-10-12 22:00:25 -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
35b4518b13
iwyu
2014-10-12 16:35:35 -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
cf2df4f0cc
harfbuzz shaper: return early if itemizer returns empty list
2014-10-12 15:48:15 -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
94aa67b0af
vertex_cache: in place construction of segments
2014-10-12 13:30:24 -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
f1c3d0c3ce
iwyu in group_symbolizer_helper.hpp
2014-10-12 12:00:00 -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
f7849cea09
make evaluated_text_properties noncopyable
2014-10-11 19:28:04 -07:00
Dane Springmeyer
477d6cc7ee
zero-copy text_item insertion
2014-10-11 19:12:15 -07:00
Dane Springmeyer
b455cc9098
give glyph_info better ctor
2014-10-11 17:52:54 -07:00
Dane Springmeyer
eabdf46118
drop unwise glyph_info caching - reverts 99a46f6910
- re-opens #2334
2014-10-11 17:32:41 -07:00
Dane Springmeyer
ba285aa9fa
remove unused (after 8bc7a56cda
) font_face::char_height_
2014-10-11 15:55:15 -07:00
Dane Springmeyer
b275144004
make cairo_context.add_text more like agg::text_renderer
2014-10-11 13:08:28 -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
344108c621
const not viable yet on itemizer
2014-10-09 20:00:35 -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
2e4a9cfaf2
itemizer should be const in icu_shaper
2014-10-09 18:44:28 -07:00
Dane Springmeyer
536b23bfde
fix uneeded pointer indirection with glyph_info/glyph_position
2014-10-09 18:38:29 -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
3479fcaec5
finish templating the json geometry generator on geometry container
2014-10-09 00:48:58 -07:00
Dane Springmeyer
7bc956e9e8
fix mis-spelling of fwd declare for text_placement_info_dummy
2014-10-08 16:51:33 -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
Kevin Kreiser
2178f1602c
note to self. read coding convention guidelines before actually writing code.
2014-10-08 15:05:38 -04:00
Kevin Kreiser
96bf063b1c
standardize commenting convention. i prefer lower case no space (ie laziness) but that doesnt seem to be the norm.
2014-10-08 14:09:07 -04:00
Kevin Kreiser
a5bedfbae3
fix some whitespace issues. somehow tabs were getting in there
2014-10-08 14:05:25 -04:00
Kevin Kreiser
b7d3a798cd
add ramer douglas peucker to the list of simplify converters. also add tests for the simplify converters but so far only testing peucker. also add a method to the wkt factor for converting geometry container to wkt
2014-10-08 13:47:36 -04:00
Dane Springmeyer
3a7c8ff3fb
make scoped_state noncopyable
2014-10-08 08:00:59 -07:00
artemp
37f6aadcbb
template json::(multi_)geometry_grammar on Geometry and GeometryContainer respectfully
2014-10-08 11:01:28 +01:00
artemp
7f219b4f8b
use phoenix v3 syntax + cleanups
2014-10-08 11:00:25 +01:00
artemp
66252075e9
use <type_traits>
2014-10-08 10:37:35 +01:00
artemp
29c7c5ac3e
throw std::runtime_error on expectation failure
2014-10-07 11:21:44 +01:00
artemp
5990eecec5
better rules names
2014-10-07 11:21:05 +01:00
Dane Springmeyer
c2fe4a14be
drop useless template usage for has_key
2014-10-06 23:21:13 -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
1ae43a25ff
text_properties code cleanup - pregame for #2504
2014-10-06 16:59:49 -07:00
jhollinger2
5ca07a26d1
Refactor marker helpers for agg and grid renderer.
2014-10-06 14:03:48 -04:00
Jordan Hollinger
8405400776
Pass recentered transform to markers_placement_finder in vector_markers_rasterizer_dispatch_grid. Update expected grids for test case.
2014-10-06 09:16:16 -04:00
Dane Springmeyer
4aec64871d
add missing header
2014-10-03 20:00:33 -07:00
Dane Springmeyer
e0ba9e9a8c
use common dispatch for symbolizers
2014-10-03 19:07:08 -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
artemp
e8b3083a6a
remove std::function usage in text_properties
2014-10-03 16:00:05 +01:00
Dane Springmeyer
f586f6909f
make vertex_cache noncopyable
2014-10-02 15:41:21 -07:00
Dane Springmeyer
109b45a0ad
c++ style
2014-10-02 15:37:55 -07:00
Jiri Drbalek
5861980f91
add wrap-character support to Layout node of TextSymbolizer
2014-10-02 18:34:37 +00:00
Dane Springmeyer
d4f11bd80e
fix miniz visibility with -fvisibility=hidden
2014-10-02 10:27:17 -07:00
artemp
2bab0512ff
refactor vertex_cache to use unique_ptr's and less copying
2014-10-02 16:36:50 +01:00
Dane Springmeyer
887f5a982b
remove unneeded include
2014-10-01 21:08:36 -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