Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qsvgvisitor_p.h
Go to the documentation of this file.
1// Copyright (C) 2023 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5
6#ifndef QSVGVISITOR_P_H
7#define QSVGVISITOR_P_H
8
9//
10// W A R N I N G
11// -------------
12//
13// This file is not part of the Qt API. It exists purely as an
14// implementation detail. This header file may change from version to
15// version without notice, or even be removed.
16//
17// We mean it.
18//
19
20#include <private/qsvgdocument_p.h>
21#include <private/qsvghandler_p.h>
22#include <private/qsvggraphics_p.h>
23#include <private/qsvgstructure_p.h>
24#include <private/qsvganimate_p.h>
25#include <private/qsvgfilter_p.h>
26
28
30public:
31 virtual void traverse(const QSvgStructureNode *node);
32 virtual void traverse(const QSvgNode *node);
33
34 virtual ~QSvgVisitor() {}
35
36protected:
37 virtual void visitNode(const QSvgNode *) {}
38 virtual bool visitStructureNodeStart(const QSvgStructureNode *node) { visitNode(node); return true; }
39 virtual void visitStructureNodeEnd(const QSvgStructureNode *) {}
40 virtual void visitAnimateNode(const QSvgAnimateNode *node) { visitNode(node); }
41 virtual void visitEllipseNode(const QSvgEllipse *node) { visitNode(node); }
42 virtual void visitImageNode(const QSvgImage *node) { visitNode(node); }
43 virtual void visitLineNode(const QSvgLine *node) { visitNode(node); }
44 virtual void visitPathNode(const QSvgPath *node) { visitNode(node); }
45 virtual void visitPolygonNode(const QSvgPolygon *node) { visitNode(node); }
46 virtual void visitPolylineNode(const QSvgPolyline *node) { visitNode(node); }
47 virtual void visitRectNode(const QSvgRect *node) { visitNode(node); }
48 virtual void visitTextNode(const QSvgText *node) { visitNode(node); }
49 virtual void visitTspanNode(const QSvgTspan *node) { visitNode(node); }
50 virtual void visitUseNode(const QSvgUse *node) { visitNode(node); }
51 virtual void visitVideoNode(const QSvgVideo *node) { visitNode(node); }
52
53 virtual bool visitDocumentNodeStart(const QSvgDocument *node) { return visitStructureNodeStart(node); }
54 virtual void visitDocumentNodeEnd(const QSvgDocument *node) { visitStructureNodeEnd(node); }
55 virtual bool visitGroupNodeStart(const QSvgG *node) { return visitStructureNodeStart(node); }
56 virtual void visitGroupNodeEnd(const QSvgG *node) { visitStructureNodeEnd(node); }
57 virtual bool visitDefsNodeStart(const QSvgDefs *node) { return visitStructureNodeStart(node); }
58 virtual void visitDefsNodeEnd(const QSvgDefs *node) { visitStructureNodeEnd(node); }
59 virtual bool visitSwitchNodeStart(const QSvgSwitch *node) { return visitStructureNodeStart(node); }
60 virtual void visitSwitchNodeEnd(const QSvgSwitch *node) { visitStructureNodeEnd(node); }
61 virtual bool visitMaskNodeStart(const QSvgMask *node) { return visitStructureNodeStart(node); }
62 virtual void visitMaskNodeEnd(const QSvgMask *node) { visitStructureNodeEnd(node); }
63 virtual bool visitSymbolNodeStart(const QSvgSymbol *node) { return visitStructureNodeStart(node); }
64 virtual void visitSymbolNodeEnd(const QSvgSymbol *node) { visitStructureNodeEnd(node); }
65 virtual bool visitMarkerNodeStart(const QSvgMarker *) { return false; }
66 virtual void visitMarkerNodeEnd(const QSvgMarker *) { }
67 virtual bool visitPatternNodeStart(const QSvgPattern *) { return false; }
68 virtual void visitPatternNodeEnd(const QSvgPattern *) { }
69 virtual bool visitFilterNodeStart(const QSvgFilterContainer *node) { return visitStructureNodeStart(node); }
70 virtual void visitFilterNodeEnd(const QSvgFilterContainer *node) { visitStructureNodeEnd(node); }
71 virtual bool visitFeFilterPrimitiveNodeStart(const QSvgFeFilterPrimitive *node) { return visitStructureNodeStart(node); }
72 virtual void visitFeFilterPrimitiveNodeEnd(const QSvgFeFilterPrimitive *node) { visitStructureNodeEnd(node); }
73};
74
75QT_END_NAMESPACE
76
77#endif // QSVGVISITOR_P_H
bool visitStructureNodeStart(const QSvgStructureNode *node) override
Definition qsvgdebug.cpp:85
void visitLineNode(const QSvgLine *node) override
void visitStructureNodeEnd(const QSvgStructureNode *) override
Definition qsvgdebug.cpp:92
void visitAnimateNode(const QSvgAnimateNode *node) override
Definition qsvgdebug.cpp:98
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)
Definition qsvgdebug.cpp:45
void visitPolygonNode(const QSvgPolygon *node) override
void visitImageNode(const QSvgImage *node) override
void visitPolylineNode(const QSvgPolyline *node) override
void visitNode(const QSvgNode *) override
Definition qsvgdebug.cpp:79
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)
Definition qsvgdebug.cpp:34
static QT_BEGIN_NAMESPACE const char * nodeTypeStrings[]
Definition qsvgdebug.cpp:11