Blake Thompson
e4a5424613
Merge branch 'release/image_data_any' of github.com:mapnik/mapnik into release/image_data_any
2015-01-21 19:40:23 -06:00
Blake Thompson
0f388ed68f
Changed the name of image_data_any to image_any. Moved header file for image_data_any to image_any. Ref #2633
2015-01-21 19:40:12 -06:00
Dane Springmeyer
82bc43c76f
fix stray include of graphics.hpp
2015-01-21 16:32:31 -08:00
Blake Thompson
93f835177b
Removed all the code for the previous type of image and image_32. Ref #2633
2015-01-21 17:57:16 -06:00
Blake Thompson
b57b1c12d6
Some smaller fixes that cause the proper operator to be called in visitor_create_marker. All tests now passing. Ref #2633
2015-01-21 17:09:53 -06:00
Blake Thompson
9fda26f859
Merge branch 'release/image_data_any' of github.com:mapnik/mapnik into release/image_data_any
2015-01-20 18:33:50 -06:00
Blake Thompson
badb0c9a97
This is a complete removal of code that utilizes image_32 in the library. It is a sweeping change that does some of the following:
...
* Changes all agg_renderers to use a image_data_any variant (only image_data_rgba8 is implemented currently)
* Changes the marker and marker_cache to use image_data_any images
* Changes the symbolizers so that they must be aware of the source data type they are attempting to render and the render type that is expected to be rendered into.
* Moves many utilities into image_utils, that were previously in image_32.
The kicker is that this still isn't working perfectly yet, but I am commiting so I don't have tears in case everything is lost on my computer.
Ref #2633
2015-01-20 18:30:10 -06:00
Dane Springmeyer
97869f7dc1
minor include cleanup for image_utils
2015-01-20 09:06:21 -08:00
Blake Thompson
2439f1b298
A whole lot of changes. #Ref 2633
2015-01-20 10:48:33 -06:00
artemp
5a7a285216
extraxt_bounding_box_grammar - add generic json support to deal with arbitary key:value's in GeoJSON
2015-01-20 12:05:35 +01:00
artemp
9a74a55dd6
formatting
2015-01-20 11:29:58 +01:00
artemp
a408a84fb0
ignore invalid bounding boxes from "geometry": null
2015-01-19 22:04:21 +01:00
artemp
15a83ff54d
extract bounding boxes from GeoJSON - re-implement grammar to store offset and size of "Feature" elements
2015-01-19 18:09:23 +01:00
Blake Thompson
aa03cf4f7c
Implemented a new get_pixel method to go along with the set_pixel method in image_util. Ref #2633
2015-01-16 22:15:33 -06:00
Blake Thompson
a002139e18
Added set_pixel to visitor pattern and moved it to image_util. Added exception throwing in composite only if debug flags are on.
...
Ref #2633
2015-01-16 18:26:56 -06:00
Blake Thompson
1470bea9cb
Migrated composite_pixel out of image_32, it is now in image_utils. Ref #2633
2015-01-16 16:48:43 -06:00
Blake Thompson
0b2c4e57cf
Merge_rectangle has met the wood chipper. Ref #2633
2015-01-16 16:04:02 -06:00
Blake Thompson
a7b8ca2888
Moved set_rectangle out of image_32 into image_util.
...
Ref #2633
2015-01-16 15:36:53 -06:00
Blake Thompson
35be6117c8
Merge branch 'master' into release/image_data_any
2015-01-16 13:09:25 -06:00
Blake Thompson
aebb6fee58
Removed the background and set/get background from image_32 class. Removed clear method from image_32. Added new fill method for image_data_any, that allows many generic types to fill an image.
...
Ref #2633
2015-01-16 13:06:52 -06:00
artemp
b15224af1b
add <iomanip> for std::setprecision
2015-01-16 17:19:17 +01:00
artemp
da960fea33
use std::advance to work with std::iterators
2015-01-16 16:40:28 +01:00
artemp
b6cd3b37ef
store {bbox, offset} to match boost.geometry rtree instantiation
2015-01-16 16:24:31 +01:00
artemp
8b19793dc8
fix grammar (use iter_pos parser instead of hacking raw[] directive) + cleanups
2015-01-16 10:05:02 +01:00
artemp
785cf5c09f
extract_bounding_box grammar initial impl
2015-01-16 09:48:57 +01:00
Blake Thompson
33ccc12355
Moved set_color_to_alpha and set_grayscale_to_alpha to image_util.
...
Ref # 2633
2015-01-15 20:26:20 -06:00
Blake Thompson
3b1c99ff1b
Moved set_alpha to src/image_util.cpp and out of image_32. Added a boolean response to premultiply_alpha and demultiply_alpha so that if it is changed in set_alpha and other locations like the python bindings for composite that the image can be restored to its original state. Removed blend from python bindings.
...
Ref #2633
2015-01-15 17:57:21 -06:00
Blake Thompson
1f540b42c6
Removed the set_rectangle_alpha code from image_32. Added new blend using composite to python bindings to replace it by doing src_over with composite.
...
Ref #2633
2015-01-15 13:01:32 -06:00
Dane Springmeyer
cf646030f3
move is_solid to hpp for now to avoid linking errors
2015-01-15 10:21:11 -06:00
Dane Springmeyer
61bc705117
fix linking error with saving image
2015-01-15 10:14:01 -06:00
Blake Thompson
7ce7416999
Added is_solid to image_utils. It is currently built to support the eventual use of image_view_any and image_data_any, but for a limited time supports the passing of image_view_rgba8 and image_data_rgba8.
...
Ref #2633
2015-01-15 10:14:00 -06:00
Dane Springmeyer
364fb4961b
fix handling of premultiplied pixels during rendering
2015-01-14 21:04:05 -08:00
Dane Springmeyer
b55d5def0d
sync with latest master/3.x
2015-01-14 18:35:40 -08:00
Blake Thompson
202a0e8e5f
Added a lot of premultiply_alpha functions to attempt to have proper premultiplication of data prior to compositing. There still seem to be some errors in the resulting images, but I am not quite sure what they are yet.
2015-01-14 18:29:00 -06:00
Blake Thompson
42c7d7ddf2
Merge branch 'release/image_data_any' into feature/premultiply_demultiply_move
2015-01-14 15:37:06 -06:00
Blake Thompson
03440c0108
Merge branch 'master' into release/image_data_any
2015-01-14 15:36:03 -06:00
Blake Thompson
cbc76f7361
Some minor corrections to allow for the source to build properly with out linking errors with vis to hidden.
2015-01-14 15:24:16 -06:00
Blake Thompson
4184f75011
Moved premultiply and demultiply out of image_32 and other parts of the code. The image_data object is now responsible for keeping track of its own premultiplied_alpha status. Created a new utility method in image_util to preform premultiplication.
...
Added visitor pattern to several different methods as well to prepare for image_data_any including compositing.
Ref #2633
2015-01-14 12:42:30 -06:00
artemp
235326c8db
image_32 : add image_32(image_data_rgba8 &&) ctor
2015-01-13 11:44:24 +01:00
Dane Springmeyer
056feb4daa
add text-transform:reverse + full test coverage for text-transform uppercase/lowercase/capitalize - closes #2634
2015-01-12 15:38:21 -08:00
Blake Thompson
f58f65ee4c
Merge branch 'master' into release/image_data_any
2015-01-12 15:07:00 -06:00
Blake Thompson
2379c396c3
Removed unrequired save_as_jpeg in image_util.hpp
2015-01-12 15:06:39 -06:00
Blake Thompson
7a16ebe7fa
Merge remote-tracking branch 'origin/image' into release/image_data_any
2015-01-12 14:51:08 -06:00
Blake Thompson
42ee4ec90d
Moved cairo out of the image_util.*pp files and now have created a cairo_io.*pp files.
...
Ref #2622
2015-01-09 16:49:31 -05:00
Dane Springmeyer
c7bb16fcd9
amend/partially revert #2609
2015-01-09 12:11:41 -08:00
Dane Springmeyer
014af51d95
repack svg::path_attributes - drops 387 -> 376 (then 360 with gradient packing) - refs #2631
2015-01-09 11:56:52 -08:00
Dane Springmeyer
2a5dd5e924
pack mapnik::gradient to save 8 bytes (128 -> 120) - refs #2631
2015-01-09 11:43:17 -08:00
Blake Thompson
08c675e1a4
Merge branch 'master' into bugfix/image_util_impl
...
Conflicts:
include/mapnik/image_view.hpp
src/image_util.cpp
2015-01-08 20:25:15 -05:00
Blake Thompson
094d0ec3e1
Another large set of modifications, finally allow this branch to build. Mostly modifications to the image_util_* files. Different processing based on the image type is now possible, and save_to_stream now could possibly accept grayscale with out breaking existing code.
2015-01-08 19:31:14 -05:00
Blake Thompson
035557450d
Split out the process for tiff, webp, and jpeg into their own util folders. Added the intial concepts for an image_view_any variant.
2015-01-08 16:55:51 -05:00
Dane Springmeyer
d22ad11b09
remove unneeded image_32 signatures for save_to_string/file after fbecd5f
2015-01-08 13:55:25 -08:00
Dane Springmeyer
acb3bb0821
trim down image_32 - refs #2627
2015-01-08 13:16:32 -08:00
Dane Springmeyer
e4cb1b33a0
remove getData and getBytes on image_view (they are unused) - refs #2627
2015-01-08 10:52:40 -08:00
Blake Thompson
472e41966d
Added new scaling trait for image_32 as it is a part of image_data_any
2015-01-08 11:52:44 -05:00
Blake Thompson
81ef4225ac
Continuing to modify various areas of image_util so that save_to_stream will be provided an image_data_any object.
2015-01-08 11:30:02 -05:00
Blake Thompson
847682d783
Some more minor changes
2015-01-08 10:17:07 -05:00
Blake Thompson
cc0a27f2f0
More stuff to break it all
2015-01-08 10:17:07 -05:00
Blake Thompson
454326df17
An intial commit of a large set of changes attempting to clean up the way that saving images is processed in image_util.hpp and image_util.cpp.
...
* Changed the passing of rgba_palette to a shared_ptr in order to better facilitate the use of a visitor pattern.
* Moved PNG util processing into its own set of files so that image_util_impl.hpp would not have to depend on HAVE_PNG.
2015-01-08 10:13:06 -05:00
artemp
8db7f58e8f
image_compositing - fix composite method signature to composite(T & dst, T const& src,...) via providing const_rendering_buffer adapter
2015-01-08 12:45:04 +01:00
artemp
515491ab70
image_compositing - fix composite method signature to composite(T & dst, T const& src,...) via providing const_rendering_buffer adapter
2015-01-08 12:42:38 +01:00
artemp
b53430110a
Merge branch 'master' into image
2015-01-08 10:27:21 +01:00
Blake Thompson
6df688160c
More stuff to break it all
2015-01-07 18:16:38 -05:00
Dane Springmeyer
481b6b7958
remove uneeded/unused nonconst access to image_view - amends 0d2eb9cb5f
2015-01-07 15:12:11 -08:00
Blake Thompson
a3f6a989de
An intial commit of a large set of changes attempting to clean up the way that saving images is processed in image_util.hpp and image_util.cpp.
...
* Changed the passing of rgba_palette to a shared_ptr in order to better facilitate the use of a visitor pattern.
* Moved PNG util processing into its own set of files so that image_util_impl.hpp would not have to depend on HAVE_PNG.
2015-01-07 15:44:31 -05:00
artemp
00a20b78da
add initial support for writing image_data_gray16 ( only TIFF supported )
2015-01-07 18:17:44 +01:00
artemp
cd0ac2d0f6
Merge branch 'master' into image
2015-01-07 17:49:51 +01:00
artemp
5361d21beb
move mapnik::noncopyable to mapnik::util::noncopyable where it belongs
2015-01-07 13:11:09 +01:00
artemp
18554ec0b1
remove static_visitor usage and rely on automatic result type deduction
...
(NOTE: expression_evaluator requires ```using result_type = T1;``` )
Conflicts:
src/image.cpp
2015-01-07 11:39:06 +01:00
artemp
affc5ee7c1
update variant to the latest version
2015-01-07 11:38:10 +01:00
artemp
c2ea32feac
remove static_visitor usage and rely on automatic result type deduction
...
(NOTE: expression_evaluator requires ```using result_type = T1;``` )
2015-01-07 11:35:21 +01:00
artemp
b28aadcf41
update variant to the latest version
2015-01-07 10:51:59 +01:00
artemp
b0b89e76d1
image class - containing image_data_any and initial basic python interface
2015-01-06 12:44:28 +01:00
Dane Springmeyer
2a33ead4cc
finish centralizing boost::filesystem usage to single cpp file - refs #1177
2015-01-06 00:33:33 -08:00
Dane Springmeyer
b396db54dd
fix -Wsign-compare warning in image_data.hpp
2015-01-05 14:21:59 -08:00
Dane Springmeyer
14015fefe4
fix json output escaping to match json spec
2015-01-05 12:03:16 -08:00
artemp
c9672b6a9d
escaped_string - fix output encoding
2015-01-05 14:23:10 +01:00
artemp
fa8feea603
remove unused utf8 phoenix function
2015-01-05 12:39:18 +01:00
artemp
bb9b9ff031
feature_generator_grammar - template get_id on FeatureType
2014-12-23 09:07:31 +01:00
artemp
132507571b
template feature_generator_grammar on FeatureType - ref #2546
2014-12-22 15:56:46 +01:00
artemp
14b497d236
use boost::phoenix v3 style declaring return types
2014-12-22 11:58:11 +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
artemp
008168f75c
image_data - ref #1927
...
* store image width and height in dimensions object
* allow specifying max_size for width and height (default 0xffff)
* throw if width or height are out of range - 0...max_size
2014-12-19 11:52:40 +01:00
Dane Springmeyer
c051f61646
dont set nodata for image_data_rgba8: fixes tiff_reprojection-1 visual test
2014-12-17 12:26:23 -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
17d3bd8a9d
consistent std::move in image data move ctor
2014-12-17 12:01:28 -08:00
Joel Brown
52d4b0edfd
change config_error to std::runtime_error in scale_hsla struct
2014-12-17 12:01:05 -08:00
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