Commit graph

3785 commits

Author SHA1 Message Date
artemp
abd10cab0c add support for all geometry types 2015-03-13 13:23:07 +01:00
artemp
f54eb68063 return geometry_type(geom) 2015-03-13 13:22:32 +01:00
artemp
6ef63aa7a5 memory_feature - update to use mapnik-geometry 2015-03-13 11:05:56 +01:00
artemp
914b8dbd76 Merge branch 'master' into mapnik-geometry 2015-03-12 15:14:45 +01:00
Artem Pavlenko
9117e7d9ff Merge pull request #2621 from mapycz/markers-upright
marker direction
2015-03-12 14:58:16 +01:00
artemp
50ca6fcbe8 Merge branch 'master' into mapnik-geometry 2015-03-12 14:55:45 +01:00
artemp
b823d6dc34 geojson - fix brackets blues 2015-03-12 14:53:47 +01:00
artemp
48ce3ccc38 wkt generator fix erroneous brackets 2015-03-12 14:43:19 +01:00
artemp
6d13454f72 reinstate 'from_wkt' interface 2015-03-12 14:12:53 +01:00
artemp
c4607aaeeb wkt-generator - update to mapnik-geometry model 2015-03-12 14:12:14 +01:00
artemp
2753db1c4c factor out boost::spirit::traits::transform_attribute into separate header 2015-03-12 14:11:52 +01:00
artemp
da45acb047 wkt parser grammar - allow MULTIPOINT(x0 y0, x1 y1,....,xN yN) as well
as MULTIPOINT((x0 y0), (x1 y1),....,(xN yN)) syntax
2015-03-12 11:58:09 +01:00
artemp
f72291650b fix line_string tag typo 2015-03-11 15:20:24 +01:00
artemp
26fdd0b680 python bindings - restore from_wkt method 2015-03-11 12:28:04 +01:00
artemp
525cb60f0c fix compilation (add required headers and typedef) 2015-03-11 12:23:27 +01:00
artemp
f3edf2dfc0 wkt_grammar - update to use mapnik-geometry and optimise(minimise) memory allocations 2015-03-11 11:55:43 +01:00
Blake Thompson
fe01d52845 Removed unused resolution data from grids 2015-03-10 23:19:30 -05:00
Blake Thompson
f715f9cf22 Updated the name of methods in grids from properties to fields because they are an array rather then a map. 2015-03-10 19:59:46 -05:00
artemp
c3284aa958 Merge branch 'master' into mapnik-geometry 2015-03-10 11:17:53 +01:00
Blake Thompson
7ee9745a8f Updated param to allow value_boolean 2015-03-09 16:33:20 -05:00
artemp
a89dd47a4b Merge branch 'master' into mapnik-geometry 2015-03-09 18:48:58 +01:00
artemp
0863ef1e92 vertex_processor - handle geometry_collection 2015-03-09 18:47:34 +01:00
Blake Thompson
e20c68d384 Corrected a bug in hsl2rgb where if s was equal to zero an incorrect result was achieved. 2015-03-09 12:07:39 -05:00
artemp
40c9abcb2b calc centroid 2015-03-09 17:00:00 +01:00
artemp
f919bd2c41 fix applying clip flag 2015-03-09 16:58:32 +01:00
artemp
cc3f8be837 remove unused headers 2015-03-09 16:37:26 +01:00
artemp
317e9c497f Merge branch 'master' into mapnik-geometry 2015-03-09 14:59:45 +01:00
Blake Thompson
ffad24f31d Added bugfix for image_view where if an image of zero width or height created a view, it would cause a segfault because it created a 1,1 size view. 2015-03-08 23:28:56 -05:00
Blake Thompson
61abe608ee Added the ability to get_type from an image, fixed possible bugs associated with image copy. 2015-03-06 17:24:23 -06:00
artemp
174bc5969a text symbolizer update to mapnik-geometry (partial) 2015-03-06 12:17:02 +01:00
Blake Thompson
ea6677df37 A fix to the jpeg driver making it operate with parameters like the other file formats. 2015-03-05 21:51:48 -06:00
artemp
8411cdfa0c add centroid 2015-03-05 22:30:38 +01:00
artemp
d682c5a201 markers placement update 2015-03-05 20:54:36 +01:00
artemp
aa5ae6b843 update markers_symbolizer to work with mapnik-geometry (work-in-progress) 2015-03-05 15:07:23 +01:00
artemp
38dc240d6d geometry - add generic is_valid(), is_simple() and correct() 2015-03-05 12:11:23 +01:00
artemp
d25ef607a2 cleanup 2015-03-05 12:09:16 +01:00
artemp
13a5bdf984 minor formatting 2015-03-05 12:08:21 +01:00
artemp
ee77a0ef10 correct arg type 2015-03-05 10:45:12 +01:00
artemp
24a586415c expose wkbByteOrder in wkb.hpp 2015-03-05 10:44:40 +01:00
artemp
b66739cf86 move fusion adapted geometry into separate header to avoid duplication 2015-03-05 10:43:03 +01:00
artemp
87e9c64fc4 topojson grammar - add optional bbox element which is omitted 2015-03-04 14:55:13 +01:00
artemp
a6f0c30a74 topojson grammar - add optional bbox element which is omitted 2015-03-04 14:52:55 +01:00
artemp
f4a1e9368b wkb_reader/json input grammar - correct polygons to have CCW exterioir/CW interior 2015-03-04 12:09:08 +01:00
artemp
9e35540b50 fix line_string iterator types
register CCW polygons - CCW exterior and CW interior rings
remove unused code (cleanups)
2015-03-04 12:07:22 +01:00
artemp
3ddfe34aa5 Merge branch 'master' into mapnik-geometry 2015-03-04 10:30:08 +01:00
artemp
587437c368 variant - add get<T> overloads where T is stored as recursive_wrapper<T> and avoid directly dealing with recursive_wrapper<T> 2015-03-04 10:19:30 +01:00
artemp
ec7f2f3f0c feature_generator - adapt to new geometry generator 2015-03-04 09:23:57 +01:00
artemp
920a9549c4 geometry_generator - new copy-less grammar 2015-03-04 09:21:22 +01:00
artemp
bdbaf947f7 default assignment op + cleanups 2015-03-04 09:19:53 +01:00
Dane Springmeyer
4afcac5563 try to solve #2714 2015-02-26 11:12:19 -08:00
artemp
c58a5b4151 json : geometry_generator_grammar for mapnik-geometry (TODO) 2015-02-26 16:24:07 +01:00
artemp
a3b7328936 add 'which' method for compatibility with boost::variant 2015-02-26 16:23:20 +01:00
artemp
da1bc2463d c++11 syntax 2015-02-26 16:22:56 +01:00
artemp
b74976d547 make inline 2015-02-26 16:22:34 +01:00
artemp
102fd539f9 generic way to apply vertex converters to mapnik-geometry 2015-02-24 15:18:46 +01:00
artemp
0d6eb8bcab rename polygon_vertex_adapter_3 -> polygon_vertex_adapter 2015-02-24 14:31:32 +01:00
artemp
0885dfb15a rename polygon3 -> polygon 2015-02-24 14:13:00 +01:00
artemp
e99db29214 move vertex_processor into separate header 2015-02-24 13:58:46 +01:00
artemp
367208ece1 generic geometry_type impl
remove geometry_type from mapnik::datasource
2015-02-24 11:17:26 +01:00
artemp
8400be91c7 generic box2d<double> envelope(geometry const& ) 2015-02-24 10:42:33 +01:00
Dane Springmeyer
89e36a8685 adapt json geometry_parser to fca584de1b 2015-02-23 23:44:44 -08:00
artemp
6f13044d09 update bounsing box grammar to work with mapnik-geometry 2015-02-23 18:05:50 +01:00
artemp
07ab1fea66 fix namings 2015-02-23 18:05:13 +01:00
artemp
5cd0771824 json grammar - add support for geometry_collection 2015-02-23 17:40:16 +01:00
artemp
c4315ca46b remove unused type alias 2015-02-23 17:39:11 +01:00
artemp
fca584de1b json grammar - start porting to mapnik-geometry 2015-02-23 12:19:00 +01:00
artemp
968ab32c02 enable copy ctor (needed by json geometry grammar) 2015-02-23 12:09:42 +01:00
artemp
e523d648df formatting 2015-02-23 10:06:13 +01:00
artemp
2a8174831a mapnik-geometry - simplify and streamline implementation 2015-02-20 17:44:35 +01:00
artemp
9f84ed6950 position_grammar - start using mapnik-geometry 2015-02-20 17:43:59 +01:00
artemp
60f38780b3 boost.geometry <-- mapnik-geometry adapters 2015-02-20 17:43:07 +01:00
artemp
30da25a9c7 add geometry_collection type 2015-02-20 17:21:17 +01:00
artemp
7031099b76 Merge branch 'master' into mapnik-geometry 2015-02-20 17:03:46 +01:00
artemp
6d8ff4a476 add temp convinience methods 2015-02-19 17:13:00 +01:00
artemp
87d60620c2 mapnik-geometry : update wkb reader 2015-02-19 16:04:14 +01:00
artemp
9bb95d208c add include guard 2015-02-19 16:01:46 +01:00
artemp
42983ff015 add basic support for point_symbolizer and mapnik::new_geometry::point 2015-02-19 10:45:03 +01:00
Dane Springmeyer
dd0b8459f5 insert_marker to take rvalue it if is moved inside the function 2015-02-19 01:37:45 -08:00
Dane Springmeyer
cb869e60f3 no need for templated 'raster_marker_render_thunk' 2015-02-19 01:36:43 -08:00
Blake Thompson
744dc4472f Merge branch 'release/image_data_any' of github.com:mapnik/mapnik into release/image_data_any 2015-02-18 23:02:34 -06:00
Blake Thompson
390fbaac92 BOOM SHAKALAKA:
This update is in Ref #2649. It provides an update to markers and their processing such that:

 * All shared_ptrs are no longer required around markers
 * Markers are now const
