34static const char *
typeName(
const QSvgNode *node)
36 constexpr int typeNameCount =
sizeof(
nodeTypeStrings) /
sizeof(
const char *);
37 if (node->type() < typeNameCount)
46 void write(
const QSvgDocument *doc);
65 const char *indent() { m_indent.fill(
' ', m_indentLevel * 2);
return m_indent.constData();}
66 void handleBaseNode(
const QSvgNode *node);
68 int m_indentLevel = 0;
75 debug << indent() << typeName(node) <<
"node, ID:" << node->nodeId();
87 debug << indent() <<
"START node" << node->nodeId() <<
"type" << typeName(node) << node->type() << Qt::endl;
95 debug << indent() <<
"END node" << node->nodeId() << Qt::endl;
100 handleBaseNode(node);
106 handleBaseNode(node);
107 debug <<
"rect:" << node->rect() << Qt::endl;
112 handleBaseNode(node);
113 debug <<
"image:" << node->image() << Qt::endl;
118 handleBaseNode(node);
119 debug <<
"line:" << node->line() << Qt::endl;
124 handleBaseNode(node);
125 debug <<
"path:" << node->path().elementCount() <<
"elements." << Qt::endl;
130 handleBaseNode(node);
131 debug <<
"polygon:" << node->polygon().size() <<
"elements." << Qt::endl;
136 handleBaseNode(node);
137 debug <<
"polygon:" << node->polygon().size() <<
"elements." << Qt::endl;
142 handleBaseNode(node);
143 debug <<
"rect:" << node->rect() <<
"radius:" << node->radius() << Qt::endl;
148 handleBaseNode(node);
150 for (
const auto *tspan : node->tspans()) {
152 text += QStringLiteral(
"\\n");
154 text += tspan->text();
156 debug <<
"text:" << text << Qt::endl;
161 handleBaseNode(node);
162 debug <<
"link ID:" << node->linkId() << Qt::endl;
167 handleBaseNode(node);
173 debug <<
"SVG" << doc->size() <<
"viewBox" << doc->viewBox() << Qt::endl;
176 debug <<
"END SVG" << nodeCounter <<
"nodes";
bool visitStructureNodeStart(const QSvgStructureNode *node) override
void visitLineNode(const QSvgLine *node) override
void visitStructureNodeEnd(const QSvgStructureNode *) override
void visitAnimateNode(const QSvgAnimateNode *node) override
void visitPathNode(const QSvgPath *node) override
void write(const QSvgDocument *doc)
void visitEllipseNode(const QSvgEllipse *node) override
void visitRectNode(const QSvgRect *node) override
void visitVideoNode(const QSvgVideo *node) override
void visitTextNode(const QSvgText *node) override
SvgDebugVisitor(QDebug &stream)
void visitPolygonNode(const QSvgPolygon *node) override
void visitImageNode(const QSvgImage *node) override
void visitPolylineNode(const QSvgPolyline *node) override
void visitNode(const QSvgNode *) override
void visitUseNode(const QSvgUse *node) override
Combined button and popup list for selecting options.
QDebug operator<<(QDebug dbg, const QFileInfo &fi)
static const char * typeName(const QSvgNode *node)
static QT_BEGIN_NAMESPACE const char * nodeTypeStrings[]