Commit graph

3686 commits

Author SHA1 Message Date
Artem Pavlenko
c5f3e6c654 no need to throw std::runtime_error as ellipsis catch (...) {} catches them all.
(TODO: consider having finer grained catches e.g expectation_failure)
2020-01-14 14:34:39 +00:00
Artem Pavlenko
cfa5809cd2 Make x3::rules declarations const 2019-11-25 10:36:34 +00:00
Artem Pavlenko
5482d8c7e2 Conditionally include <mapnik/image_filter_types.hpp> for BOOST_VERSION < 107000 2019-11-20 09:41:23 +00:00
Artem Pavlenko
9dac8dcc34 Only push new elements to parenStack when needed (via @lightmare) (ref #4096) 2019-11-18 08:45:03 +00:00
Artem Pavlenko
7003255c0e avoid negative indicies access to parenStack - thanks @talaj! (ref #4096) 2019-11-05 09:50:51 +00:00
Artem Pavlenko
33fac6d47d use std::vector to avoid limiting number of paired characters. 2019-11-04 13:59:23 +00:00
Artem Pavlenko
8aae32ec4c better syntax 2019-11-01 17:09:12 +00:00
Artem Pavlenko
1edd3b7a93 use & mask for array bounds clipping (provided array size is 2^n) 2019-11-01 16:16:57 +00:00
Artem Pavlenko
dec6bc0950 avoid potential out-of-bounds array access (undefined behaviour) + add c++ C-array size implementation 2019-11-01 13:06:21 +00:00
Artem Pavlenko
b60de49388 make sure boost 1_69 works too 2019-10-21 17:18:25 +01:00
Artem Pavlenko
0b4f3dc497 fix support for BOOST 1_71 2019-10-21 16:42:58 +01:00
Artem Pavlenko
05546b2053 add 'pattern' to unsupported elements + call handle_unsupported on end_element to catch them all + update unit tests 2019-08-08 11:50:31 +01:00
Artem Pavlenko
fa714f2a01 Merge branch 'libxml2-parse-huge' of https://github.com/tarvip/mapnik into tarvip-libxml2-parse-huge 2019-07-02 11:02:59 +01:00
Nikita Kniazev
c191e196c0 Replace MAPNIK_INIT_PRIORITY workaround
Spirit rules are just placeholders. They are cheap to construct and by doing
this static initialization order fiasco problem is effectively avoided.

Also had to fix name clash between geojson and generic json parsers.
2019-07-02 01:04:31 +03:00
Artem Pavlenko
e90a4fca7d add missing image scaling property meta type + replace to integer conversion with comparison operator in enumeration_wrapper + change order in value_base_type (ref #4045) 2019-06-12 09:40:10 +01:00
Jiri Drbalek
a74543a145 New raster colorizer modes linear-rgba and linear-bgra 2019-05-17 21:54:24 +02:00
Artem Pavlenko
201268334d Don't prefix MAPNIK_LOG_ERROR with redundant "SVG PARSING ERROR" 2019-05-14 10:48:21 +01:00
Artem Pavlenko
831e353c5d SVG parser: better stderr - don't assume fill/stroke ref is a <gradient>, can be a <pattern> also. 2019-05-14 10:30:26 +01:00
Artem Pavlenko
dc15e70f79 Skip parsing (currently unsupported) <pattern> elements 2019-05-14 10:20:14 +01:00
Artem Pavlenko
88f3b29a92 fix includes 2019-05-07 11:19:37 +01:00
Tarvi Pillessaar
ddf0f337c2 libxml2: add support for huge XMLs 2019-04-14 16:42:57 +03:00
Michael Holloway
918e1a3a90 Ditch rint
Removes all usages of rint from the codebase, in favor of the standard
rounding and casting formula used throughout the codebase:

  static_cast<int>(std::floor(<val> + .5))

Fixes #2392
2019-03-22 14:23:32 -04:00
Artem Pavlenko
b1185fc099
Merge pull request #4031 from mapycz/adaptive-smooth
[WIP] Adaptive smooth
2019-02-13 14:00:00 +00:00
Jiri Drbalek
2dde0eb257 Adaptive smooth 2019-02-09 15:24:12 +00:00
Jiri Drbalek
c2b1103cb6 Cairo: set version of SVG to 1.2 2019-02-08 12:32:01 +00:00
talaj
7dcf5ee082
Merge pull request #3989 from mapycz/fix-pattern-alignment
True global pattern alignment, fixed local alignment
2018-11-02 14:31:31 +01:00
Artem Pavlenko
da69fdf66b add "clipPath" to unsupported elements 2018-10-10 09:30:05 +01:00
Artem Pavlenko
982f156995 enable unsupported attributes handling + ignore/skip any elements inside <symbol> 2018-10-02 09:34:07 +01:00
Jiri Drbalek
776fa0d2f8 True global pattern alignment, fixed local alignment 2018-09-19 13:21:59 +00:00
Jiri Drbalek
692fc7f107 render_pattern() needs its own rasterizer 2018-09-19 08:33:24 +00:00
Jiri Drbalek
384158fa7c Polygon pattern on line geometries for Grid backend 2018-09-18 12:12:21 +00:00
Jiri Drbalek
d823378260 Polygon pattern on line geometries for Cairo backend 2018-09-18 12:12:21 +00:00
Jiri Drbalek
18c1a99604 Polygon pattern on line geometries for AGG backend 2018-09-18 12:12:21 +00:00
Jiri Drbalek
8b27aba0c4 Fix seams of mesh faces when warping transparent raster 2018-08-07 11:57:38 +00:00
Artem Pavlenko
af842a8bf9 Merge branch 'pi-is-wrong' of https://github.com/lightmare/mapnik into lightmare-pi-is-wrong 2018-07-30 10:40:51 +01:00
Jiri Drbalek
4a93209423 render building symbolizer rewrite
- make projection and view transforms first
- removed dependency on segment_t
- no need for sorting faces
2018-07-27 10:23:33 +00:00
Artem Pavlenko
65080e2a95 add support for BOOST_VERSION < 106700 2018-07-23 10:58:27 +01:00
Artem Pavlenko
4c31bd16d2 Merge branch 'master' into boost_1_67 2018-07-18 09:27:56 +01:00
Mickey Rose
68a7f5f63c proj_transform: fix strided coordinate array transform 2018-07-16 14:18:49 +02:00
Mickey Rose
f84191204e eradicate M_PI 2018-07-16 14:18:49 +02:00
Mickey Rose
32e7202223 well_known_srs: move implementation to .cpp
- add lonlat2merc, merc2lonlat overloads for single point
- add stride argument to overloads for coordinate arrays
- make all functions exported
- change static string constants to exported
- change static numeric constants to constexpr
- remove superfluous numeric constants
2018-07-16 14:18:32 +02:00
Mickey Rose
a0a2c78950 util/math: clamp, degrees, radians
Use common functions for degrees <-> radians conversions, except when
dealing with agg, where it makes sense to use available deg2rad/rad2deg
functions instead of including another header.
2018-07-13 12:34:25 +02:00
Mickey Rose
0a6e82e555 move src/math.cpp under src/util/ 2018-07-11 23:55:21 +02:00
Mickey Rose
7c4ccf0209 make util::normalize_angle reasonably fast on large values
Because it simply calculates the remainder after division by full turn,
it shouldn't take time proportional to the magnitude of its operand.
2018-07-11 23:14:23 +02:00
Mickey Rose
25f0ef09a5 use MAPNIK_VERSION_AT_LEAST for minimum-version check 2018-07-11 10:43:06 +02:00
Mickey Rose
947e424f56 proj_transform: fix bbox reprojection
- remove buggy calculate_bbox, use boost::geometry::envelope instead
- move helper envelope_points to anonymous namespace and make it always
  produce exactly the requested number of points, even if it's not
  evenly divisible by 4
2018-07-10 11:31:06 +02:00
Dane Springmeyer
434511ca3b fix to only throw in strict mode 2018-06-24 19:08:38 -07:00
Dane Springmeyer
7673bbe827 only throw on duplicate styles in strict mode 2018-06-24 10:19:33 -07:00
Raul Marin
8e11ef3fd7 Improve padding calculation 2018-06-06 18:39:15 +02:00
Artem Pavlenko
95d5fabad0 Merge branch 'master' into boost_1_67 2018-05-21 15:58:24 +01:00