From 6d1a7750c5fa0d78c7fe35a7b7bff8934b86089d Mon Sep 17 00:00:00 2001 From: jaseg Date: Thu, 28 Jan 2021 23:15:36 +0100 Subject: Per-image vectorizer selection works --- src/svg_doc.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/svg_doc.cpp') diff --git a/src/svg_doc.cpp b/src/svg_doc.cpp index 5b36f35..39c5724 100644 --- a/src/svg_doc.cpp +++ b/src/svg_doc.cpp @@ -173,11 +173,16 @@ void gerbolyze::SVGDocument::export_svg_group(const RenderSettings &rset, const export_svg_path(rset, node, clip_path); } else if (name == "image") { - if (!rset.m_vec) + ImageVectorizer *vec = rset.m_vec_sel.select(node); + if (!vec) { + cerr << "Cannot resolve vectorizer for node \"" << node.attribute("id").value() << "\"" << endl; continue; + } double min_feature_size_px = mm_to_doc_units(rset.m_minimum_feature_size_mm); - rset.m_vec->vectorize_image(cr, node, clip_path, viewport_matrix, *polygon_sink, min_feature_size_px); + vec->vectorize_image(cr, node, clip_path, viewport_matrix, *polygon_sink, min_feature_size_px); + delete vec; + } else if (name == "defs") { /* ignore */ } else { -- cgit