Commit graph

3645 commits

Author SHA1 Message Date
Dane Springmeyer
1ad3ae044b at workaround for throw_out_of_range_fmt 2017-11-09 10:07:26 -08:00
Artem Pavlenko
98c26bcae0 SVG parser - fix default gradient vector in linear gradient [0,0,1,0] + support units in offset attribute. 2017-11-06 12:39:50 +01:00
Artem Pavlenko
743c14d3ff add UDL via operator"" _case 2017-11-06 10:31:53 +01:00
Ben Harper
05849f0da5 Add new angled-point marker placement mode for lines
This adds a new mode called 'angled-point' to the marker-placement modes.
The full list of modes is then:
  point, angled-point, interior, line, vertex-first, vertex-last

Angled point is identical to point, except that when placing a marker on
a line, the marker's angle is taken from the angle of the line segment.

There is another possible use of the "angled-point" concept for polygons,
and that is for placing labels on stand (aka erf) polygons. By computing
a dominant angle for a mostly rectangular polygon, this can produce quite
good results. I'm not sure whether I should implement that now, or if I
could do that later.
2017-10-26 15:09:17 +02:00
talaj
8347778abb fix memory leak (#3775) 2017-10-06 09:27:58 +02:00
talaj
377253bcc8 Check duplicate style names (#3770)
* Ported map I/O tests from Python.

These test loading, saving and round-tripping Map XML, and are
pretty much a direct port of the old Python `load_map_test.py` and
`save_map_test.py`.

* check duplicate style name

* update test data
2017-09-28 15:51:55 +02:00
Artem Pavlenko
3d4963f40c move implementatio into *.cpp + return 'closest_point_result' struct. 2017-09-22 13:21:50 +02:00
talaj
d14203561d color font support improvements (#3758)
👍
2017-09-13 10:14:46 +01:00
Artem Pavlenko
01574e8038 update comment 2017-09-12 09:43:50 +01:00
Dane Springmeyer
4bc7ec73de fix spelling in svg parser error 2017-09-10 08:59:54 -07:00
artemp
a682cea51e svg-parser - unify error messages text + update unit test 2017-08-08 12:38:24 +01:00
artemp
6f73181e9b Enforce consistent error handling policy - always throw on fatal errors (both strict and non-strict). In strict mode throw on first parsing error. Remove return values from parse,parse_from_string and traverse_tree methods. Update unit tests. 2017-08-02 10:32:13 +01:00
artemp
a26723b4a5 add missing ' in error message. 2017-08-02 10:32:00 +01:00
Jiri Drbalek
a3247c8dce remove superfluous line 2017-07-07 20:44:15 +00:00
artemp
b164117d99 disable handling unsupported attributes (leaving only well-known unsupported elements) to reduce verbosity. 2017-07-07 10:09:08 +02:00
talaj
53249053e4 cairo renderer: clear map background with given color as agg renderer does (#3718) 2017-07-04 16:32:45 +02:00
talaj
d0ecd51b63 Set premultiplied flag to the color font glyph bitmap (#3716)
* color font bitmap is premultiplied

* update visual tests
2017-07-03 17:15:07 +02:00
artemp
71344f78df wkb_reader : pre-allocate number of polygons in multi_polygon and number of geometries in geometry_collection via vector.reserce(...) 2017-07-03 15:18:23 +02:00
artemp
1e8ec57593 add <image> and <switch> to unsupported elements. 2017-06-29 09:41:16 +02:00
artemp
47bfe7cb91 make unsupported elements/attributes arrays const. 2017-06-29 09:41:16 +02:00
artemp
5118220c4c handle "well-known" unsupported elements and attributes. 2017-06-29 09:41:16 +02:00
artemp
8f2961b9e2 svg_parser - implement preserveAspectRatio support (ref https://www.w3.org/TR/SVG/coords.html#PreserveAspectRatioAttribute) 2017-06-29 09:41:16 +02:00
artemp
3edcd4afa2 fix viewBox coordinate system logic + apply transform in <use> element 2017-06-29 09:41:16 +02:00
artemp
fafc751e42 svg_parser - add support for "href" preserving deprecated (since SVG 2) "xlink:href" 2017-06-29 09:41:16 +02:00
artemp
c2ad505899 fix method name 2017-06-29 09:41:16 +02:00
artemp
aae7253ba1 SVG parser - refactor to use switch where appropriate + experimental support for <symbol> 2017-06-29 09:41:16 +02:00
artemp
87abf93da3 move name_to_int into separate header for re-use. 2017-06-29 09:41:16 +02:00
artemp
2de8ce0eb7 svg_parser - don't log unsupported entities just yet (ref #763) 2017-06-29 09:41:16 +02:00
artemp
53a69463ea SVG parser - add support for <use> element (ref #763). 2017-06-29 09:41:16 +02:00
artemp
199a281627 remove debug stderr 2017-06-29 09:41:16 +02:00
artemp
ca4d140fb0 cleanup 2017-06-29 09:41:16 +02:00
artemp
b6aa45144c svg_parser - refactor => remove mutable temporary_gradient_ member variable + process stop elements from within linearGradient and radialGradient. 2017-06-29 09:41:16 +02:00
artemp
6da83bc986 svg_parser - store unresolved gradient nodes for deferred initalisation. 2017-06-29 09:41:16 +02:00
artemp
ef6c2e71b8 svg-parser : handle parsing failures via error_handler ( throw in strict mode and log+continue when strict==false) 2017-06-29 09:41:16 +02:00
artemp
e56233833e svg_parser - fix bug introduced in previous commit. 2017-06-29 09:41:16 +02:00
artemp
3f591af871 initial support for strict SVG parsing (WIP) 2017-06-29 09:41:16 +02:00
artemp
5aba57eb61 remove out-of-date comment line [skip ci] 2017-06-15 11:33:36 +02:00
artemp
3451d11b00 tiff_reader - fix num_rows logic in read_stripped method ref #3679 2017-06-12 17:55:24 +02:00
Jiri Drbalek
a734ff1e90 layers should be composited with zero offset 2017-06-02 15:32:00 +00:00
artemp
dfa8f100b2 freetype_engine - port singleton changes from v3.0.x 2017-06-01 12:47:18 +02:00
artemp
c61e85b875 unify namespace names 2017-05-23 18:49:25 +02:00
artemp
3a475517c0 TIFF I/O - use memory mapping in tiff_reader.cpp when MAPNIK_MEMORY_MAPPED_FILE is defined. 2017-05-22 16:29:22 +02:00
artemp
34a622f48e TIFF I/O - use memory mapping for file based I/O. 2017-05-22 13:07:42 +02:00
artemp
3c1be21162 tiff_reader - use image_reader_exception 2017-05-22 13:05:08 +02:00
artemp
12d6662009 TIFF I/O - read_tiled: remove std::swap_ranges and apply the same logic as in read_stripped. 2017-05-18 16:43:27 +02:00
artemp
4d8796dbd3 remove unused code 2017-05-18 15:23:22 +02:00
artemp
545bcb6585 remove bogus assert 2017-05-18 14:24:01 +02:00
artemp
cb7a3abfcb follow up fix for the bug reported by @flippmoke + fix return value check in TIFFReadRGBAStrip 2017-05-18 13:12:52 +02:00
Blake Thompson
efcb667f03 The last stripe of a tiff could be read incorrectly due to a swap 2017-05-17 17:06:40 -05:00
artemp
ef9b1025fa fix bug - use tile_width_ and tile_height_ + cleanup 2017-05-17 14:55:41 +02:00
artemp
1d95cad922 TIFF I/O - make read_stripped handle both RGBA and raw encoded strips (#3670) 2017-05-16 13:44:55 +02:00
artemp
e8cd4b9aef TIFF I/O : update and fix logic handling rgba vs grey scale. 2017-05-12 18:39:58 +02:00
artemp
e62bf6e18f TIFF I/O - use scanline to read stripped grey for now. 2017-05-12 15:55:46 +02:00
artemp
88fb137061 TIFF I/O - make read_tiled templated on ImageData ref #3669 #3670 (WIP) 2017-05-11 17:25:07 +02:00
artemp
db2eaf2e2b TIFF I/O : add support for interleaved data in void tiff_reader<T>::read_tiled(std::size_t x0,std::size_t y0, ImageData & image) ref #3669 #3670 2017-05-11 12:13:07 +02:00
artemp
1725b1ebba TIFF.input - port changes from https://github.com/mapnik/mapnik/pull/3668 (ref #3669) 2017-05-10 14:33:29 +02:00
artemp
77f849b136 TIFF I/O : add support for multiple bands in 'scanline reading method in read_any_gray` (partially fixes #3669)
(NOTE: we default to `scanline` even for `stripped` images, TODO add support as per #3670)
2017-05-10 13:21:51 +02:00
artemp
333ef9fde1 update copyright year 2017-05-05 13:02:01 +02:00
artemp
064b99168b geometry.hpp 2017-03-27 16:14:51 +01:00
artemp
fd36ac5279 Merge branch 'master' into geometry-refactor 2016-11-10 18:01:11 +01:00
Jiri Drbalek
0221cd36df take scale_factor into account when inflating buffer 2016-10-17 11:59:21 +00:00
Jiri Drbalek
b830469d2d multiply blur radius by scale_factor 2016-10-17 11:59:21 +00:00
artemp
8e0e344b72 Merge branch 'master' into geometry-refactor 2016-09-05 09:41:52 +01:00
Dane Springmeyer
fa44f0e247 Add memory_datasource test + fix returning of invalid_featureset for emptyset 2016-09-02 15:09:45 -07:00
artemp
38bff90a99 Merge branch 'master' into geometry-refactor 2016-09-01 16:06:20 +01:00
artemp
af099a57ef topojson grammar - change interface + instantiate with Iterator = char const* to reduce binary size 2016-08-31 17:42:18 +01:00
artemp
f360f50eed JSON - make generic_json a proper spirit grammar and reduce code bloat 2016-08-31 14:36:35 +01:00
Dane Springmeyer
f81583554a Merge branch 'master' of github.com:mapnik/mapnik into geometry-refactor 2016-08-22 16:19:17 -07:00
artemp
3788b2781e tiny format 2016-08-16 15:36:43 +01:00
artemp
31814b32d0 rename empty_featureset => invalid_featureset to avoid ambiguity + add helper is_valid method 2016-08-15 10:41:30 +01:00
artemp
aa77eb4550 Expressions - add more regex tests to cover #3483 2016-08-09 16:13:12 +01:00
Artem Pavlenko
b0cf57aa53 Merge pull request #3477 from mapycz/cairo-style-level-comp-op
Style level comp-op and opacity for Cairo renderer
2016-08-08 10:52:54 +01:00
Bas Couwenberg
2003415f09 Fix 'occured' typo, replace with 'occurred'. 2016-08-05 14:50:50 +02:00
Bas Couwenberg
388a8a7c4d Fix 'intialize' typo, replace with 'initialize'. 2016-08-05 14:49:45 +02:00
Jiri Drbalek
621a5e51ac style level comp-op and opacity for Cairo renderer 2016-08-03 20:14:56 +00:00
artemp
d3293f73e1 c++ format 2016-07-25 15:55:50 +02:00
Dane Springmeyer
7fc9dfe06b simplify visitor code in image_compositing 2016-07-25 14:51:45 +02:00
artemp
2864d90460 more explicit conversions to the target variant type 2016-07-25 13:45:35 +02:00
artemp
7fa35f481e Support creating paletted images for any number of pixels e.g < 3 (ref #3466) 2016-07-20 14:01:14 +02:00
artemp
7712f253c9 represent value_null as an empty string e.g "" (text rendering logic) 2016-07-20 12:39:55 +02:00
artemp
dc88582b4d Merge branch 'master' into geometry-refactor 2016-07-19 10:25:33 +01:00
artemp
3d0b109739 value_null - always represent as "null" 2016-07-15 12:22:53 +01:00
artemp
54d51e2728 Revert "feature_kv_iterator - change logic in 'increment' to skip key/value's when value doesn't exist"
This reverts commit 3397b8f14f.
2016-07-15 12:21:41 +01:00
artemp
3397b8f14f feature_kv_iterator - change logic in 'increment' to skip key/value's when value doesn't exist 2016-07-14 09:46:37 +01:00
artemp
bab985dd04 always return am empty featureset instead of featureset_ptr() 2016-07-13 15:17:51 +01:00
artemp
dc74551dc0 always return am empty featureset instead of featureset_ptr() 2016-07-13 15:16:33 +01:00
artemp
efabcc8081 make all mapnik::geometries aliases to mapbox::geometry and attempt to adapt new polygon model (one std::vector)
NOTE: some boost.geometry algorithms are broken as a result
2016-06-29 12:41:57 +01:00
artemp
19d376b7e6 make mapnik::geometry::point<T> an alias to mapbox::geometry::point 2016-06-27 09:45:37 +01:00
artemp
9dd00b28dc Merge remote-tracking branch 'origin/master' into geometry-refactor 2016-06-27 08:51:55 +01:00
artemp
7de7464caf tidy 2016-06-22 17:25:37 +01:00
artemp
2e8c0d36c2 implement custom char_array_bufrer and remove boost::iostreams dependency 2016-06-22 17:21:25 +01:00
artemp
67d2a0e141 Merge branch 'master' into geometry-refactor 2016-06-20 15:01:29 +01:00
Mickey Rose
217d18a996 use std::deque to store svg::path_attributes
- refs #3453
2016-06-16 22:34:24 +02:00
Joris Valette
7ca86b0947 Fix stroke-width size not included in markers ellipse bounding box 2016-06-03 11:12:14 +02:00
artemp
efdc90f699 fix building with BIGINT=no (NOTE: some tests will fail) 2016-05-26 17:23:53 +02:00
artemp
a24dfbf6a0 simplify logic a bit 2016-05-26 16:27:22 +02:00
artemp
081c003b0e c++ style 2016-05-26 16:27:22 +02:00
Artem Pavlenko
aec5949d5a Merge pull request #3416 from mapycz/scale-factor-improvements
Scale factor improvements
2016-05-18 15:05:04 +02:00
artemp
e596ffc1c2 don't instantiate types that are not used in core library 2016-05-03 18:33:06 +02:00
artemp
ff821c9239 geometry::envelope - deduct value_type of box2d<T> automatically + add missing typedefs 2016-05-03 18:02:42 +02:00