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
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
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
8a90551b63
SVG CSS - add <style> element handler
2020-02-04 11:25:35 +00: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
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
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
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
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
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
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
Artem Pavlenko
65080e2a95
add support for BOOST_VERSION < 106700
2018-07-23 10:58:27 +01:00
Artem Pavlenko
b7bdd08837
define BOOST_SPIRIT_INSTANTIATE_UNUSED once and re-use [skip-ci]
2018-04-18 14:18:40 +02:00
Artem Pavlenko
664d3508de
remove reference_wrapper usage when injecting attributes into grammar ( >= boost_1_67) [skip-ci]
2018-04-18 12:53:17 +02:00
Artem Pavlenko
ff31c6d6eb
SVG parser - add ignore_
member variable to allow skipping of unsupported elements, currently clipPath
( #3818 )
2018-01-09 15:19:52 +00:00
Artem Pavlenko
c29f944726
Merge branch 'fix-group-symbolizer-crash' of https://github.com/lightmare/mapnik into lightmare-fix-group-symbolizer-crash
2018-01-05 12:16:41 +00:00
Artem Pavlenko
43d7278352
Don't apply preserveAscpectRatio
logic logic if width
and height
expressed as % values ( #3812 )
2017-12-06 11:23:54 +01: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
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
artemp
b164117d99
disable handling unsupported attributes (leaving only well-known unsupported elements) to reduce verbosity.
2017-07-07 10:09:08 +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
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
333ef9fde1
update copyright year
2017-05-05 13:02:01 +02:00
artemp
ed648ced46
SVG transform - implement in terms of boost::spirit::x3
2016-12-23 16:32:05 +01:00
artemp
95cc560167
SVG points - implement using boost::spirit::x3 + refactor parse_rule
instantiations into separate *.cpp
2016-12-23 14:40:59 +01:00