32static const char *
typeName(
const QSvgNode *node)
34 constexpr int typeNameCount =
sizeof(
nodeTypeStrings) /
sizeof(
const char *);
35 if (node->type() < typeNameCount)
44 void write(
const QSvgTinyDocument *doc);
63 const char *indent() { m_indent.fill(
' ', m_indentLevel * 2);
return m_indent.constData();}
64 void handleBaseNode(
const QSvgNode *node);
66 int m_indentLevel = 0;
73 debug << indent() << typeName(node) <<
"node, ID:" << node->nodeId();
85 debug << indent() <<
"START node" << node->nodeId() <<
"type" << typeName(node) << node->type() << Qt::endl;
93 debug << indent() <<
"END node" << node->nodeId() << Qt::endl;
104 handleBaseNode(node);
105 debug <<
"rect:" << node->rect() << Qt::endl;
110 handleBaseNode(node);
111 debug <<
"image:" << node->image() << Qt::endl;
116 handleBaseNode(node);
117 debug <<
"line:" << node->line() << Qt::endl;
122 handleBaseNode(node);
123 debug <<
"path:" << node->path().elementCount() <<
"elements." << Qt::endl;
128 handleBaseNode(node);
129 debug <<
"polygon:" << node->polygon().size() <<
"elements." << Qt::endl;
134 handleBaseNode(node);
135 debug <<
"polygon:" << node->polygon().size() <<
"elements." << Qt::endl;
140 handleBaseNode(node);
141 debug <<
"rect:" << node->rect() <<
"radius:" << node->radius() << Qt::endl;
146 handleBaseNode(node);
148 for (
const auto *tspan : node->tspans()) {
150 text += QStringLiteral(
"\\n");
152 text += tspan->text();
154 debug <<
"text:" << text << Qt::endl;
159 handleBaseNode(node);
160 debug <<
"link ID:" << node->linkId() << Qt::endl;
165 handleBaseNode(node);
171 debug <<
"SVG" << doc->size() <<
"viewBox" << doc->viewBox() << Qt::endl;
174 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 visitEllipseNode(const QSvgEllipse *node) override
void visitRectNode(const QSvgRect *node) override
void write(const QSvgTinyDocument *doc)
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
QDebug operator<<(QDebug dbg, const QFileInfo &fi)
static const char * typeName(const QSvgNode *node)
static QT_BEGIN_NAMESPACE const char * nodeTypeStrings[]