2015-02-18 22:58:33 -06:00
artemp
b49b8042c1 shape.input/agg - add polygon3 support 2015-02-18 18:12:47 +01:00
artemp
604d7b08af use reserve to pre-allocate line_strings + cleanups 2015-02-18 13:48:05 +01:00
artemp
2e4e1f71b8 adapt to use mapnik::new_geometry::geometry (shape.input only) 2015-02-18 13:21:16 +01:00
artemp
a1f7017d45 new geometry implementation - initial barebone framework 2015-02-18 11:07:26 +01:00
Dane Springmeyer
817489e97a functions fully defined in hpp do not need MAPNIK_DECL - refs #2708 2015-02-16 19:05:41 -08:00
Dane Springmeyer
842e4bebe6 start fixing windows compile - refs #2708 2015-02-16 18:48:14 -08:00
Blake Thompson
b2c1c86d99 Merge branch 'master' into release/image_data_Any
Conflicts:
	benchmark/test_polygon_clipping.cpp
2015-02-16 14:37:01 -06:00
Blake Thompson
0cd9c1fc34 Updated image_any building switch statement to support all the correct types, added tests for all the new data formats with get and set in python. 2015-02-16 14:23:55 -06:00
Dane Springmeyer
1ebd6afd9c improve sql subselect parsing + add tests - closes #2704 2015-02-13 01:26:19 -08:00
Dane Springmeyer
2aaaecbcaf initialize pos_ variable in path_iterator + fix spelling 2015-02-12 11:38:31 -08:00
Dane Springmeyer
58645c7842 json error handler: fix -Wunused-parameter warning 2015-02-11 23:13:59 -08:00
Dane Springmeyer
7fbc254673 fix polygon_clipper to work with vertex_adapter 2015-02-11 15:52:36 -08:00
Dane Springmeyer
89a58c5879 Merge branch 'master' of github.com:mapnik/mapnik into release/image_data_any 2015-02-11 10:01:42 -08:00
Dane Springmeyer
1dc5452c74 msvs 2014 compile fixes 2015-02-10 18:20:08 -08:00
Dane Springmeyer
2042ffd824 avoid need to instanciate expensive svg_path_generator twice 2015-02-10 12:16:01 -08:00
Dane Springmeyer
6d611b8e1a cleanup commented code 2015-02-09 23:28:27 -08:00
artemp
1ecf3f0889 use const ref when iterating over geometries in feature 2015-02-09 13:46:01 +01:00
Jiri Drbalek
1cd5e69b3a add direction property for markers 2015-02-07 12:23:35 +00:00
Jiri Drbalek
87cc1347c7 move normalize_angle to utils 2015-02-07 12:23:17 +00:00
Blake Thompson
6e0d6d423b Merge branch 'master' into release/image_data_any
Conflicts:
	include/mapnik/grid/grid_marker_helpers.hpp
