Dane Springmeyer
b86a2d4c7e
remove debug prints
2014-12-17 08:52:04 -08:00
Dane Springmeyer
ffe8f71008
refactor premultiplication handling in raster rendering
2014-12-17 08:52:03 -08:00
artemp
160e9bb9b5
warp - initialise target with nodata if available
2014-12-17 14:54:54 +01:00
artemp
0d7fbdc25d
implement image_data_warp_dispatcher + fix hardcoded nodata
2014-12-17 14:26:17 +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
7518459ba1
remove redundant case
2014-12-16 12:03:54 +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
979d706c26
move image_scaling traits into separate header to enable code sharing
2014-12-16 10:13:40 +01:00
artemp
89a84150ee
use std::move
2014-12-15 14:58:00 +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
5dd87de782
template scale_image_agg on image_data_type to squash code duplication
2014-12-11 18:54:32 +01:00
artemp
6b7ae6d700
use image_data_dispatcher to dispatch composite/colorize based on image_data_type
2014-12-11 11:07:21 +01:00
artemp
9caf17e397
correct image_data typo
2014-12-11 11:05:17 +01:00
artemp
f921e1eef4
raster_colorizer - template colorize method on image_data type
2014-12-11 10:10:32 +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
artemp
4b1204a3b8
correct alloc size + prefer std::copy over memcpy
2014-12-10 10:34:12 +01:00
artemp
917d346093
use RAII for resource management
2014-12-10 09:44:37 +01:00
artemp
ef64b4937c
Revert "avoid allocating memory"
...
This reverts commit 665c2f5bc0
.
2014-12-10 09:39:08 +01:00
artemp
665c2f5bc0
avoid allocating memory
2014-12-09 19:22:19 +01:00
artemp
9bf629c9b8
declare tiff callbacks inline
2014-12-09 17:30:50 +01:00
Dane Springmeyer
cf4f775855
Merge branch 'master' of github.com:mapnik/mapnik into image_data_any
2014-12-09 10:31:19 -05:00
Dane Springmeyer
653cc08500
fix msvs compile by using explicit assigment operator - closes #2588
2014-12-09 10:27:05 -05:00
Dane Springmeyer
4b2ad9e65f
port image_data fixes from image_data_any branch
2014-12-09 10:14:06 -05:00
artemp
12f051bf56
image_data - fix setRow implementation
2014-12-09 12:22:44 +01:00
Dane Springmeyer
cc2cf2876f
Merge branch 'master' of github.com:mapnik/mapnik into image_data_any
2014-12-05 09:45:12 -05:00
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