Commit graph

13221 commits

Author SHA1 Message Date
Artem Pavlenko
cab05f1f2c Only use reflection of the second control point on the previous command relative to the current point as first control point when both last and prev( NOTE: before last command in AGG logic!) are curve commands. This fixes long outstanding SVG rendering bug aka Octocat bug (ref #4115) 2020-01-21 15:49:00 +00:00
Artem Pavlenko
c30adf39c8 format 2020-01-21 15:48:32 +00:00
Artem Pavlenko
4276f01404 Init output image with transparent color and 255 alpha. 2020-01-21 15:12:18 +00:00
Artem Pavlenko
fe893134a5
Merge pull request #4114 from sebastic/libxml2
Use pkg-config for libxml2.
2020-01-21 15:09:08 +00:00
Bas Couwenberg
c4fda867c0 Use pkg-config for libxml2. 2020-01-21 15:13:09 +01:00
Artem Pavlenko
1a0b1a1e77 SVG parser: fix typo (stroke gradient was applied instead if fill gradient) 2020-01-21 11:01:36 +00:00
Artem Pavlenko
7f54e94748 Add support for scale-factor parameter - useful for debugging SVG issues (ref #4112) 2020-01-21 10:33:04 +00:00
Artem Pavlenko
4e26d2a7d6 Don't attempt to rasterize ARCs with very small sweep_angles, just resort to LINETO (#4112) 2020-01-21 10:30:29 +00:00
Artem Pavlenko
0420b13055 Fix typo in agg_bezier_arc initialisation. 2020-01-21 09:09:41 +00:00
Artem Pavlenko
60a33a9b8f use numeric parser for arc flags 2020-01-16 10:38:10 +00:00
Artem Pavlenko
44982cddc5 Update "Arcs 3" test for #222835e73a21fec3965b21685993b86a63f626b8 2020-01-14 21:05:41 +00:00
Artem Pavlenko
b4b5f393e3 Revert "no need to throw std::runtime_error as ellipsis catch (...) {} catches them all."
This reverts commit c5f3e6c654.
2020-01-14 15:20:25 +00:00
Artem Pavlenko
222835e73a Fix SVG path grammar - parse arc and sweep flags using special single digit parser, numeric int_ parser was over greedy and didn't handle compact notation produced by svgo (https://github.com/svg/svgo). 2020-01-14 14:38:10 +00:00
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
Mickey Rose
0bddff6977 bootstrap: simplify export_variables
Nameref attribute (local -n) is a Bash 4.3 feature, thus not available
on OSX with Bash 3.2.

And because we know the argument looks like a valid assignment, we can
pass it whole to export.
2020-01-03 15:38:48 +01:00
Mickey Rose
d38d16ade9 better tests for logical expressions
Two of the original checks were not testing what they were supposed to
test, because the result of eval didn't depend on correct parsing:

    eval("not true or not true")
    correct parse:      ((not true) or (not true)) == false
    incorrect parse:    (not (true or (not true))) == false

    eval("not false and not false")
    correct parse:      ((not false) and (not false)) == true
    incorrect parse:    (not (false and (not false))) == true
2020-01-02 17:30:24 +01:00
Mickey Rose
f19bd188c2 2to3 last remnants of Python 2 syntax 2019-12-31 12:39:57 +01:00
Artem Pavlenko
538eb20264
Merge pull request #4103 from mapnik/boost_1_72
Boost 1_72 support
2019-12-13 17:07:41 +00:00
Artem Pavlenko
59e5f50e26 Use boost::spirit::x3::standard::char_ parser 2019-12-13 17:04:54 +00:00
Artem Pavlenko
7f2c8b756a Use official colospace HSL/HSV converters from boost source tree (BOOST_VERSION > 1_69) 2019-12-13 17:02:31 +00:00
Artem Pavlenko
44198d1ac2 more const-ness 2019-11-27 16:16:09 +00:00
Artem Pavlenko
cfa5809cd2 Make x3::rules declarations const 2019-11-25 10:36:34 +00:00
Artem Pavlenko
94dd756669 Fix compiler warning 2019-11-20 09:43:31 +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
29069560a9 remove .circleci/config.yml (ref #4100) 2019-11-19 09:33:51 +00:00
Artem Pavlenko
6f6a0ed1ef
remove CircleCI badge
ref #4100
2019-11-19 09:25:15 +00:00
Artem Pavlenko
fc25053e8b Set initial STACK_SIZE to 16 (plenty), make it private static member var (ref #4096) 2019-11-18 09:59:26 +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
a5a24f0260 Revert "CircleCI fix" [skip ci]
This reverts commit 838c88b318.
2019-11-15 15:29:23 +00:00
Artem Pavlenko
838c88b318 CircleCI fix 2019-11-15 14:49:31 +00:00
Artem Pavlenko
77483e4266 Fix boost_regex compiled with ICU support check for BOOST_VERSION >= 1_70 2019-11-15 13:55:09 +00:00
Artem Pavlenko
e82c6e65fb
Merge pull request #4096 from mapnik/fix-out-of-bounds-array-access
avoid potential out-of-bounds array access (undefined behaviour)
2019-11-06 16:27:40 +00:00
Artem Pavlenko
bf6ce8dd8d attempting to fix circleci 2019-11-06 15:21:47 +00:00
Artem Pavlenko
9e82006314 make ScriptRun class visible 2019-11-06 15:08:30 +00:00
Artem Pavlenko
f33e318ac5 more compact test string initialisation via @talaj (#4096) 2019-11-05 10:55:16 +00:00
Artem Pavlenko
b84c414f2e Add unit test for 7003255c0e (#4096) 2019-11-05 09:53:41 +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
370f38a2c3 remove sanitize=bounds 2019-11-04 11:41:49 +00:00
Artem Pavlenko
f2732ed517 remove sanitize=bounds 2019-11-04 11:35:47 +00:00
Artem Pavlenko
e72803935a add ICU include 2019-11-04 11:22:41 +00:00
Artem Pavlenko
05d488f98d add script runs unit test 2019-11-04 10:47:35 +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
0842d0af6f
Merge pull request #4094 from mapnik/boost_1_71
Boost-1.71
2019-10-22 09:47:07 +01:00
Artem Pavlenko
c9da5cbd8e support for boost < 1.69 2019-10-21 18:21:51 +01: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
Mickey Rose
fdf60044c3 fix agg::pod_array and pod_vector move constructors
These were added with #4031, and probably not used in the end, as Mapnik
compiles and all tests pass without them. However, they might be useful,
so I'm only removing bad calls to deallocate with uninitialized values,
and doing proper member initialization.
2019-09-22 23:29:13 +02:00