2015-02-06 16:19:40 -06:00
Blake Thompson
9875335fb8 Renamed image_cast to image_copy 2015-02-06 15:27:19 -06:00
artemp
0f22fb596b enforce geometry_type const by removing ``inline geometry_type& get_geometry(std::size_t index)`` 2015-02-06 17:13:41 +01:00
artemp
e19fdad3a6 implement vertex interface in vertex_adapter and make mapnik::geometry_type immutable 2015-02-06 16:45:51 +01:00
Jiri Drbalek
5418b8ea40 prefer hyphens as word separator for enum values 2015-02-06 15:37:28 +00:00
Jordan Hollinger
187a42f006 Merge pull request #2680 from mapycz/rm-grid_marker_helpers
remove redundant header
2015-02-05 17:01:36 -05:00
Blake Thompson
04d51d3696 Another small change hopefully to fix linux build isssues. 2015-02-04 21:19:59 -06:00
Blake Thompson
5966b12973 Small changes to hopefully fix compile issues on linux 2015-02-04 20:48:59 -06:00
Blake Thompson
c0fcf48019 Fixed issues with SSE compare when the threshold is greater then zero. Added several new SSE methods for unsigned integers. 2015-02-04 17:46:18 -06:00
Blake Thompson
ffb34544e6 Merge branch 'master' into release/image_data_any 2015-02-04 15:46:54 -06:00
Blake Thompson
2b8bd59d82 A large set of updates:
* Added new gray data types adding those to the variants and updating all the code necessary for them
* Added basic SSE to the image compare method, (only for RGBA) must be enabled with the -DSSE_MATH flag this is not yet put into the build process in any location.
* Fixed the resulting image for some TIFF visual tests, most likely they were incorrect due to fixes in TIFF reader
* Added some MAPNIK_DECL where necessary to grid rendering.
* Added support for more data types in GDAL plugin with grayscale images.
* Added views for all the new gray data types
* Updated python bindings for new gray data types.

