Commit graph

4081 commits

Author SHA1 Message Date
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
Dane Springmeyer
3c1ad84f95 remove mapnik-config.bat 2014-09-04 16:40:37 -07:00
Dane Springmeyer
038cc41cd4 we are targeting 2014 so rollback 2013 CTP workarounds 2014-09-04 18:26:17 +00:00
Dane Springmeyer
7d5d02e031 Merge branch 'master' of github.com:mapnik/mapnik into 3x-msvs 2014-09-04 09:22:53 -07:00
Dane Springmeyer
c30f1715e6 Revert "workaround msvs variant init bug"
This reverts commit be44b647fa.
2014-09-04 09:22:43 -07:00
Dane Springmeyer
98c881432a Revert "attempt to workaround other mapnik_value_type->variant bugs"
This reverts commit 7dc1aed9ee.
2014-09-04 09:21:14 -07:00
artemp
72e2f4446f re-implement mapnik::value deriving from value_base and update across core
fix mapnik::value conversions in topojson plugin
2014-09-04 17:10:13 +01:00
artemp
0985cc907d remove copy converting ctor and fix converting move constuctor to use 'universal reference' and perfect forwarding
( re : http://isocpp.org/blog/2012/11/universal-references-in-c11-scott-meyers)
2014-09-04 14:54:42 +01:00
Jiri Drbalek
67d8f41a1b fix angle calculation
Conflicts:
	src/text/vertex_cache.cpp
2014-09-03 11:53:23 -07:00
Dane Springmeyer
7dc1aed9ee attempt to workaround other mapnik_value_type->variant bugs 2014-08-31 17:18:15 -07:00
Dane Springmeyer
be44b647fa workaround msvs variant init bug 2014-08-31 12:44:12 -07:00
Dane Springmeyer
beaf7a56cc fix linking problems from python 2014-08-31 07:44:41 +00:00
Dane Springmeyer
603ea3811f Merge branch 'master' of github.com:mapnik/mapnik into 3x-msvs 2014-08-30 20:05:33 -07:00
Dane Springmeyer
8cd198625e remove unused code 2014-08-30 14:30:51 -07:00
Dane Springmeyer
d577ef8719 Merge branch 'master' of https://github.com/mapnik/mapnik into 3x-msvs 2014-08-29 18:56:43 -07:00
Dane Springmeyer
c7f58ee64c clean up harfbuzz->icu interface 2014-08-29 17:41:29 -07:00
Dane Springmeyer
15356f6320 handle wchar_t UChar typedef on windows 2014-08-29 16:46:23 -07:00
Dane Springmeyer
12a45744fb Merge pull request #2403 from mapycz/3.x-fix-vertext_last-warning
fix compiler warning
2014-08-29 11:52:09 -07:00
Jiri Drbalek
21dcb2e2c4 fix compiler warning 2014-08-29 18:18:25 +00:00
Dane Springmeyer
8d7bf7a8da fix imagedata visability on windows 2014-08-29 11:01:04 -07:00
artemp
a5925c1f15 remove redundant private copy assignment op 2014-08-29 18:06:08 +01:00
Dane Springmeyer
3f6a5ae246 re-enable harfbuzz shaper 2014-08-29 00:05:34 -07:00
Dane Springmeyer
6f3b8f969d params: make msvs happy 2014-08-28 19:06:17 -07:00
Dane Springmeyer
324fb11f66 include <cstdint> - fixes msvs compile - refs #2396 2014-08-28 18:51:27 -07:00
Dane Springmeyer
7ff712af52 remove unused code 2014-08-28 17:24:17 -07:00
Dane Springmeyer
3c66054524 Merge branch 'master' of github.com:mapnik/mapnik into 3x-msvs 2014-08-28 17:23:59 -07:00
Dane Springmeyer
23189d7059 remove invalid MAPNIK_DECL usage - amends d61efc0b5a (may break lto, but fixes windows) 2014-08-28 17:23:32 -07:00
artemp
1ac0ebdd83 rename coord_transform to transform_path_adapter and move implementation into separate header 2014-08-28 10:59:08 +01:00
artemp
ecfaec1027 rename ctrans.hpp to view_transform.hpp 2014-08-28 10:29:04 +01:00
artemp
de22d5900c rename CoordTransform to view_transform to better reflect its purpose and be consistent 2014-08-28 10:17:15 +01:00
artemp
cc76ac4c6a c++ style - avoid implicit bool conversions in comparison + make note re:scale_denom *= p.scale_factor(); 2014-08-28 09:57:24 +01:00
artemp
4628dc3ff3 c++11 style 2014-08-28 09:55:16 +01:00
Dane Springmeyer
0635052349 fix CTP 2013 issue 8 from #2396 2014-08-26 20:01:59 -07:00
Dane Springmeyer
a8e8632572 don't trust __cplusplus - addresses issue 5 from #2396 2014-08-26 19:24:53 -07:00
Dane Springmeyer
f364069e25 fix issue 6 from #2396 2014-08-26 19:11:44 -07:00
Dane Springmeyer
b6bfab99b8 remove unneeded header 2014-08-26 16:09:04 -07:00
Dane Springmeyer
884db7de8c fix issue 1 from #2396 2014-08-26 12:43:11 -07:00
artemp
0cfbd3c5e8 expression_string : implement function call support 2014-08-26 10:51:55 +01:00
Dane Springmeyer
3e1ab9beab fix gdal compile with msvs 2013 - closes #2257 2014-08-25 17:50:45 -07:00
Dane Springmeyer
70f71790fe simplify expression handling in marker_helpers 2014-08-25 14:51:22 -07:00
Dane Springmeyer
feffa8f53c respect int return type for WebPValidateConfig 2014-08-25 14:38:03 -07:00
artemp
2a254a4017 expressions - refactor function calls into separate compilation unit 2014-08-25 15:06:53 +01:00
artemp
4adb0abb64 expressions - implement unary and binary function expression nodes
(sample functions: exp, pow, sin, cos, min, max, tan, atan)
2014-08-25 14:17:18 +01:00
Dane Springmeyer
48c23f27dc remove duplicate calculation of image_ratio 2014-08-24 19:21:54 -07:00
Dane Springmeyer
0b8439c8d2 fix inialization order 2014-08-24 16:37:39 -07:00
Jiri Drbalek
e1aededb09 refactor marker placements 2014-08-24 18:10:41 +00:00
Jordan Hollinger
88782a85c8 Minor improvement to repeat handling in collision detector. 2014-08-22 13:38:01 -04:00
artemp
eb7716aeed expressions - initial function_call framework implementation (TODO) 2014-08-22 12:30:25 +01:00
Jordan Hollinger
a28d3dd99c Handle text-margin, repeat-distance, and backward compatible minimum-distance in placement_finder. Update visual tests. 2014-08-21 20:49:00 -04:00
artemp
8db68fc5e3 hextree - avoid quantizing images with less than 3 pixels (hextree implementation requirement) 2014-08-21 12:43:43 +01:00
Jordan Hollinger
c8c792277d Add attribute text-margin in place of minimum-distance. 2014-08-20 19:43:36 -04:00
artemp
3c99514c85 GeoJSON : re-implement grammar to allow any order for "type", "coordinates" and "geometries" elements
Also, ammend positions parser to handle multi-dimensional coordinates e.g [x,y,z,....,N] (we only extract x and y)
2014-08-20 15:45:16 +01:00
Dane Springmeyer
7d23d49ecb fix #2368 2014-08-19 14:47:03 -07:00
artemp
59b089f65d remove unused (after grammar refactor) support_multi_pass.hpp include 2014-08-19 16:04:31 +01:00
Dane Springmeyer
0e87d913ed fix return type 2014-08-18 19:19:48 -07:00
Dane Springmeyer
83b7ccb3ae optimize set_symbolizer_property_impl 2014-08-18 15:37:46 -07:00
artemp
801848ac97 Merge branch 'jh-min-repeat-distance' of git://github.com/MapQuest/mapnik into MapQuest-jh-min-repeat-distance
Conflicts:
	include/mapnik/renderer_common/process_group_symbolizer.hpp
	src/text/text_properties.cpp
2014-08-18 14:05:14 +01:00
Jiri Drbalek
f3fba6e299 fix compile with gcc 2014-08-17 13:15:56 +00:00
artemp
67379d1bba fix icu_shaper 2014-08-15 14:11:44 +01:00
Dane Springmeyer
751e039347 add RESPECT mode to make 'fixing' of bbox aspect a no-op on map 2014-08-14 20:27:27 -07:00
Dane Springmeyer
8cfb49de81 fix quoting in svg output grammars - regressed in 350c2c29bd 2014-08-14 12:28:28 -07:00
Dane Springmeyer
595b81107c variant : make operator<< stricter to avoid unexpected instantiations - refs 7602779836 2014-08-14 11:50:58 -07:00
Dane Springmeyer
8ef6558496 iwyu 2014-08-14 10:04:26 -07:00
artemp
52ba1383ec move hash_value into value_adl_barrier namespace where it expected 2014-08-14 18:02:52 +01:00
artemp
454a69c582 mapnik::value - revive hash_value function implementation (#2358) 2014-08-14 10:00:23 +01:00
Dane Springmeyer
5b52fa94b1 fix compile on linux 2014-08-13 17:21:11 -07:00
Dane Springmeyer
5e314b04a7 iwyu 2014-08-13 09:05:02 -07:00
artemp
e8b7d50ebb feature_generator_grammar - fix escaping 2014-08-13 13:06:38 +01:00
artemp
4ebd824368 make to_expression_string accept quotting char (default: '\'') 2014-08-13 13:05:22 +01:00
artemp
6972bc30d2 use mapnik_value_type promotion traits for better type mapping
in symbolizer and params + move mapnik_value_type traits to
value_types.hpp
2014-08-13 10:22:43 +01:00
Dane Springmeyer
6ec3905fc5 fix redefinition warnings + dodge a compile error due to clashing toupper in python + clib by using iosfwd - closes #2355 2014-08-12 23:52:31 -07:00
Dane Springmeyer
5db9daaff1 fix compile error in svg_renderer_tests/path_element_test.cpp - refs #2355 2014-08-12 23:37:29 -07:00
Dane Springmeyer
7da05accc0 Merge branch 'master' of github.com:mapnik/mapnik into custom-variant-2 2014-08-12 23:19:26 -07:00
Dane Springmeyer
8b6a0a32f6 improve interior position algorithm - patch from @mrwojo - closes #2137 2014-08-12 14:42:51 -07:00
Dane Springmeyer
9b789a398b remove bilinear8 from master/3.x - closes #2076 2014-08-12 13:43:37 -07:00
artemp
6136a32092 Merge branch 'master' into custom-variant-2 2014-08-12 19:44:37 +01:00
Dane Springmeyer
04e4b47d91 stricter string2bool conversion - refs #2348 2014-08-12 11:33:20 -07:00
artemp
f57f3a7f83 ammend topojson_grammar and remove last boost::variant usage 2014-08-12 16:16:17 +01:00
artemp
7f8e18f89b cleanup 2014-08-12 16:15:57 +01:00
artemp
95cea92a4a convert all boost::variant to util::variant
apart from topojson (TODO)
2014-08-12 13:40:45 +01:00
artemp
8c7be886bd fix typo - uncomment column_collector 2014-08-12 10:47:29 +01:00
artemp
3f8c459195 make mapnik::symbolizer a mapnik::util::variant<Symbolizers...> 2014-08-12 10:40:38 +01:00
Dane Springmeyer
80aeceafc7 remove duplicate typedef for dash_array 2014-08-11 22:22:12 -07:00
Jordan Hollinger
c63e3a55f1 Merge branch 'master' of github.com:mapnik/mapnik into jh-min-repeat-distance 2014-08-11 17:43:51 -04:00
artemp
9a1639a1d6 AGG/Cairo - fix pattern opacity 2014-08-11 15:42:45 +01:00
artemp
201641a206 AGG/Cairo - fix pattern opacity 2014-08-11 15:36:48 +01:00
Jordan Hollinger
726274c2c9 Merge branch 'master' of github.com:mapnik/mapnik into jh-min-repeat-distance 2014-08-11 09:48:04 -04:00
artemp
27ee642bbe fix cairo_renderer usage in demo/viewer + revert aac69d0b34 2014-08-11 13:40:12 +01:00
artemp
9bfb41a39f convert symbolizer properties to use util::variant 2014-08-11 13:24:53 +01:00
artemp
aac69d0b34 expose cairo_renderer<cairo_surface_ptr> 2014-08-11 13:24:11 +01:00
artemp
c197822116 add getter interface compatible with boost::variant 2014-08-11 13:23:01 +01:00
artemp
e315922b70 Merge branch 'master' into custom-variant-2
Conflicts:
	include/mapnik/value.hpp
2014-08-11 11:53:59 +01:00
artemp
43b8069698 topojson - revert to using boost::variant for mapnik::topojson::geometry (TODO) 2014-08-11 11:51:19 +01:00
Dane Springmeyer
c285cfa188 refactor cairo_renderer
- splits process functions into new cpp files to reduce peak compile memory usage
 - drops cairo_renderer_base to match agg_renderer design
 - only cairo_ptr is accepted so cairo_surface_ptr must be converted into a context first
 - fixes -fvisibility=hidden
2014-08-10 13:53:45 -07:00
Dane Springmeyer
7cae3c34ca iwyu in renderer_common 2014-08-10 13:04:20 -07:00
Dane Springmeyer
4c10d90145 declare segment y_order inline 2014-08-10 13:02:34 -07:00
Dane Springmeyer
378ab71a51 more -fvisibility=hidden fixes for osx 2014-08-09 14:23:23 -07:00
Dane Springmeyer
678907e027 silence webp -Wunused-function warning 2014-08-09 13:57:01 -07:00
Dane Springmeyer
8ff987af6d iwyu 2014-08-09 13:46:13 -07:00
Dane Springmeyer
1c0b1884c3 use extern template to solve -fvisibility=hidden issues on osx 2014-08-09 13:44:42 -07:00
Dane Springmeyer
d61efc0b5a -fvisibility=hidden fixes on osx with -flto 2014-08-09 13:44:42 -07:00
Dane Springmeyer
1c9afc9a86 boolean_type cleanup/code re-use 2014-08-09 13:44:41 -07:00
Dane Springmeyer
95430a3beb remove uneeded debug statement 2014-08-08 15:41:18 -07:00
Dane Springmeyer
578da31702 use extern template to fix osx -flto bug - closes #2339 2014-08-08 14:16:49 -07:00
Dane Springmeyer
1727fae6e7 remove boost concept_check usage - refs #2346 2014-08-08 13:15:57 -07:00
Dane Springmeyer
e33e0150ad 2x faster compile of value_types.hpp - start working on #2346 2014-08-08 12:34:41 -07:00
Dane Springmeyer
8f183ac63a Merge pull request #2345 from mapnik/emplace
use emplace/emplace_back over insert/push_back - refs #2336
2014-08-08 11:30:14 -07:00
artemp
1f403a078e transform : is_null_node visitor 2014-08-08 16:43:15 +01:00
artemp
1a94ee1900 add link to custom generator TODO 2014-08-08 16:42:48 +01:00
artemp
93bad52e7e use is_null_visitor 2014-08-08 16:42:14 +01:00
artemp
7b255f2b95 value traits to control to value conversions + fix is_null 2014-08-08 16:41:03 +01:00
artemp
784d24828f replace boost::spirit::karma alternate operator (uses boost::variant) with direct util::variant to string conversion 2014-08-08 15:53:28 +01:00
artemp
6095df6702 Merge branch 'master' into custom-variant-2
Conflicts:
	include/mapnik/value.hpp
2014-08-08 12:31:31 +01:00
artemp
eff7fb2f94 Merge branch '3.x-szn-markers-symbolizer-vertex-placements' of git://github.com/mapycz/mapnik into mapycz-3.x-szn-markers-symbolizer-vertex-placements 2014-08-08 12:15:53 +01:00
artemp
09e78e3ee9 remove unused includes 2014-08-08 12:14:11 +01:00
artemp
ade32abcd8 mapnik::util::variant in mapnik::value 2014-08-08 12:13:49 +01:00
Jiri Drbalek
705260aa06 prefer c++ style comments 2014-08-08 06:34:33 +00:00
Jiri Drbalek
9b0953a955 remove needless virtual inheritance 2014-08-08 06:34:33 +00:00
Jiri Drbalek
fa0b97fff7 add markers placement methods vertex-first and vertex-last 2014-08-08 06:34:33 +00:00
artemp
e7caf63de2 remove unused includes 2014-08-07 16:53:32 +01:00
Dane Springmeyer
38852f27bb iwyu 2014-08-06 12:29:07 -07:00
Dane Springmeyer
aaaf82f28c remove unused <<operator 2014-08-06 12:28:35 -07:00
Dane Springmeyer
6ae59b80af iwyu 2014-08-06 12:27:10 -07:00
Dane Springmeyer
d4bb7ee279 remove unused <<operator 2014-08-06 12:26:01 -07:00
Dane Springmeyer
b8b76c1e1c iwyu 2014-08-06 08:17:31 -07:00
artemp
0490b7887c text_symbolizer - ``geometry-transform`` support 2014-08-06 14:54:38 +01:00
artemp
9835057b0f Use vertex_converters in text placement 2014-08-06 13:10:24 +01:00
artemp
ec97b8b744 c++ style 2014-08-06 12:32:50 +01:00
Dane Springmeyer
ce8aee1994 be explicit about copy needed to safely pass glyph_info into text_line - closes #2337 2014-08-05 17:03:30 -07:00
Dane Springmeyer
d27b45553a use emplace/emplace_back over insert/push_back - refs #2336 2014-08-05 15:19:37 -07:00
Dane Springmeyer
7a013e8151 switch glyph_info cache to an unordered_map (but no perf diff on osx) 2014-08-05 14:31:29 -07:00
Dane Springmeyer
2a7fc29e42 add support for opacity with svgs in pattern symbolizers - refs #1010 2014-08-05 13:48:40 -07:00
Dane Springmeyer
e111f77310 pedantic fixes to line_pattern_rasterizer 2014-08-05 12:33:39 -07:00
Dane Springmeyer
2c9e089317 move harfbuzz_shaper inc + other iwyu fixups 2014-08-05 11:10:49 -07:00
artemp
c3a83e6f74 re-arrange headers 2014-08-05 18:58:22 +01:00
Mike Morris
617524505b fix header include comment 2014-08-05 13:15:55 -04:00
artemp
2b90b382e7 move render_pattern into sepratre compilation module 2014-08-05 17:40:15 +01:00
artemp
a8991cd600 refactor clipping_extent into separate header for sharing 2014-08-05 17:22:13 +01:00
artemp
d01a5407ae remove unused symbolizer hash 2014-08-05 13:05:32 +01:00
artemp
59b666cb77 Cairo : use vertex_converter in line_pattern_symbolizer (#1386)
fix pattern alignment
2014-08-05 11:48:42 +01:00
Dane Springmeyer
8232180614 c++11 style in harfbuzz_shaper.hpp 2014-08-04 23:42:42 -07:00
Dane Springmeyer
ab1e5def47 text_line: remove unneeded acces to glyph storage 2014-08-04 20:29:25 -07:00
Dane Springmeyer
99a46f6910 re-enable glyph_info caching - refs #2326, #2265, #2334 2014-08-04 19:50:16 -07:00
Dane Springmeyer
db96f3c933 drop unnessary use of boost in transform_processor.hpp 2014-08-04 15:09:37 -07:00
Dane Springmeyer
aa63d6c9a0 include cleanups where we used to use boost 2014-08-04 14:42:51 -07:00
Dane Springmeyer
d7c3d8f774 fix std::sort and std::lower_bound usage 2014-08-04 14:42:24 -07:00
Dane Springmeyer
5134fdc0d3 use std::sort over boost::sort 2014-08-04 14:13:33 -07:00
Dane Springmeyer
a73440496a iwyu 2014-08-04 13:59:13 -07:00
Dane Springmeyer
03429f9bcb use std::unordered_map in non-perf critical code 2014-08-04 13:59:02 -07:00
Dane Springmeyer
75248e3376 remove obsolete wrap-character option for text symbolizer - closes #2333 2014-08-04 12:52:46 -07:00
artemp
c1c5421fb6 add divide, linear-dodge and linear-burn blending modes (needs testing) 2014-08-04 12:33:37 +01:00
Dane Springmeyer
9f05389754 fix handling of all sym enums as expressions - fixes tests from #2328 2014-08-03 21:28:36 -07:00
jhollinger2
0aad860a75 Add repeat-distance to text symbolizer properties.
Update collision detector to handle minimum-distance and repeat-distance seperately.
Update placement_finder to use repeat-distance.
Update group symbolizer to handle minimum-distance and repeat-distance.
2014-08-03 16:10:21 -04:00
artemp
f2db42d5e4 support image-transform for vector patterns 2014-08-01 13:39:29 +01:00
artemp
a9f0408e4f polygon_pattern_symbolizer: use set_symbolizer_property + add image-transform 2014-08-01 10:05:30 +01:00
artemp
18a7731d42 AGG line/polygon_pattern_symbolizer add support for SVG patterns 2014-07-31 15:25:22 +01:00
Dane Springmeyer
c6a291271f fix conditional pixel snapping for marker rasters 2014-07-31 00:49:00 -07:00
Dane Springmeyer
3412c071ab initialize default black square in marker cache - refs #952 2014-07-31 00:41:27 -07:00
Dane Springmeyer
6078f4cef1 more marker bbox fixes 2014-07-30 23:43:48 -07:00
Dane Springmeyer
d685307250 fix regression in raster marker collision box placement - refs #2295 2014-07-30 22:50:01 -07:00
Dane Springmeyer
6070c9caf0 fix compile 2014-07-30 16:25:21 -07:00
Dane Springmeyer
2a18280dc5 Add support for dynamic expressions for dasharrays - closes #2168 2014-07-30 16:02:23 -07:00
Dane Springmeyer
b7ecd00c31 complete support for face-name/fontset-name in <Format> node - closes #1900 2014-07-30 14:16:32 -07:00
Dane Springmeyer
350c2c29bd drop karma confix + solve conflicting spirit headers - closes #2323 2014-07-30 13:06:08 -07:00
Dane Springmeyer
da457eba81 Merge branch 'master' of github.com:mapnik/mapnik 2014-07-30 08:42:03 -07:00
artemp
3f5344ca82 geojson - make feature_collection_grammar not dependend on mapnik::context 2014-07-30 11:01:54 +01:00
Dane Springmeyer
8646ccc83f start passing fontsets down to format and layout - refs #1900 2014-07-29 18:29:20 -07:00
Dane Springmeyer
e7c6d84028 Avoid -Wdelete-non-virtual-dtor warning 2014-07-29 17:17:45 -07:00
Dane Springmeyer
acbebcdd79 Merge branch 'master' of github.com:mapnik/mapnik 2014-07-29 17:07:09 -07:00
Dane Springmeyer
673bd4fd8f use detail namespace in json/geometry_generator_parser.hpp 2014-07-29 17:06:54 -07:00
Dane Springmeyer
ba999ff4be Merge pull request #2295 from mapycz/3.x-szn-markers-symbolizer
refactor markers placements
2014-07-29 17:04:27 -07:00
Dane Springmeyer
1fa31d5d20 remove force-odd-labels - refs #2120 2014-07-29 14:37:29 -07:00
artemp
08c3dd1f88 convert remaining text properties to expressions 2014-07-29 14:43:26 +01:00
artemp
c565aa8722 move symbolizer property handling to symbolizer_utils 2014-07-29 13:31:07 +01:00
Jiri Drbalek
6730408039 fix include 2014-07-29 11:52:43 +00:00
Jiri Drbalek
6a17e17c04 fix markers transforms calc 2014-07-29 11:52:43 +00:00
Jiri Drbalek
2940de0b0b refactor markers placements 2014-07-29 11:52:39 +00:00
artemp
97f87b1946 aggregate text symbolizer properties loading 2014-07-29 10:09:54 +01:00
Dane Springmeyer
e525ca28b5 Re-instate skipping of proj_transform failures - closes #2147 2014-07-28 20:46:30 -07:00
Dane Springmeyer
cdb075f75f make clipping off by default - closes #2146 2014-07-28 20:31:10 -07:00
Dane Springmeyer
8feedd94cd rename mapnik::boolean to mapnik::boolean_type - closes #1899 2014-07-28 19:46:49 -07:00
Dane Springmeyer
04115c5838 fix #2290 2014-07-28 19:06:56 -07:00
Dane Springmeyer
b0f722a30b fix #2299 2014-07-28 17:09:51 -07:00
Dane Springmeyer
d55a0010dc also move feature_collection_grammar to impl file 2014-07-28 16:51:24 -07:00
artemp
f338028802 fix init order 2014-07-28 17:50:44 +01:00
artemp
0cf6e47006 c++ char_properties -> evaluated_format_properties 2014-07-28 17:22:32 +01:00
artemp
fb3d9cd7b6 convert horizontal/vertical/justify_alignment properties to expressions 2014-07-28 15:09:29 +01:00
artemp
61c0344dd6 generic set_property_from_xml implementation 2014-07-28 15:08:28 +01:00
artemp
51cf60125e rename source files to reflect class name e.g layout -> text_layout 2014-07-28 12:10:34 +01:00
Dane Springmeyer
0d95f038a7 shuffle the cost of spirit grammars 2014-07-25 16:15:18 -07:00
Dane Springmeyer
bbc57f442c fix -Wsign-compare warnings in several grammars 2014-07-25 15:49:50 -07:00
Dane Springmeyer
d598a2bb55 iwyu 2014-07-25 15:35:27 -07:00
Dane Springmeyer
34bbf36e3a Revert "return code 0 to gracefully exit if python bindings are not available"
This reverts commit 2f08dc29ef.

Conflicts:
	tests/run_tests.py
	tests/visual_tests/test.py
2014-07-25 11:49:05 -07:00
artemp
70059cc346 remove redundant ExpressionFormat node 2014-07-25 14:26:13 +01:00
artemp
37245fdde1 text properties : add framework to handle expressions in enumerations
+ make text-transform an expression
2014-07-25 14:19:41 +01:00
Dane Springmeyer
2f08dc29ef return code 0 to gracefully exit if python bindings are not available 2014-07-24 18:58:03 -07:00
Dane Springmeyer
99de69d96f Merge branch 'master' of github.com:mapnik/mapnik into grammar-refactor 2014-07-24 14:55:30 -07:00
Dane Springmeyer
c5be70ff65 refactor spirit grammars 2014-07-24 14:31:59 -07:00
artemp
b53572ab9c update text/formatting/format 2014-07-24 14:45:02 +01:00
artemp
9c39d4ebd2 collect expressions from format_properties 2014-07-24 12:00:46 +01:00
artemp
1927a00ee0 text-properties : make fill and halo-fill expressions 2014-07-24 11:37:16 +01:00
Dane Springmeyer
f8ccbf3ded fix compile of graphics.hpp 2014-07-23 14:32:48 -07:00
Dane Springmeyer
3defa77d88 remove big endian support - closes #2313 2014-07-23 14:16:44 -07:00
Dane Springmeyer
133f399777 iwyu 2014-07-23 14:16:11 -07:00
Dane Springmeyer
8dcd85a708 iwyu 2014-07-23 14:02:36 -07:00
Dane Springmeyer
9959006e61 remove boost::lexical_cast 2014-07-23 10:54:02 -07:00
Dane Springmeyer
bf8572fac6 remove boost::lexical_cast 2014-07-23 10:53:47 -07:00
Dane Springmeyer
2d2eec48c4 iwyu 2014-07-23 10:34:45 -07:00
artemp
8502019310 more format_properties expessions 2014-07-23 18:09:18 +01:00
artemp
e67f046a0e start re-factoring char_property (TODO: change name!) 2014-07-23 16:19:14 +01:00
Dane Springmeyer
265043e4d7 iwyu 2014-07-22 23:57:06 -07:00
Dane Springmeyer
148007cc48 iwyu + fwd declares 2014-07-22 23:36:54 -07:00
Dane Springmeyer
3de2457799 fwd declare layer 2014-07-22 23:11:12 -07:00
Dane Springmeyer
58163a583c clean up tuple includes 2014-07-22 23:01:31 -07:00
Dane Springmeyer
64e70fb374 iwyu 2014-07-22 22:40:39 -07:00
Dane Springmeyer
a80d7c9602 std::unordered_map for non-perf critical debug code 2014-07-22 22:39:49 -07:00
Dane Springmeyer
95aa4c709d use std::unique_lock instead of boost::unique_lock 2014-07-22 20:06:13 -07:00
Dane Springmeyer
6c6b1bd650 iwyu 2014-07-22 19:45:54 -07:00
Dane Springmeyer
28a05c96ef iwyu + faster compile 2014-07-22 19:36:39 -07:00
Dane Springmeyer
6a8b3e9cf9 fix clipping default until #2146 2014-07-22 12:15:45 -07:00
Dane Springmeyer
006c460c9c fix use of comp-op as data-driven expression 2014-07-22 10:52:30 -07:00
Dane Springmeyer
7744a65536 remove uneeded usage of boost::ignore_unused_variable_warning 2014-07-22 10:51:31 -07:00
artemp
498bba7cf8 c++ : pass arg by const ref 2014-07-22 16:09:10 +01:00
artemp
f12b5e06dd c++ style 2014-07-22 15:58:37 +01:00
artemp
bfc6c61d62 c++ - pass by const ref etc. 2014-07-21 14:46:54 +01:00
artemp
eacde4fe43 remove dummy_shaper 2014-07-21 12:41:31 +01:00
artemp
ee58762bd9 add property_serializer impl 2014-07-21 11:19:26 +01:00
artemp
93d40323c5 orientation -> symbolizer_base::value_type 2014-07-18 15:48:56 +01:00
artemp
594470ee17 expressions in text/formatting/layout (work-in-progress) 2014-07-18 11:18:54 +01:00
artemp
f9ed5d4027 add has_attribute(std::string const&) member function 2014-07-18 11:17:48 +01:00
artemp
56381b5770 make set_property_from_xml more generic
(e.g work with symbolizer_base::value_type and optional<symbolizer_base::value_type>)
2014-07-18 11:15:30 +01:00
artemp
efe0cf57b4 move set_property_from_xml into separate header for re-use 2014-07-18 11:14:28 +01:00
artemp
dcb60d5842 make add_expressions pure virtual in base class 2014-07-17 17:26:54 +01:00
artemp
18d1d0b8d5 fix path_move_dx 2014-07-17 17:26:20 +01:00
artemp
620aa62ab5 remove unused member variable 2014-07-17 17:01:03 +01:00
artemp
21986e5d4a refactor pass 2014-07-17 16:55:22 +01:00
artemp
79c1ac96b4 avoid captures in displacement_evaluator 2014-07-17 16:55:22 +01:00
Dane Springmeyer
8eab2d31de remove dead code 2014-07-16 16:13:56 -07:00
artemp
8a01cce2f7 move displacement_evaluator_ initialisation
c++ style fixes
2014-07-16 16:34:42 +01:00
artemp
4166fcdd5d store displacement logic in std::function and delay calc until dx/dy are evaluated (layout) 2014-07-16 14:24:00 +01:00
artemp
6c03a617a5 text displacement expr : more re-factoring and various fixes 2014-07-15 16:31:43 +01:00
artemp
1f17620e18 make methods pure virtual where appropriate
pass std::string by const ref (!)
c++ style
2014-07-15 11:15:26 +01:00
artemp
72bae0d6b8 text properties : displacement expr 2014-07-15 10:15:56 +01:00
artemp
a66c1ddb06 convert to expressions: text-ratio, wrap-before, rotate-displacement 2014-07-14 16:51:11 +01:00
artemp
0524a31d02 cleanup 2014-07-14 16:08:21 +01:00
artemp
00175c9e5f symbolizer : is_expression helper function 2014-07-14 14:15:06 +01:00
artemp
ee6d394321 color : add hash support 2014-07-14 12:36:04 +01:00
artemp
e066aa924f text_properties : wrap-width 2014-07-11 15:44:44 +01:00
artemp
4afd98a34a text_properties : store 'orientation' parameter in symbolizer_base::value_type 2014-07-11 14:43:56 +01:00
artemp
64ef711b76 move enumerations into separate compilation unit 2014-07-11 10:26:51 +01:00
artemp
c79e74116d cleanups 2014-07-11 09:51:34 +01:00
artemp
484c1fab50 c++ style 2014-07-10 17:14:34 +01:00
artemp
9e84b6101b store const* in glyph_t 2014-07-10 12:46:42 +01:00
artemp
6cd7026aac pass text_placement_info by ref to placement_finder + formatting 2014-07-10 11:44:46 +01:00
artemp
8c6015ec60 first take at cleaning-up text placement code
(NOTE: get_text_info is temp disabled in python bindings)
2014-07-09 11:31:03 +01:00
artemp
9e76ca7870 color : add move ctor 2014-07-08 18:13:44 +01:00
artemp
04facd3542 mode range ``for loops`` 2014-07-08 17:02:22 +01:00
artemp
65ee7ea005 range based for loops for better readability 2014-07-08 16:39:22 +01:00
artemp
81f7e69088 coord_arrat<T> : add support for range based for loop interface
update wkb parser to use it ^^
2014-07-08 16:22:24 +01:00
artemp
ebdfc5b11a use c++ casts 2014-07-07 19:23:28 +01:00
artemp
4556921e9a remove typedef usage
(FIXME: revisit yes/no hacky implementation with c++11 features)
2014-07-07 19:15:52 +01:00
artemp
fe215a684e c++11 style : replace (almost) all typedef with type alias's 2014-07-07 18:23:15 +01:00
artemp
0f01000570 prefer using type alias's instead of ``typedef``
e.g
```c++
using identifier attr(optional) = type-id ;
```
2014-07-07 11:56:16 +01:00
artemp
673c8edbb5 set_symbolizer_property_impl - pre-evaluate expressions when is_enum = false 2014-07-07 11:30:08 +01:00
artemp
0f9ff9fe5e typo 2014-07-07 11:30:08 +01:00
artemp
1f2f17160e initial implementation to pre-evaluate symbolizer properties where possible
FIXME: generic version needs needs help type deduction
2014-07-03 16:35:18 +01:00
artemp
6d1422c5bb c++ style : pre-increment 2014-07-03 10:16:11 +01:00
artemp
ab3aad38ad symbolizer properties : image_transform, cleanups 2014-07-03 09:06:24 +01:00
artemp
5ef8078252 markers_symbolizer properties update 2014-07-02 13:08:05 +01:00
artemp
13d3465000 update point_placement_enum, gamma_method_enum, line_rasterizer_enum parsing, gamma-method 2014-07-02 11:01:38 +01:00
artemp
504c6fdabd make ``simplify_algorithm`` an expression 2014-07-02 10:15:44 +01:00
artemp
e052b6c6cf Merge branch 'master' of git://github.com/romanustinov9/mapnik into romanustinov9-master 2014-07-01 14:03:31 +01:00
Roman Ustinov
595e8915a5 Made save_to_stream function available outside of library 2014-07-01 14:45:52 +04:00
artemp
2271e7413c ENUM_FROM_STRING macro to keep things tidy and scalable 2014-06-30 17:41:33 +01:00
artemp
79fa672843 support expressions in stroke-linejoin and stroke-linecap properties 2014-06-30 14:06:34 +01:00
artemp
19b38c2ed9 more generic expressions in enum
support expressions in halo-comp-op symbolizer property
2014-06-27 16:11:30 +01:00
artemp
aa9966ed88 parse comp-op property as enumeration_wrapper or expression_str 2014-06-27 13:58:03 +01:00
artemp
b197cbcdb7 tidy up 2014-06-25 09:01:20 +01:00
artemp
a49abab7ed use std::uniqure_ptr<char[]> to store memory fonts 2014-06-24 12:05:53 +01:00
Dane Springmeyer
4c4ce5a04c windows build fixes in palette and miniz_png headers 2014-06-21 14:08:14 -07:00
Dane Springmeyer
34f1cc57c0 windows fix: declar miniz PNGWriter 2014-06-21 14:08:06 -07:00
Dane Springmeyer
184d9dd43b fix unicode handling in is_regular_file check - refs #2273 2014-06-20 22:26:33 -07:00
artemp
b0980ac329 cairo renderer: comp_op/halo_comp_op support in text_symbolizer 2014-06-20 09:55:10 +01:00
Mike Morris
2eafed2991 remove all rounding in glyph_info methods 2014-06-19 16:39:32 -04:00
Mike Morris
b8b22afbbc remove advance rounding 2014-06-19 16:38:15 -04:00
Mike Morris
24a7e87f1c Merge pull request #2272 from mapnik/unscaled-glyphs
Unscaled glyphs
2014-06-19 16:35:06 -04:00
artemp
68a5cc55a6 image_filters : agg-stack-blur requires premultiplied pixels - move de/pre multipling into apply_filter() 2014-06-19 15:40:54 +01:00
artemp
2fb3069825 image-filters: apply image-filters in demultiplied colour space 2014-06-19 13:26:40 +01:00
Dane Springmeyer
8da2805d42 Merge branch 'master' into unscaled-glyphs
Conflicts:
	include/mapnik/text/dummy_shaper.hpp
	include/mapnik/text/harfbuzz_shaper.hpp
	include/mapnik/text/icu_shaper.hpp
2014-06-18 20:40:33 -07:00
artemp
2f15631182 premultiply R,G,B channels after applying filters 2014-06-18 19:06:53 +01:00
artemp
666a926864 moving instead of copying mapnik::glyph_info
Conflicts:
	include/mapnik/text/dummy_shaper.hpp
	include/mapnik/text/harfbuzz_shaper.hpp
	include/mapnik/text/icu_shaper.hpp
2014-06-18 14:23:18 +01:00
artemp
3c72aedba0 moving instead of copying mapnik::glyph_info 2014-06-18 14:15:12 +01:00
artemp
a5547b0473 Merge branch 'master' into unscaled-glyphs 2014-06-18 10:18:16 +01:00
Dane Springmeyer
6571508576 Merge branch 'master' of github.com:mapnik/mapnik 2014-06-17 21:42:42 -07:00
Mike Morris
f797c320ff remove unecessary x_scale/y_scale multiplication 2014-06-17 15:57:11 -04:00
artemp
2c3173c1aa support halo-comp-op property (#2267) 2014-06-17 15:11:34 +01:00
artemp
d9597972d4 prefer c++ style comments 2014-06-17 14:25:02 +01:00
Mike Morris
28a3f4d2a2 fix line height 2014-06-16 18:47:16 -04:00
Dane Springmeyer
8bb77bce92 image readers: ability to check if image has alpha before full read
Conflicts:
	src/webp_reader.cpp
2014-06-16 09:52:26 -07:00
Dane Springmeyer
cc874364b2 allow external image data - refs #2002
Conflicts:
	include/mapnik/image_data.hpp
	tests/cpp_tests/image_io_test.cpp
2014-06-16 09:52:25 -07:00
artemp
7cc87c2196 fix compilation warnings 2014-06-16 11:45:33 +01:00
artemp
6bb47d9f5e add 'cairo' subdir 2014-06-16 11:45:10 +01:00
artemp
cbab56fa79 text symbilizer : add halo-opactity property (#2268) 2014-06-16 11:24:16 +01:00
artemp
91a523733b fix unused parameter warnings 2014-06-16 11:23:50 +01:00
Dane Springmeyer
e5dd7e0ec7 attempt to fix compile on linux 2014-06-12 19:08:30 -07:00
Mike Morris
a99905cff5 fix char_height zero 2014-06-12 19:10:18 -04:00
Mike Morris
38966674f1 line_height, ymin, ymax and advance all look right now 2014-06-12 16:16:02 -04:00
Mike Morris
3948e01c97 set glyph advance to floor for mapnik 2.x parity 2014-06-12 12:24:20 -04:00
artemp
3ded23fbab move make_unique out of std namespace and allow building with c++14 compilers
( -std=c++1y )
2014-06-12 15:14:05 +01:00
Mike Morris
2b843ec6a9 first attempt at unscaled glyph dimensions 2014-06-11 19:56:55 -04:00
artemp
d2eca542a9 formatting 2014-06-10 09:15:50 +01:00
artemp
b6bab7d0bb move cairo renderer into its own subdir 2014-06-06 13:38:00 +01:00
artemp
de90d0ee2a fix markers transforms calc 2014-06-05 16:47:40 +01:00
artemp
bbb727e39a update cairo_renderer 2014-06-05 15:15:36 +01:00
artemp
961bc69a1c cleanup+format 2014-06-05 15:15:36 +01:00
artemp
27b4faf4e7 remove dead code 2014-06-04 18:12:35 +01:00
artemp
a49e1d075e initial refactor pass (fixes #2235) 2014-06-04 18:05:27 +01:00
Dane Springmeyer
1acd49d630 fix spelling in comment 2014-06-03 22:06:49 -07:00
artemp
bedd275e95 more const correctness + cleaups 2014-06-02 17:09:12 +01:00
artemp
526e03d8c1 pedantic : use const quialifier where appropriate 2014-06-02 16:47:55 +01:00
artemp
ed8bfcabe4 feature_impl : make context() method const 2014-06-02 16:47:11 +01:00
artemp
08a1a4392c c++ formatting 2014-06-02 12:34:25 +01:00
artemp
9792ee4e94 remove unused anonymous namespace 2014-06-02 12:09:00 +01:00
artemp
5078c88d00 format 2014-06-02 12:08:28 +01:00
artemp
f9cf23b59f memory_datasource: support datasource interface 2014-05-30 10:16:49 +01:00
artemp
db88c41cb4 mapnik::datasource -- operator==() // comp parameters 2014-05-28 15:16:39 +01:00
artemp
a010195b36 modify add_layer to work with both move and copy semantics 2014-05-28 09:54:56 +01:00
artemp
0fe172ec9e layer : add move ctor 2014-05-28 09:54:56 +01:00
Dane Springmeyer
48c027857c return const& string from xml_node::get_text() 2014-05-27 13:35:52 -07:00
artemp
fcfbc70abf + explicit move ctor's for mapnik::Map and mapnik::font_set
+ fix methods sig's
2014-05-27 15:35:37 +01:00
artemp
7ff8c97afe correct method sig 2014-05-27 14:07:28 +01:00
artemp
c5e0c7e43f feature_type_style operator== 2014-05-27 13:44:01 +01:00
artemp
233b0c5332 add operator== to image_filters 2014-05-27 13:42:53 +01:00
artemp
7b9ba0db31 canonical swap and operator== 2014-05-27 12:34:35 +01:00
artemp
f6a79ecaec font_set: add operator== and 'swap' impl 2014-05-27 12:33:20 +01:00
artemp
d25abed9d2 custom swap 2014-05-27 11:43:46 +01:00
artemp
9972680020 Map : add member-by-member comparison op 2014-05-27 11:34:39 +01:00
artemp
c8b8937bf9 out-of-class swap method to be consistent 2014-05-27 11:21:13 +01:00
artemp
eb0b4dbc0b custom swap method 2014-05-27 11:20:32 +01:00
artemp
4f6b00b589 use custom swap() and avoid std::swap calling move ctor (recursion) 2014-05-27 10:36:42 +01:00
artemp
f76c5576b6 + add compiler generated move ctor 2014-05-23 12:15:39 +01:00
Dane Springmeyer
12602c7e9c fix typo 2014-05-22 21:49:39 -07:00
Dane Springmeyer
d393470453 yet another try to please msvs 2010 2014-05-22 21:35:03 -07:00
Dane Springmeyer
8c0927baf0 no default args for template declaration 2014-05-22 21:34:58 -07:00
Dane Springmeyer
80dbdf28c9 fix msvs 2010 linking - refs #260 2014-05-22 21:29:03 -07:00
Dane Springmeyer
5974c79654 expose various image symbols for windows - refs mapnik/node-mapnik#260 2014-05-22 21:28:44 -07:00
Dane Springmeyer
680bb22133 fix ambiguous std::fabs and the compile on windows 2014-05-22 19:59:07 -07:00
Dane Springmeyer
f9677641dd Merge branch 'master' of github.com:mapnik/mapnik into render-time-variables 2014-05-19 12:33:35 -07:00
artemp
509a59353c be more consistent with JS logic when evaluating operators on unicode_strings
'abc' + 'de' -> 'abcde'
'abc' ( - | * | / | % ) 'de' -> value_null
2014-05-19 12:54:16 +01:00
artemp
cf9e5fad3e return default constructed ``value_type->value_null` instead of `std::numeric_limits<value_type>::infinity()`` 2014-05-19 12:06:40 +01:00
Dane Springmeyer
03bb82b13f Merge branch 'master' of github.com:mapnik/mapnik into render-time-variables 2014-05-16 07:49:06 -07:00
artemp
a6a3af02d9 relax FeatureCollection grammar to allow arbitary key:value's 2014-05-16 11:18:27 +01:00
Dane Springmeyer
aaae8b1cba optimize raster rendering when not resizing 2014-05-15 23:38:47 -07:00
Dane Springmeyer
03bb19dc3a fix svg_renderer ctor 2014-05-15 18:35:27 -07:00
Dane Springmeyer
7fa6747a29 Merge branch 'master' of github.com:mapnik/mapnik into render-time-variables 2014-05-14 11:44:57 -07:00
artemp
c9b263fbc8 font_engine
+ avoid initialising FT_Library per font registration
+ lock register_fonts
2014-05-14 13:17:09 +01:00
Dane Springmeyer
96f89e34b3 Merge branch 'master' of github.com:mapnik/mapnik into render-time-variables 2014-05-13 20:51:57 -07:00
Dane Springmeyer
e300a41dca variables now available as postgis datasource tokens 2014-05-13 20:47:22 -07:00
Dane Springmeyer
2f8451b99a variables support for cairo/grid/svg 2014-05-13 18:24:17 -07:00
artemp
f0fd0aa8ce font_engine : use FT_New_Library/FT_Done_Library with custom memory management (ref #2209 #2210) 2014-05-13 12:43:59 +01:00
Dane Springmeyer
29d92fd162 Merge branch 'master' of github.com:mapnik/mapnik into render-time-variables 2014-05-12 21:26:04 -07:00
Dane Springmeyer
039e620147 don't allow marker-spacing less than 1 - fixes #2218 2014-05-12 21:25:49 -07:00
Dane Springmeyer
1e3f062af8 Merge branch 'master' of github.com:mapnik/mapnik into render-time-variables 2014-05-12 08:45:15 -07:00
artemp
ba35dfe3b0 mapnik::value - return 'infinity' if rhs == 0 to avoid division by zero 2014-05-12 10:14:10 +01:00
artemp
1a32cc5630 + add eq/neq operators value_null <--> T 2014-05-12 10:12:09 +01:00
Dane Springmeyer
2c661ed3d5 support for render time variables 2014-05-11 13:08:24 -07:00
Dane Springmeyer
7364a30e67 improve handling of colors as expressions 2014-05-08 00:45:18 -07:00
artemp
99bbb10290 c++11 : use int types from <cstdint> 2014-05-06 18:06:47 +01:00
Dane Springmeyer
d7bb97a22e simplify code 2014-05-05 18:16:42 -07:00
Dane Springmeyer
74c7e67d60 Various c++11 improvements
- std::make_unique
 - avoiding uneccessary std::move calls which make actually prevent rvo (http://stackoverflow.com/questions/4986673/c11-rvalues-and-move-semantics-confusion)
 - more c++11 for loops
2014-05-05 16:02:42 -07:00
Dane Springmeyer
439fc9f700 fix variable shadowing in placements_list.hpp 2014-05-05 10:44:59 -07:00
Dane Springmeyer
356cc85ad8 cleanup + rename svg_transform parser 2014-04-30 10:55:46 -07:00
Dane Springmeyer
97a45f21bb all static grammar usage const + xml_tree cleanups 2014-04-30 10:42:05 -07:00
Dane Springmeyer
8c1e69fdb8 static grammars
- construct on first use
 - allows for faster map loading and unloading of xml loading tree
 - modified expression and transform grammars to not take args/not crash
 - simplifies interfaces, allows fast parsing from python without passing grammar instance
2014-04-30 00:11:27 -07:00
Dane Springmeyer
c399812c34 Merge pull request #2230 from MapQuest/jh-fix-group-symbolizer-text
Group symbolizer serialization
2014-04-29 11:01:37 -07:00
Jordan Hollinger
9ec187505b Add serialization for group symbolizer components. 2014-04-29 12:08:05 -04:00
Dane Springmeyer
ad10497503 cache result of parse_expression to speed up map loading - refs #1167 2014-04-28 18:02:14 -07:00
Dane Springmeyer
ef837eb92f c++11 optimizations for faster map loading 2014-04-28 17:10:00 -07:00
Dane Springmeyer
73517c9104 fix return value for string2bool 2014-04-27 08:51:14 -07:00
Dane Springmeyer
b7b1acaa50 optimize string2bool 2014-04-25 21:46:40 -07:00
Dane Springmeyer
9e9747ffad Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
Conflicts:
	src/agg/process_building_symbolizer.cpp
	src/cairo_context.cpp
	src/cairo_renderer.cpp
	src/grid/process_building_symbolizer.cpp
	src/grid/process_line_pattern_symbolizer.cpp
	src/grid/process_text_symbolizer.cpp
	tests/python_tests/images/support/marker-text-line-scale-factor-0.899.png
	tests/python_tests/images/support/marker-text-line-scale-factor-1.5.png
	tests/python_tests/images/support/marker-text-line-scale-factor-1.png
	tests/python_tests/images/support/marker-text-line-scale-factor-10.png
	tests/python_tests/images/support/marker-text-line-scale-factor-100.png
	tests/python_tests/images/support/marker-text-line-scale-factor-2.png
	tests/python_tests/images/support/marker-text-line-scale-factor-5.png
	tests/visual_tests/images/lines-5-200-200-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-200-200-2.0-agg-reference.png
	tests/visual_tests/images/lines-5-400-400-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-400-400-2.0-agg-reference.png
	tests/visual_tests/images/lines-5-600-600-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-5-800-800-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-800-800-2.0-agg-reference.png
	tests/visual_tests/images/lines-6-200-200-2.0-agg-reference.png
	tests/visual_tests/images/lines-6-400-400-2.0-agg-reference.png
	tests/visual_tests/images/lines-6-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-6-800-800-2.0-agg-reference.png
	tests/visual_tests/test.py
2014-04-24 21:44:28 -07:00
Dane Springmeyer
acb83a8796 fix compile with clang: 'addition of default argument on redeclaration makes this constructor a default constructor' 2014-04-24 21:13:35 -07:00
Dane Springmeyer
39737c5f1d Merge branch '2.3.x' of github.com:mapnik/mapnik
Conflicts:
	.travis.yml
	CHANGELOG.md
	bindings/python/build.py
	include/mapnik/feature_style_processor_context.hpp
	include/mapnik/feature_style_processor_impl.hpp
	include/mapnik/json/feature_collection_grammar.hpp
	include/mapnik/json/feature_collection_parser.hpp
	include/mapnik/json/feature_generator_grammar.hpp
	include/mapnik/json/feature_parser.hpp
	include/mapnik/json/geojson_generator.hpp
	include/mapnik/json/geometry_generator_grammar.hpp
	include/mapnik/json/geometry_parser.hpp
	plugins/input/gdal/gdal_featureset.cpp
	plugins/input/geojson/geojson_datasource.cpp
	plugins/input/occi/occi_featureset.cpp
	plugins/input/osm/osm_featureset.cpp
	plugins/input/postgis/build.py
	plugins/input/postgis/connection.hpp
	src/agg/agg_renderer.cpp
	src/build.py
	src/cairo_context.cpp
	src/datasource_cache.cpp
	src/grid/process_line_symbolizer.cpp
	src/grid/process_polygon_pattern_symbolizer.cpp
	src/grid/process_polygon_symbolizer.cpp
	src/grid/process_text_symbolizer.cpp
	src/json/feature_grammar.cpp
	tests/cpp_tests/fontset_runtime_test.cpp
	tests/visual_tests/images/collision-600-400-1.0-agg-reference.png
	tests/visual_tests/images/image-filters-multi-blur-512-512-1.0-agg-reference.png
	tests/visual_tests/images/image-filters-multi-blur-512-512-2.0-agg-reference.png
	tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-1.0-agg-reference.png
	tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-2.0-agg-reference.png
	tests/visual_tests/images/lines-1-400-400-2.0-agg-reference.png
	tests/visual_tests/images/lines-1-600-600-1.0-agg-reference.png
	tests/visual_tests/images/lines-1-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-2-200-200-1.0-agg-reference.png
	tests/visual_tests/images/lines-2-400-400-1.0-cairo-reference.png
	tests/visual_tests/images/lines-2-400-400-2.0-agg-reference.png
	tests/visual_tests/images/lines-2-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-2-800-800-2.0-agg-reference.png
	tests/visual_tests/images/lines-3-400-400-2.0-agg-reference.png
	tests/visual_tests/images/lines-3-600-600-1.0-agg-reference.png
	tests/visual_tests/images/lines-3-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-5-200-200-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-200-200-2.0-agg-reference.png
	tests/visual_tests/images/lines-5-400-400-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-400-400-2.0-agg-reference.png
	tests/visual_tests/images/lines-5-600-600-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-5-800-800-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-800-800-2.0-agg-reference.png
	tests/visual_tests/images/lines-6-200-200-1.0-agg-reference.png
	tests/visual_tests/images/lines-6-200-200-2.0-agg-reference.png
	tests/visual_tests/images/lines-6-400-400-1.0-agg-reference.png
	tests/visual_tests/images/lines-6-600-600-1.0-agg-reference.png
	tests/visual_tests/images/lines-6-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-6-800-800-1.0-agg-reference.png
	tests/visual_tests/images/lines-6-800-800-2.0-agg-reference.png
	tests/visual_tests/images/lines-shield-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-shield-600-600-2.0-cairo-reference.png
	tests/visual_tests/images/shield-on-polygon-600-400-1.0-agg-reference.png
	tests/visual_tests/images/shield-on-polygon-600-400-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-490-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-495-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-495-100-2.0-cairo-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-497-100-1.0-cairo-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-497-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-497-100-2.0-cairo-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-498-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-499-100-1.0-cairo-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-499-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-499-100-2.0-cairo-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-500-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-501-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-502-100-1.0-cairo-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-502-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-505-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-505-100-2.0-cairo-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-510-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-490-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-495-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-497-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-498-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-499-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-500-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-501-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-502-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-505-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-510-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-490-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-495-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-497-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-498-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-499-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-500-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-501-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-502-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-505-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-510-100-2.0-agg-reference.png
	tests/visual_tests/test.py
2014-04-24 14:50:55 -07:00
Dane Springmeyer
34771d20dd add newlines to avoid pedantic warnings 2014-04-24 12:53:08 -07:00
Dane Springmeyer
c4dbcf93bc fix version in code comment 2014-04-15 17:26:02 -04:00
Dane Springmeyer
d577b0814b remove uneeded asserts in png_io 2014-04-09 19:34:13 -04:00
Dane Springmeyer
cf784f5e29 restore agg polygon clipper 2014-04-09 00:28:18 -04:00
Dane Springmeyer
e94876ebe4 Merge pull request #2160 from MapQuest/expr-v2-group-symbolizer
Group Symbolizer
2014-04-03 11:52:21 -07:00
Dane Springmeyer
080b8e174c fixup c++ style in offset_converter 2014-03-18 17:31:15 -07:00
Dane Springmeyer
83ad5f5a25 fix a few g++-4.8 warnings on linux 2014-03-18 14:52:41 -07:00
Dane Springmeyer
cb3db66b82 std::make_unique 2014-03-10 21:34:48 -07:00
Dane Springmeyer
7d5e0f1f91 one step closer to expression support for line cap/join 2014-03-10 13:00:47 -07:00
Dane Springmeyer
91eda81699 pass string by const& 2014-03-10 13:00:14 -07:00
Dane Springmeyer
24aaa0a6de post merge cleanups 2014-03-10 10:47:43 -07:00
Dane Springmeyer
6433d9482e Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
Conflicts:
	include/mapnik/symbolizer.hpp
	src/agg/agg_renderer.cpp
	src/agg/process_line_pattern_symbolizer.cpp
	src/agg/process_line_symbolizer.cpp
	src/agg/process_polygon_pattern_symbolizer.cpp
	src/agg/process_polygon_symbolizer.cpp
	src/cairo_renderer.cpp
	src/feature_type_style.cpp
	src/grid/process_line_pattern_symbolizer.cpp
	src/grid/process_line_symbolizer.cpp
	src/grid/process_markers_symbolizer.cpp
	src/grid/process_polygon_pattern_symbolizer.cpp
	src/grid/process_polygon_symbolizer.cpp
2014-03-10 00:05:56 -07:00
Dane Springmeyer
dc8a13c44e rename a few variables to avoid likely clashes 2014-03-09 21:29:52 -07:00
Dane Springmeyer
21555b51c2 avoid double application of scale_factor - refs #1926 2014-02-27 13:28:25 -08:00
Dane Springmeyer
3dd05bd171 support scale_factor in geometry-transform translate and scale - refs #1926 2014-02-27 13:28:03 -08:00
Dane Springmeyer
b1cfe548b0 avoid double application of scale_factor - refs #1926 2014-02-27 13:20:58 -08:00
Dane Springmeyer
e49f63730e support scale_factor in geometry-transform translate and scale - refs #1926 2014-02-27 11:55:58 -08:00
Dane Springmeyer
277ae93d2c make inflated image for blurring opt-in via 'image-filters-inflate' option - refs #2165
Conflicts:
	src/agg/agg_renderer.cpp
2014-02-27 11:17:09 -08:00
Dane Springmeyer
4e957c9cac make inflated image for blurring opt-in via 'image-filters-inflate' option - refs #2165 2014-02-27 10:11:17 -08:00
Jordan Hollinger
533820c63f Merge branch 'expr-v2' of github.com:mapnik/mapnik into expr-v2-group-symbolizer
Conflicts:
	src/text/placement_finder.cpp
	tests/visual_tests/test.py
2014-02-25 14:21:51 -05:00
artemp
19c2b76e10 remove unused text_symbolizer.hpp/cpp 2014-02-25 14:25:23 +00:00
Jordan Hollinger
08ea56996a Add shield symbolizer support in group symbolizer processing.
Update some test cases to use ShieldSymbolizer instead of point and text.
2014-02-25 08:53:35 -05:00
artemp
ecc5acbdb9 attempt to handle multi-polygons in shape.input 2014-02-24 15:20:06 +00:00
artemp
7adb29bdd0 restore agg polygon clipper 2014-02-24 15:19:29 +00:00
Dane Springmeyer
14c02e76a7 Merge pull request #2138 from MapQuest/jmh-text-layouts
Multiple text layouts in text symbolizer
2014-02-18 17:59:56 -08:00
Jordan Hollinger
07dc6e37a2 Merge branch 'expr-v2' of github.com:mapnik/mapnik into expr-v2-group-symbolizer
Conflicts:
	include/mapnik/attribute_collector.hpp
2014-02-18 18:22:01 -05:00
Jordan Hollinger
bbd2cfd40f Grid renderer implementation for group symbolizer.
This uses common process_group_symbolizer for most of the work.
Add reference grids for visual tests.
2014-02-18 16:37:41 -05:00
Matt Amos
f81d5abe1f "Implement" group symbolizer for SVG renderer.
Note that the "implementation" for SVG renderer is the same as
for other symbolizers there - i.e: empty.
2014-02-18 15:54:32 -05:00
Matt Amos
7e25a220a8 Implement debug symbolizer for Cairo. Update tests for debug symbolizer.
Debug symbolizer is useful, and used in a bunch of tests. This
adds debug symbolizer support for Cairo to make it closer to the
capabilities of AGG.

Adding debug symbolizer for Cairo meant that red boxes appeared in
many of the visual test outputs. This commit replaces them with
the output, after visual inspection. They should now be closer to
the output of the AGG test cases.
2014-02-18 15:53:55 -05:00
Matt Amos
44e69e9b05 Cairo renderer implementation of group symbolizer.
This uses the renderer_common header to do most of the heavy
lifting, but otherwise is very similar to the AGG renderer
implementation.

Add cairo ref images for group symbolizer tests.
2014-02-18 15:45:11 -05:00
Jordan Hollinger
3d1c30db1e Extracted a lot of code from agg render process_group_symbolizer.
Move a lot of processing into a common process_group_symbolizer function.
Also, extract column collection out of process_group_symbolizer function.
This will reduce duplication needed for other renderers.
2014-02-18 15:06:40 -05:00
Jordan Hollinger
76329028d2 Find placements and render in process_group_symbolizer.
Create a group_symbolizer_helper for group placments, and extract some code from
text_symbolizer_helper into a base class to share with group_symbolizer_helper.
Also, move tolerance_iterator into its own header file. Use helper in
process_group_symbolizer to find placement positions.
2014-02-18 14:01:04 -05:00
Matt Amos
b85e7d0764 Added method to extract bounding boxes for symbolizers.
This is done by creating a fake 'virtual' environment at a fake
point and running the symbolizer render code. The actual render
is saved in a thunk for after the group layout has been done.
2014-02-18 11:11:06 -05:00
Jordan Hollinger
fbc2a0d1e3 Framework for group symbolizer.
This includes XML parsing of group symbolizer and related objects and
process_group_symbolizer method in the AGG renderer. This also includes
code to collect group symbolizer indexed columns, create sub features,
and match them to group rules.
2014-02-18 11:07:52 -05:00
Dane Springmeyer
b799395f6a remove unused code 2014-02-10 21:39:56 -08:00
Dane Springmeyer
913bcb44b3 c++11 2014-02-10 21:36:59 -08:00
Dane Springmeyer
c13448f75e collect attributes from all properties - closes #2153 2014-02-10 19:41:17 -08:00
artemp
5b286da889 c++ : style 2014-02-10 21:56:20 +00:00
Dane Springmeyer
7b75a24111 Merge pull request #2154 from mapnik/expr-v2-vt-conv-feature
Expr v2 vt conv feature
2014-02-10 10:44:19 -08:00
Jordan Hollinger
d8eda4898e Merge branch 'expr-v2' of github.com:mapnik/mapnik into jmh-text-layouts
Conflicts:
	tests/visual_tests/test.py
2014-02-10 07:38:25 -05:00
Dane Springmeyer
bcde6ae631 Merge branch 'master' of github.com:mapnik/mapnik into expr-v2 2014-02-09 13:27:24 -08:00
Dane Springmeyer
d99daff007 iwyu 2014-02-09 13:25:00 -08:00
Dane Springmeyer
89f72f02e8 pass feature to vertex_converters - refs #2148/#2140 2014-02-08 22:10:14 -08:00
Dane Springmeyer
c275d5512d consistently use mapnik value types 2014-02-07 22:41:50 -08:00
Dane Springmeyer
fa762ce971 now that we only support boost >= 1.47 we can remove older phoenix support 2014-02-07 22:36:33 -08:00
Jordan Hollinger
658d7e8888 Replace tabs with spaces. Remove unused method prototype. 2014-02-07 18:11:54 -05:00
Dane Springmeyer
d082732797 Merge pull request #2136 from MapQuest/mla-expr-v2-multi-line-text-alignment
Multi-line text alignment
2014-02-07 11:05:08 -08:00
Dane Springmeyer
88613fc2ec check filesystem before trying to open plugin + only report unique directories searched - closes #2131
Conflicts:
	src/datasource_cache.cpp
2014-02-06 17:08:38 -08:00
Dane Springmeyer
dcb87dd935 check filesystem before trying to open plugin + only report unique directories searched - closes #2131 2014-02-06 17:05:46 -08:00
Jordan Hollinger
6aa25090c0 Parse and support placement of multiple text layouts within a single text symbolizer. 2014-01-30 06:31:47 -05:00
Jordan Hollinger
269b038147 Extract text layout related properties (e.g. displacement, alignments) into seperate object from other placement related text symbolizer properties. 2014-01-30 06:01:57 -05:00
Dane Springmeyer
c86cf6e5f9 remove uneeded header 2014-01-29 10:42:28 -08:00
artemp
5416bd6c3a impl move ctor 2014-01-29 18:08:21 +00:00
artemp
4a2c5d84b7 make ImageData explicitly movable 2014-01-29 14:39:56 +00:00
artemp
5a1888a3b9 mapnik::color operator= 2014-01-29 09:56:44 +00:00
Dane Springmeyer
f286363ad0 more consistent memset/memcpy usage 2014-01-28 15:05:10 -08:00
Matt Amos
944f34b3df Fix unaligned multi-line labels.
This forces offset lines to be aligned to the closest point to
the anchor point on the original line, meaning that they are
aligned where the offset line and original run parallel, or nearly
so.
2014-01-28 20:33:42 +00:00
artemp
6ccaf8beb2 1. return by ref from operator=
2. provide operator= overload
2014-01-28 16:50:41 +00:00
artemp
9b08d1ba00 unify assignment op's 2014-01-28 16:49:52 +00:00
artemp
c6b96d2f36 remove vertex_type (unused) 2014-01-28 16:19:36 +00:00
artemp
1d8d5964d4 operator= overload 2014-01-28 16:18:47 +00:00
artemp
1aa6cafea1 remove noexcept - we can't guarantee noexcept in std::swap(a,b)
and

```c++
    static_assert( noexcept ( std::swap(*this,rhs)), "throwing swap");
```

would fail at compile time
2014-01-28 14:21:58 +00:00
artemp
322b378971 operator= using std::swap § 2014-01-28 10:57:26 +00:00
artemp
6f81c88f9a mapnik::Map - implement assignment-op in terms of swap 2014-01-28 09:58:47 +00:00
Dane Springmeyer
a602518a10 remove c++11 feature that should not be used in 2.3.x branch 2014-01-27 16:35:59 -08:00
Dane Springmeyer
a98de6a348 Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
Conflicts:
	include/mapnik/expression_grammar_impl.hpp
	src/expression.cpp
2014-01-27 13:56:36 -08:00
Dane Springmeyer
84166882d9 minimum boost version is 1.47 - remove obsolete code handling older versions 2014-01-27 13:19:21 -08:00
Dane Springmeyer
dec15c257b geometry envelope: calculate size once 2014-01-27 12:19:49 -08:00
Dane Springmeyer
c5aad93428 fix topojson compile and centralize confix workaround 2014-01-26 16:19:27 -08:00
Dane Springmeyer
63ea37b4c2 further no terminal port 2014-01-26 14:49:03 -08:00
Dane Springmeyer
cd24a7b877 Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
Conflicts:
	tests/cpp_tests/svg_renderer_tests/path_element_test.cpp
2014-01-26 14:12:03 -08:00
Dane Springmeyer
0fc7b8bc01 include <array> header for std::array 2014-01-26 13:45:29 -08:00
Dane Springmeyer
29e7b19007 boost::array -> std::array 2014-01-26 13:44:30 -08:00
Dane Springmeyer
8181aa9dec addLayer -> add_layer (change also coming in expr-v2 branch) 2014-01-26 13:41:30 -08:00
Dane Springmeyer
7520c15e86 Merge branch 'master' of github.com:mapnik/mapnik into expr-v2 2014-01-22 20:48:07 -08:00
Dane Springmeyer
328df74c13 correct include for std::min/max 2014-01-22 17:02:28 -08:00
Dane Springmeyer
3bd9e1b283 correct include for std::min/max 2014-01-22 17:01:38 -08:00
Dane Springmeyer
cdaa31aa5e Revert "branch 2.3.x from master at v2.2.0-242-ge85cdda"
This reverts commit 9e66317af1.
2014-01-20 14:39:28 -08:00
Dane Springmeyer
50f978777d remove uneeded include 2014-01-19 16:26:38 -08:00
Dane Springmeyer
2b08987903 Merge branch 'master' into expr-v2 2014-01-17 19:59:05 -08:00
artemp
3628b5f237 halo-transform initial impl 2014-01-17 11:47:18 +00:00
Dane Springmeyer
833cfb9827 Revert "branch 2.3.x from master at v2.2.0-242-ge85cdda"
This reverts commit 9e66317af1.
2014-01-09 12:39:35 -08:00
artemp
d9f289e4f2 Merge branch 'MapQuest-mla-expr-v2-renderer-common' into expr-v2 2014-01-07 16:05:56 +00:00
Matt Amos
fcbc727f63 scale_factor_ now in common_. 2014-01-07 16:00:11 +00:00
artemp
2884bd0443 fix : use 'template' keyword to treat 'set' as a dependent template name error (clang) 2014-01-07 15:52:28 +00:00
Matt Amos
6479785648 Merge remote-tracking branch 'upstream/expr-v2' into mla-expr-v2-renderer-common 2013-12-19 14:09:09 +00:00
Dane Springmeyer
e52b4ebf9a harfbuzz_shaper: just call hb_shape not hb_shape_full 2013-12-18 12:22:40 -05:00
artemp
5dae2999b1 symbolizers: set_property helper 2013-12-11 17:27:52 -05:00
artemp
f21152a6a9 register target type for symbolizer properties 2013-12-11 17:27:52 -05:00
artemp
d5a0537471 convert json value into symbolizer_base::value_type 2013-12-11 17:27:52 -05:00
artemp
7cf452da77 generic ``to_integral`` helper function (convert strongly typed enumeration values to underlying type) 2013-12-11 17:27:52 -05:00
artemp
b7dda95d84 move symbolizer to json into core
symbolizer json grammar (needs more work)
2013-12-10 15:51:07 -05:00
Matt Amos
5e13658cf9 Merge remote-tracking branch 'upstream/expr-v2' into mla-expr-v2-renderer-common 2013-12-10 11:47:36 +00:00
Matt Amos
ceaea9a948 Factored out common implementation of polygon symbolizer. 2013-12-09 20:42:00 +00:00
Dane Springmeyer
eca1c6e46b Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
Conflicts:
	src/load_map.cpp
2013-12-09 11:40:55 -08:00
Matt Amos
dd9584bdd6 Factored out markers symbolizer logic.
It's not ideal - there's still a bunch of "dispatch" objects from
which the common elements could be factored for greater
readability.
2013-12-09 18:50:00 +00:00
Dane Springmeyer
3376a2e1a0 avoid duplicate call to start_layer_processing
Conflicts:
	include/mapnik/feature_style_processor_impl.hpp
2013-12-07 15:11:26 -08:00
Dane Springmeyer
bead269923 avoid duplicate call to start_layer_processing 2013-12-07 15:09:35 -08:00
Matt Amos
f01953e8f7 Factored out common implementation of raster symbolizer. 2013-12-06 18:09:24 +00:00
Matt Amos
da5574d247 Factored out common implementation of point symbolizer. 2013-12-06 17:30:06 +00:00
Matt Amos
05982c4caf Factored out common code for building symbolizer.
There's a lot of code common between symbolizers which do things
like layout, setup, etc... So it seems sensible to extract the
common operations & loops into a single place which is
independent of the actual renderer.

I've started doing this with C++11 lambdas, although that might
not be the best implementation long term. Should be easy enough
to change, though.
2013-12-06 16:33:26 +00:00
Matt Amos
a9627f835b Factored common renderer code from SVG renderer. 2013-12-06 14:14:14 +00:00
artemp
fb63d51b37 add quoting for relevant types 2013-12-06 13:11:24 +00:00
Matt Amos
4f871d1fc7 Factored out common fields from grid renderer. 2013-12-05 19:34:32 +00:00
Matt Amos
ee018dc589 Factor common fields out of cairo renderer.
This involved making the freetype engine stack allocated and
accessible via a `shared_ptr` because `FT_Face` elements stored
in it are referenced from cairo structures which persist beyond
the lifetime of the `cairo_renderer` object.

Hopefully this can be resolved in a future commit.
2013-12-05 18:39:09 +00:00
artemp
7245a6f5bd symbolizer property value to string 2013-12-05 16:28:44 +00:00
artemp
7169e14d90 use constexpr to allow combining type traits 2013-12-05 16:26:42 +00:00
Matt Amos
a76e441174 Factored out common renderer fields.
The idea here is that much of the code in the renderers and the
various `process_*` rendering methods is shared, but this sharing
is obfuscated by the lack of sharing of renderer fields and
methods.

This is the first step in trying to factor out commonalities in
order to simplify the implementation of the renderers and make
them easier to understand and modify.
2013-12-05 16:21:55 +00:00
artemp
9945822cc7 make apply() static and disable copy ctor/assignment 2013-12-04 15:14:53 +00:00
artemp
7eb84ad1ab more meaningful error message 2013-12-04 15:09:45 +00:00
artemp
442ffbe911 expression grammar : allow '-' in @attribute
e.g ```@water-fill```
note: this might clash with subtraction ops (fixme)
2013-12-04 11:44:18 +00:00
artemp
1c490f5312 global attributes evaluator 2013-12-04 11:43:16 +00:00
artemp
72378c4c62 symbolizer hash initial impl 2013-12-03 09:10:15 +00:00
artemp
3d7cd37760 symbolizer : operator== impl 2013-12-02 16:49:23 +00:00
Matt Amos
d64b86dcdf Updated grid renderer for expr-v2 branch.
All the grid visual tests pass.

One small issue is that in the grid line pattern symbolizer it
constructs a 'fake' line symbolizer to re-use code (as the grid
renderer cares nothing for patterns), but doesn't pass the
offset parameter to it. The tests currently require this
behaviour, but they should probably be changed as it seems
incorrect.
2013-12-02 13:49:53 +00:00
artemp
b22eaa28a7 format : fix copy note 2013-12-02 11:00:42 +00:00
artemp
6705f01a8f expressions grammar : fix global attribute rule 2013-12-02 10:47:54 +00:00
artemp
eebc638d28 c++11 : add chrono based auto timer 2013-12-02 10:13:51 +00:00
Dane Springmeyer
a6d75ab9d0 fix wkt_multi_generator typedef - previously accidentally matched mapnik::geometry_container - bug spotted by @mojodna - refs #2098 2013-12-02 09:00:16 +00:00
Dane Springmeyer
523cb96e22 fix wkt_multi_generator typedef - previously accidentally matched mapnik::geometry_container - bug spotted by @mojodna - refs #2098 2013-11-30 16:55:25 -08:00
Dane Springmeyer
199b550e98 fix wkt_multi_generator typedef - previously accidentally matched mapnik::geometry_container - bug spotted by @mojodna - refs #2098 2013-11-30 16:53:39 -08:00
artemp
c98903b7a6 make Map equality comparable (work-in-progress) 2013-11-29 17:00:40 +00:00