Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
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
4#ifndef QSVGVISITOR_P_H
5#define QSVGVISITOR_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <private/qsvgtinydocument_p.h>
19#include <private/qsvghandler_p.h>
20#include <private/qsvggraphics_p.h>
21#include <private/qsvgstructure_p.h>
22
24
25class Q_SVG_EXPORT QSvgVisitor {
26public:
27 void traverse(const QSvgStructureNode *node);
28 void traverse(const QSvgNode *node);
29
30 virtual ~QSvgVisitor() {}
31
32protected:
33 virtual void visitNode(const QSvgNode *) {}
34 virtual bool visitStructureNodeStart(const QSvgStructureNode *node) { visitNode(node); return true; }
36 virtual void visitAnimationNode(const QSvgAnimation *node) { visitNode(node); }
37 virtual void visitEllipseNode(const QSvgEllipse *node) { visitNode(node); }
38 virtual void visitImageNode(const QSvgImage *node) { visitNode(node); }
39 virtual void visitLineNode(const QSvgLine *node) { visitNode(node); }
40 virtual void visitPathNode(const QSvgPath *node) { visitNode(node); }
41 virtual void visitPolygonNode(const QSvgPolygon *node) { visitNode(node); }
42 virtual void visitPolylineNode(const QSvgPolyline *node) { visitNode(node); }
43 virtual void visitRectNode(const QSvgRect *node) { visitNode(node); }
44 virtual void visitTextNode(const QSvgText *node) { visitNode(node); }
45 virtual void visitTspanNode(const QSvgTspan *node) { visitNode(node); }
46 virtual void visitUseNode(const QSvgUse *node) { visitNode(node); }
47 virtual void visitVideoNode(const QSvgVideo *node) { visitNode(node); }
48
49 virtual bool visitDocumentNodeStart(const QSvgTinyDocument *node) { return visitStructureNodeStart(node); }
50 virtual void visitDocumentNodeEnd(const QSvgTinyDocument *node) { visitStructureNodeEnd(node); }
51 virtual bool visitGroupNodeStart(const QSvgG *node) { return visitStructureNodeStart(node); }
52 virtual void visitGroupNodeEnd(const QSvgG *node) { visitStructureNodeEnd(node); }
53 virtual bool visitDefsNodeStart(const QSvgDefs *node) { return visitStructureNodeStart(node); }
54 virtual void visitDefsNodeEnd(const QSvgDefs *node) { visitStructureNodeEnd(node); };
55 virtual bool visitSwitchNodeStart(const QSvgSwitch *node) { return visitStructureNodeStart(node); }
56 virtual void visitSwitchNodeEnd(const QSvgSwitch *node) { visitStructureNodeEnd(node); };
57 virtual bool visitMaskNodeStart(const QSvgMask *node) { return visitStructureNodeStart(node); }
58 virtual void visitMaskNodeEnd(const QSvgMask *node) { visitStructureNodeEnd(node); }
59};
60
62
63#endif // QSVGVISITOR_P_H
virtual bool visitDefsNodeStart(const QSvgDefs *node)
virtual ~QSvgVisitor()
virtual bool visitGroupNodeStart(const QSvgG *node)
virtual void visitPathNode(const QSvgPath *node)
virtual void visitSwitchNodeEnd(const QSvgSwitch *node)
virtual void visitVideoNode(const QSvgVideo *node)
virtual void visitAnimationNode(const QSvgAnimation *node)
virtual void visitTspanNode(const QSvgTspan *node)
virtual void visitNode(const QSvgNode *)
virtual bool visitStructureNodeStart(const QSvgStructureNode *node)
virtual void visitDocumentNodeEnd(const QSvgTinyDocument *node)
virtual void visitTextNode(const QSvgText *node)
virtual void visitEllipseNode(const QSvgEllipse *node)
virtual void visitDefsNodeEnd(const QSvgDefs *node)
virtual void visitRectNode(const QSvgRect *node)
virtual void visitStructureNodeEnd(const QSvgStructureNode *)
virtual void visitPolylineNode(const QSvgPolyline *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 bool visitDocumentNodeStart(const QSvgTinyDocument *node)
virtual void visitPolygonNode(const QSvgPolygon *node)
virtual bool visitMaskNodeStart(const QSvgMask *node)
Combined button and popup list for selecting options.
static void traverse(QWingedEdge &list, int edge, QPathEdge::Traversal traversal)