Ref #2681
2015-02-04 15:41:58 -06:00
artemp
ae9eafa2c1 allow "stringified" nested objects and arrays as feature property 2015-02-04 18:28:47 +01:00
Jiri Drbalek
f38ee06224 remove redundant header 2015-02-04 14:46:17 +00:00
Jiri Drbalek
1fcbdc3e98 add upright value auto-down 2015-02-03 16:08:36 +00:00
artemp
9f282af61a json - instantiate grammars using Iterator = char const* to avoid potentially expensive std::string allocations 2015-02-03 13:37:39 +01:00
Dane Springmeyer
71e7faed0d Merge branch 'master' of github.com:mapnik/mapnik into release/image_data_any
Conflicts:
	tests/python_tests/image_test.py
	tests/python_tests/image_tiff_test.py
	tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-1.0-agg-reference.png
	tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-2.0-agg-reference.png
2015-02-03 00:05:15 -08:00
Dane Springmeyer
c361e538f7 Merge pull request #2671 from sarametz/png8_encoding_bug
Png8 encoding bug
2015-02-02 14:08:05 -08:00
Dane Springmeyer
074b1e2836 cleanup commented code after 89e516b493 2015-02-02 10:46:20 -08:00
artemp
d5ff3f5f2c fix bbox extractor 2015-02-02 18:44:56 +01:00
artemp
89e516b493 unicode string grammar via boost/libs/spirit/example/qi/json/json/parser/grammar.hpp
update json based grammars
2015-02-02 11:22:54 +01:00
Blake Thompson
5a4f9321d0 A few updates to attempt to fix pixel getting and setting 2015-01-29 16:10:56 -07:00
Sara Metz
f38d2ee69b Fixes bugs that cause tests in PR #2599 to fail 2015-01-30 10:40:50 +13:00
Jiri Drbalek
711fc8ccf2 fix gcc compile 2015-01-29 20:50:37 +00:00
Blake Thompson
826e13f911 Renamed background to fill, added numeric casting to fill utility, changed clog uses to MAPNIK_LOG, changed the implementation of fill some so that it only used a single template 2015-01-29 13:27:42 -07:00
artemp
e3c96666c4 json - make feature_collection_grammar "on-feature" callback based 2015-01-29 12:33:18 +01:00
Blake Thompson
de99180a44 Added new image_cast method and added its bindings to python, added two new properities to images: offset and scaling. Added way to cast between image types with offset and scaling. Added new unit tests for color and casting. Made it so that pixel setting doesn't result in overflows or underflows. Made the return of get_pixel, dynamic based on what is passed to it. Added new methods for setting pixels that are doubles and ints. 2015-01-28 20:20:14 -06:00
artemp
1f3e36c3ec use perfect forwarding to resolve copy/move semantics of universal references - #2651 2015-01-28 12:55:57 +01:00
artemp
cf16f5e6c9 move operator<< into separate header <mapnik/util/variant_io.hpp> 2015-01-27 21:42:35 -08:00
Blake Thompson
dc931555d2 Added required include 2015-01-27 17:18:20 -06:00
Blake Thompson
bc28c12572 Found more situations where getRowSize should be used over multiplying the width by the pixel size. 2015-01-27 15:29:43 -06:00
Blake Thompson
b090882902 Added compare utility to python bindings and image_util, modified set_grayscale_to_alpha to take a color optionally. 2015-01-27 11:41:05 -06:00
Dane Springmeyer
48982c0619 Merge branch 'master' of github.com:mapnik/mapnik into release/image_data_any
Conflicts:
	tests/python_tests/image_tiff_test.py
