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
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