From fae8532b05b8c3cd79cd09a6b1986bc8ff9ad306 Mon Sep 17 00:00:00 2001 From: jaseg Date: Wed, 18 Aug 2021 21:28:58 +0200 Subject: svg-flatten: Fix include/exclude logic --- svg-flatten/include/gerbolyze.hpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'svg-flatten/include') diff --git a/svg-flatten/include/gerbolyze.hpp b/svg-flatten/include/gerbolyze.hpp index 2c21173..9311a98 100644 --- a/svg-flatten/include/gerbolyze.hpp +++ b/svg-flatten/include/gerbolyze.hpp @@ -143,15 +143,15 @@ namespace gerbolyze { class ElementSelector { public: - virtual bool match(const pugi::xml_node &node, bool included, bool is_root) const { - (void) node, (void) included, (void) is_root; + virtual bool match(const pugi::xml_node &node, bool is_toplevel, bool parent_include) const { + (void) node, (void) is_toplevel, (void) parent_include; return true; } }; class IDElementSelector : public ElementSelector { public: - virtual bool match(const pugi::xml_node &node, bool included, bool is_root) const; + virtual bool match(const pugi::xml_node &node, bool is_toplevel, bool parent_include) const; std::vector include; std::vector exclude; @@ -196,7 +196,8 @@ namespace gerbolyze { xform2d transform); RenderContext(RenderContext &parent, xform2d transform, - ClipperLib::Paths &clip); + ClipperLib::Paths &clip, + bool included); PolygonSink &sink() { return m_sink; } const ElementSelector &sel() { return m_sel; } @@ -209,7 +210,7 @@ namespace gerbolyze { m_mat.transform(transform); } bool match(const pugi::xml_node &node) { - return m_sel.match(node, m_included, m_root); + return m_sel.match(node, m_root, m_included); } private: -- cgit