2015-01-26 20:09:00 -08:00
artemp
2a3af1eb40 move boost.geometry <-- mapnik::box2d<double> into separate header for better modularity and code re-use 2015-01-26 10:37:09 +01:00
Blake Thompson
31a0caf2e4 Merge branch 'master' into release/image_data_any 2015-01-25 14:09:29 -06:00
Blake Thompson
f616367ac2 Including std library that was missing. 2015-01-24 21:16:36 -06:00
Blake Thompson
5d9f047002 Fixed some issues in color and bindings where you could create a color and premultiplied was not set and it was resulting in it being assigned randomly, causing some issues at runtime.
Updated some images in visual tests that were orginally set prior to all tiffs being premultiplied, this was causing a slight difference in a few pixels.

Updated the tiff tests a lot.

Fixed tiff reader so that it always considers everything read from RGB or RGBA as premultiplied. This is due to the fact that RGBA reader always premultiplies the alpha no matter its original form.

Put in a fix so that the file does not exist no longer shows up in the test running.

Fixed some failing tests in the c++ test due to tiffs now always being premultiplied for RGB(A)
2015-01-24 20:48:15 -06:00
Blake Thompson
a100b2fe1f Fixed the issues associated with TIFFs, now they always will return as premultiplied in the event they are rgba8 due to the way that the TIFF reader operates. Also added premultiply as a flag inside color class and exposed many of its components, made it so that setting and getting pixels took into consideration the state of the color and the image when dealing with the two. 2015-01-23 18:08:59 -06:00
artemp
7f0e77d172 Merge branch 'master' into large-geojson 2015-01-23 18:12:33 +01:00
Dane Springmeyer
ec111c8a27 add extra metadata to lyr desc + use for srid/keyfield in postgis - closes #2650 2015-01-22 18:44:56 -08:00
Blake Thompson
490645d2e3 Perhaps a solution to TIFF IO problems 2015-01-22 20:36:45 -06:00
Blake Thompson
51172c8fdf Move image_data.hpp to image.hpp and renamed most everything from image_data to image alone. This might lead to the need to clean up some variables that are currently named image through out the code at some time, but I think in the long term is much better as image is a better name for the base class. 2015-01-22 11:39:37 -06:00
Blake Thompson
e353225772 Modified the name of image_data_null to image_null. 2015-01-22 10:58:01 -06:00
Blake Thompson
e01ce5b7d6 Changed image_data_gray* to image_gray* Ref #2633. 2015-01-21 21:08:04 -06:00
Blake Thompson
22a384ef33 Moved image_data_rgba8 to image_rgba8. Ref #2633 2015-01-21 20:31:02 -06:00
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
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
Dane Springmeyer
d29add9db3 use face_manager_freetype typedef everywhere 2014-10-01 18:54:11 -07:00
Dane Springmeyer
d96093d3aa rebase with master 2014-10-01 18:45:28 -07:00
Dane Springmeyer
bef269bc01 Add file_io.hpp 2014-10-01 18:44:19 -07:00
Dane Springmeyer
23cb5dd47d new util::file class wrapping cstdio + more library usage 2014-10-01 18:31:04 -07:00
Dane Springmeyer
3cdd42bab4 fix include 2014-10-01 18:29:59 -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
9b2c14466c explicit move ctor for feature_type_style 2014-10-01 13:54:44 -07:00
Dane Springmeyer
9ecdc839b5 c++ style 2014-10-01 11:24:41 -07:00
artemp
1d5f1f12f0 remove static std::map<marker_placement_e, boost::function<markers_placement(Locator &locator,Detector &detector,markers_placement_params const& params)>
^ it was hurting compile times badly
2014-10-01 11:26:14 +01:00
Dane Springmeyer
98f89ce2fd Merge pull request #2472 from zerebubuth/warning_2468
Fix compiler warning about uninitialised variable.
2014-09-30 19:16:54 -07:00
Dane Springmeyer
4cbc139689 remove boost::format usage 2014-09-30 18:35:07 -07:00
Matt Amos
e759b61b07 Fix compiler warning about uninitialised variable. 2014-10-01 02:12:19 +01:00
Dane Springmeyer
dfc7ba86d3 remove unused typedef 2014-09-30 17:00:52 -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
985ddb3aeb fix compile of (currently unsed) symbolizer_grammar.hpp 2014-09-30 12:12:58 -07:00
Dane Springmeyer
6be1eb94c2 Revert "ditch boost/function" - refs #2465
This reverts commit 24052580b9.
2014-09-30 10:45:56 -07:00
Dane Springmeyer
1452c5b92f Merge pull request #2466 from mapnik/reduce-compile-times
reduce compile time by minimizing template instantiations
2014-09-30 10:45:39 -07:00
artemp
9c0046fb61 reduce compile time by minimizing template instantiaions 2014-09-30 14:44:02 +01:00
Dane Springmeyer
40a1189357 chip away at complexity of marker_helpers.hpp 2014-09-29 19:32:22 -07:00
Dane Springmeyer
d111dcbed6 iwyu 2014-09-29 18:47:05 -07:00
Dane Springmeyer
dc57849b7d geometry container typedef fixing 2014-09-29 18:40:57 -07:00
Dane Springmeyer
c654994dbc remove obsolete text_path.hpp header 2014-09-29 18:23:46 -07:00
Dane Springmeyer
d2a7fda55d fix visibility of regex_match/replace nodes 2014-09-29 18:12:39 -07:00
Dane Springmeyer
24052580b9 ditch boost/function 2014-09-29 17:51:05 -07:00
Dane Springmeyer
d0b167affc iwyu shuffle 2014-09-29 17:14:40 -07:00
Dane Springmeyer
9b0d6fc702 iwyu 2014-09-29 17:01: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
a41978f439 iwyu 2014-09-29 13:50:21 -07:00
Dane Springmeyer
ba689b379e iwyu 2014-09-29 13:50:14 -07:00
Dane Springmeyer
848370c678 speed up compile / move iomanip to cpp - refs #2439 2014-09-29 13:49:56 -07:00
Dane Springmeyer
a1b98e6238 speed up compile / avoid boost/math - refs #2439 2014-09-29 13:49:22 -07:00
Dane Springmeyer
89f64f6b97 avoid spirit usage in function_call.hpp - refs #2439 2014-09-29 13:12:46 -07:00
artemp
8ff17378a4 make index constexpr 2014-09-29 21:03:34 +01:00
artemp
752d9def3c remove unused //#include <mapnik/expression_node.hpp> 2014-09-29 21:03:09 +01:00
Dane Springmeyer
688e97e148 move dasharray parser to cpp file - refs #2439 2014-09-29 12:07:15 -07:00
artemp
953f4b700c remove unused mpl header 2014-09-29 19:29:44 +01:00
artemp
14ba64174b make arguments noncopyable 2014-09-29 14:07:39 +01:00
artemp
95d13e0b3d Merge branch 'master' into vertex-converter 2014-09-29 12:34:54 +01:00
artemp
7f81fc9146 cleanup 2014-09-29 12:22:54 +01:00
artemp
e57f66b97d re-implement vertex_converters using c++11 feature (removes dependency on boost::mpl/boost::fusion) 2014-09-29 11:58:04 +01: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
Dane Springmeyer
d3d6b09516 fix windows compile - apparently numeric_limits is not viably constexpr - closes #2452 2014-09-26 16:57:16 -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
59eb03a346 simplify parse error in xml 2014-09-25 22:20:44 -07:00
Jiri Drbalek
13f950159f fix text symbolizer property data binding 2014-09-25 18:26:36 +00:00
Dane Springmeyer
60a55cb48b noncopyable renderer_common (needed for upcoming font work) 2014-09-24 22:46:19 -07:00
artemp
4be6ca37e9 c++11 - use auto 2014-09-23 18:49:31 +01:00
artemp
7a1cc786fc position_grammar - re-order rules to allow expectation operators 2014-09-23 15:12:22 +01:00
artemp
2f319e92cc use error_handler across json parsers 2014-09-23 14:58:10 +01:00
artemp
1382e57ebe avoid allocating potentially large std::string in error_handler 2014-09-23 14:02:08 +01:00
artemp
f4694d03ff json error handler : use MAPNIK_LOG_ERROR and better message 2014-09-23 13:22:53 +01:00
Jiri Drbalek
31607cb3f4 add text attribute horizontal-alignment="adjust" 2014-09-23 08:49:27 +00:00
artemp
43c04a72bf add set_property_from_xml_impl specialization from std::string
( parse as an expression first )
2014-09-22 12:04:05 +01:00
artemp
5db32ab2e2 properties_util : template apply static method on value type 2014-09-22 11:23:57 +01:00
artemp
5df668d126 refactor error handler to work with mapnik/debug macros 2014-09-22 10:10:08 +01: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
7576c8e384 fix return of painted in grid_renderer 2014-09-19 14:34:08 -07:00
Dane Springmeyer
68d90adda6 enable painted for svg_renderer
Conflicts:
	include/mapnik/svg/output/svg_renderer.hpp
