Artem Pavlenko
1784c4f03e
Merge pull request #4123 from mapnik/svg-css
...
SVG: basic CSS support
2020-02-07 14:26:10 +00:00
Artem Pavlenko
d26fc722d5
Add SVG renderer unit test - both inline and css styled octocat result in identical image (ref PR #4123 )
2020-02-07 13:53:06 +00:00
Artem Pavlenko
8d73767949
css-parser-grammar: parse values into iterator_range via boost::spirit::x3::raw directive (no conversions) + cleanup
2020-02-06 11:23:02 +00:00
Artem Pavlenko
0d693b151d
svg2png: use svgBBOX() to calculate output PNG dimensions when no valif width or height (or viewBox) is specified.
2020-02-05 15:06:11 +00:00
Artem Pavlenko
c69e467ad0
SVG: basic CSS styles processor (TODO: fix inefficient and redundant value=>string=>value transformations)
2020-02-05 15:03:14 +00:00
Artem Pavlenko
2ddbff46d5
add bool css_style_ member variable to control CSS style processing.
2020-02-04 17:30:58 +00:00
Artem Pavlenko
cc9e8e3db3
add missing headers
2020-02-04 15:15:32 +00:00
Artem Pavlenko
27bf941211
SVG CSS: refactor unit value symbols table into separate header + add css_data member to svg_parser
2020-02-04 15:02:41 +00:00
Artem Pavlenko
b6e567d87c
SVG CSS: add basic parsing of <style> [C]DATA
2020-02-04 11:41:22 +00:00
Artem Pavlenko
4d54e81889
Use char const* as iterator type for CSS grammar
2020-02-04 11:40:52 +00:00
Artem Pavlenko
8a90551b63
SVG CSS - add <style> element handler
2020-02-04 11:25:35 +00:00
Artem Pavlenko
00b888c1ef
Add CSS parser grammar + move into separate include/css and src/css dirs.
2020-02-04 10:38:34 +00:00
Artem Pavlenko
3be9ce8fa0
Merge pull request #4122 from lightmare/prevent-duplicate-flags
...
scons: prevent duplication of linker flags
2020-01-30 20:02:12 +00:00
Mickey Rose
be017f1945
scons: prevent duplication of linker flags
2020-01-30 18:38:20 +01:00
Mickey Rose
6f4c15d077
scons: improve parsing CUSTOM_LDFLAGS
...
With the help of SCons.Environment.ParseFlags, split user-supplied
CUSTOM_LDFLAGS into appropriate option lists: LIBPATH, LIBS, etc.
Known non-linker options (like -Dx -I.) will be reported and ignored,
unrecognized options will be appended to LINKFLAGS.
2020-01-30 16:32:23 +00:00
Artem Pavlenko
3dee9b634f
Merge branch 'lightmare-fix-write_config'
2020-01-30 16:31:51 +00:00
Artem Pavlenko
82533b2f7a
Merge branch 'fix-write_config' of https://github.com/lightmare/mapnik into lightmare-fix-write_config
2020-01-30 16:31:21 +00:00
Artem Pavlenko
0636734f8f
Revert "move sparsehash out of mapnik dir"
...
This reverts commit 720fbc74a1
.
2020-01-30 15:14:37 +00:00
Mickey Rose
39202f5ac0
mapnik-config: fix substitution of environment variables
...
Simply calling str(val) doesn't work, because if the value happens to
be a SCons.Util.CLVar, it may contain not just plain strings, but also
tuples appended by SCons.Environment.ParseFlags.
For example "-isysroot /foo" becomes CLVar: [("-isysroot", "/foo")]
CLVar.__str__ supports only string elements, nothing else.
2020-01-30 15:15:14 +01:00
Artem Pavlenko
26d3084ead
Revert "scons: improve parsing CUSTOM_LDFLAGS" -- this change introduced env.ParseFlags
which broke mason/travis integration
...
This reverts commit a25f53e667
.
Revert "SCons.Util.CLVar: fix __str__ method to flatten tuples + revert "add print to debug travis (temp)""
This reverts commit 2e78959435
.
Revert "add print to debug travis (temp)"
This reverts commit 65dce899cb
.
ref #4120
2020-01-30 09:45:13 +00:00
Artem Pavlenko
2e78959435
SCons.Util.CLVar: fix __str__ method to flatten tuples + revert "add print to debug travis (temp)"
2020-01-29 22:11:11 +00:00
Artem Pavlenko
65dce899cb
add print to debug travis (temp)
2020-01-29 17:15:22 +00:00
Artem Pavlenko
b22d5d2fac
update and pin deps/mapbox to latest tags: protozero 1.6.8, variant 1.1.6, polylabel 1.0.3
2020-01-29 14:35:31 +00:00
Artem Pavlenko
720fbc74a1
move sparsehash out of mapnik dir
2020-01-29 14:16:47 +00:00
Artem Pavlenko
c7d29b826f
Add "darkslategray" and "rebeccapurple" named colors (ref: https://drafts.csswg.org/css-color/#typedef-color )
2020-01-24 15:26:10 +00:00
Artem Pavlenko
7e604ed8b0
Merge pull request #4113 from mapnik/svg-fixes
...
Svg fixes
2020-01-24 10:19:40 +00:00
Artem Pavlenko
ba4ad23af8
Update visual tests data
2020-01-23 16:12:55 +00:00
Artem Pavlenko
ed194a3c09
use std::round (ref: https://en.cppreference.com/w/cpp/numeric/math/round )
2020-01-23 15:48:16 +00:00
Artem Pavlenko
53f8c49620
SVG path parser : add Quadratic and Cubic Bezier curves tests.
2020-01-22 14:01:53 +00:00
Artem Pavlenko
d87cf7db48
re-use code [skip ci]
2020-01-22 13:40:33 +00:00
Artem Pavlenko
b6e9711add
Mark output image as premultiplied alpha
2020-01-22 10:49:10 +00:00
Artem Pavlenko
97e33ec8ca
Move 0.5 up/down rounding into rounding expression (via @lightmare 7f54e94748 (r369294323)
) (ref #4116 )
2020-01-22 10:45:15 +00:00
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