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
30{
31 Q_DISABLE_COPY_MOVE(QSvgVisitor)
32public:
33 QSvgVisitor() = default;
34 virtual ~QSvgVisitor();
35
36 virtual void traverse(const QSvgStructureNode *node);
37 virtual void traverse(const QSvgNode *node);
38
39protected:
40 virtual void visitNode(const QSvgNode *) {}
41 virtual bool visitStructureNodeStart(const QSvgStructureNode *node) { visitNode(node); return true; }
42 virtual void visitStructureNodeEnd(const QSvgStructureNode *) {}
43 virtual void visitAnimateNode(const QSvgAnimateNode *node) { visitNode(node); }
44 virtual void visitEllipseNode(const QSvgEllipse *node) { visitNode(node); }
45 virtual void visitImageNode(const QSvgImage *node) { visitNode(node); }
46 virtual void visitLineNode(const QSvgLine *node) { visitNode(node); }
47 virtual void visitPathNode(const QSvgPath *node) { visitNode(node); }
48 virtual void visitPolygonNode(const QSvgPolygon *node) { visitNode(node); }
49 virtual void visitPolylineNode(const QSvgPolyline *node) { visitNode(node); }
50 virtual void visitRectNode(const QSvgRect *node) { visitNode(node); }
51 virtual void visitTextNode(const QSvgText *node) { visitNode(node); }
52 virtual void visitTspanNode(const QSvgTspan *node) { visitNode(node); }
53 virtual void visitUseNode(const QSvgUse *node) { visitNode(node); }
54 virtual void visitVideoNode(const QSvgVideo *node) { visitNode(node); }
55
56 virtual bool visitDocumentNodeStart(const QSvgDocument *node) { return visitStructureNodeStart(node); }
57 virtual void visitDocumentNodeEnd(const QSvgDocument *node) { visitStructureNodeEnd(node); }
58 virtual bool visitGroupNodeStart(const QSvgG *node) { return visitStructureNodeStart(node); }
59 virtual void visitGroupNodeEnd(const QSvgG *node) { visitStructureNodeEnd(node); }
60 virtual bool visitDefsNodeStart(const QSvgDefs *node) { return visitStructureNodeStart(node); }
61 virtual void visitDefsNodeEnd(const QSvgDefs *node) { visitStructureNodeEnd(node); }
62 virtual bool visitSwitchNodeStart(const QSvgSwitch *node) { return visitStructureNodeStart(node); }
63 virtual void visitSwitchNodeEnd(const QSvgSwitch *node) { visitStructureNodeEnd(node); }
64 virtual bool visitMaskNodeStart(const QSvgMask *node) { return visitStructureNodeStart(node); }
65 virtual void visitMaskNodeEnd(const QSvgMask *node) { visitStructureNodeEnd(node); }
66 virtual bool visitSymbolNodeStart(const QSvgSymbol *node) { return visitStructureNodeStart(node); }
67 virtual void visitSymbolNodeEnd(const QSvgSymbol *node) { visitStructureNodeEnd(node); }
68 virtual bool visitMarkerNodeStart(const QSvgMarker *) { return false; }
69 virtual void visitMarkerNodeEnd(const QSvgMarker *) { }
70 virtual bool visitPatternNodeStart(const QSvgPattern *) { return false; }
71 virtual void visitPatternNodeEnd(const QSvgPattern *) { }
72 virtual bool visitFilterNodeStart(const QSvgFilterContainer *node) { return visitStructureNodeStart(node); }
73 virtual void visitFilterNodeEnd(const QSvgFilterContainer *node) { visitStructureNodeEnd(node); }
74 virtual bool visitFeFilterPrimitiveNodeStart(const QSvgFeFilterPrimitive *node) { return visitStructureNodeStart(node); }
75 virtual void visitFeFilterPrimitiveNodeEnd(const QSvgFeFilterPrimitive *node) { visitStructureNodeEnd(node); }
76};
77
78QT_END_NAMESPACE
79
80#endif // QSVGVISITOR_P_H
virtual bool visitDefsNodeStart(const QSvgDefs *node)
virtual bool visitGroupNodeStart(const QSvgG *node)
virtual void visitPathNode(const QSvgPath *node)
virtual bool visitFeFilterPrimitiveNodeStart(const QSvgFeFilterPrimitive *node)
virtual void visitMarkerNodeEnd(const QSvgMarker *)
virtual void visitSwitchNodeEnd(const QSvgSwitch *node)
virtual void visitVideoNode(const QSvgVideo *node)
virtual void traverse(const QSvgStructureNode *node)
virtual void visitTspanNode(const QSvgTspan *node)
virtual bool visitStructureNodeStart(const QSvgStructureNode *node)
virtual void visitDocumentNodeEnd(const QSvgDocument *node)
virtual bool visitPatternNodeStart(const QSvgPattern *)
virtual bool visitMarkerNodeStart(const QSvgMarker *)
virtual void visitFeFilterPrimitiveNodeEnd(const QSvgFeFilterPrimitive *node)
virtual void visitTextNode(const QSvgText *node)
virtual void visitEllipseNode(const QSvgEllipse *node)
virtual void visitDefsNodeEnd(const QSvgDefs *node)
virtual bool visitFilterNodeStart(const QSvgFilterContainer *node)
virtual void visitPatternNodeEnd(const QSvgPattern *)
virtual void visitRectNode(const QSvgRect *node)
virtual bool visitDocumentNodeStart(const QSvgDocument *node)
virtual void visitStructureNodeEnd(const QSvgStructureNode *)
virtual void visitFilterNodeEnd(const QSvgFilterContainer *node)
virtual bool visitSymbolNodeStart(const QSvgSymbol *node)
virtual void visitPolylineNode(const QSvgPolyline *node)
virtual void visitSymbolNodeEnd(const QSvgSymbol *node)
virtual void visitImageNode(const QSvgImage *node)
virtual void visitUseNode(const QSvgUse *node)
virtual void visitGroupNodeEnd(const QSvgG *node)
virtual void visitMaskNodeEnd(const QSvgMask *node)
virtual bool visitSwitchNodeStart(const QSvgSwitch *node)
virtual void visitLineNode(const QSvgLine *node)
virtual void visitPolygonNode(const QSvgPolygon *node)
virtual void visitAnimateNode(const QSvgAnimateNode *node)
virtual bool visitMaskNodeStart(const QSvgMask *node)
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