2014-09-19 14:34:07 -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
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
artemp
4c296e65e7 use expectation operators parsing attributes #2390 2014-09-12 17:19:11 +01:00
Dane Springmeyer
0cb63c51e8 finish removing ancient reduced size grid rendering pathway - amends f3a824c2cc 2014-09-12 00:56:51 -07: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
b441586acf text-symbolizer: revive 'wrap-char' property which uses special (naive) line_breaker - ref #2333 2014-09-09 17:30:01 +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
4ac190e8ef fix handling of marker width/height 2014-09-06 22:44:57 -07:00
Dane Springmeyer
cc07ac2b00 simplify marker width/height handling 2014-09-06 22:13:30 -07:00
Dane Springmeyer
54b2880e53 markers: support offset, geometry-transform, and simplify - closes #2108 2014-09-06 21:27:15 -07:00
Dane Springmeyer
dc8a46017f fix recursion on windows - closes #2414 2014-09-06 21:07:48 +00:00
Dane Springmeyer
9d363ce7e7 change runtime warning to compile time warning 2014-09-06 12:57:53 -07:00
Dane Springmeyer
1482835c08 fix visibility of image compositing/scaling with -flto - closes #2413 2014-09-06 10:52:00 -07:00
Dane Springmeyer
e26570dfdb completely ignore layers with status=off - closes #153 2014-09-06 10:08:40 -07:00
artemp
fef3d22154 support avoid-edges in all markers placements 2014-09-05 16:33:20 +01: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
aea77a7155 use generic_json types in topojson grammar
refactor value_converters into separate header
usd value_converters in geojson parser
2014-09-05 12:13:58 +01:00
Jiri Drbalek
b7e7e29781 fix text rendering with line placement on corners 2014-09-05 10:46:46 +00:00
Jiri Drbalek
69708dc640 add length method 2014-09-05 10:46:46 +00: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
25a41ae31b restore value hash + add test harness 2014-09-04 19:38:53 -07:00