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
qquickgenerator_p.h
Go to the documentation of this file.
1// Copyright (C) 2024 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 QQUICKGENERATOR_P_H
5#define QQUICKGENERATOR_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/qquickvectorimageglobal_p.h>
19#include <QtCore/qstring.h>
20
22
23class QSvgVisitorImpl;
24class QPainterPath;
25class QGradient;
26class QQuickShapePath;
27class QQuadPath;
28class QQuickItem;
29class QQuickShape;
30class QRectF;
31
32struct NodeInfo;
33struct ImageNodeInfo;
34struct PathNodeInfo;
35struct TextNodeInfo;
36struct UseNodeInfo;
38
39class Q_QUICKVECTORIMAGEGENERATOR_EXPORT QQuickGenerator
40{
41public:
42 QQuickGenerator(const QString fileName, QQuickVectorImageGenerator::GeneratorFlags flags);
43 virtual ~QQuickGenerator();
44
45 void setGeneratorFlags(QQuickVectorImageGenerator::GeneratorFlags flags);
46 QQuickVectorImageGenerator::GeneratorFlags generatorFlags();
47
48 void generate();
49
50protected:
51 virtual void generateNodeBase(const NodeInfo &info) = 0;
52 virtual bool generateDefsNode(const NodeInfo &info) = 0;
53 virtual void generateImageNode(const ImageNodeInfo &info) = 0;
54 virtual void generatePath(const PathNodeInfo &info) = 0;
55 virtual void generateNode(const NodeInfo &info) = 0;
56 virtual void generateTextNode(const TextNodeInfo &info) = 0;
57 virtual void generateUseNode(const UseNodeInfo &info) = 0;
59 virtual bool generateRootNode(const StructureNodeInfo &info) = 0;
60 virtual void outputShapePath(const PathNodeInfo &info, const QPainterPath *path, const QQuadPath *quadPath, QQuickVectorImageGenerator::PathSelector pathSelector, const QRectF &boundingRect) = 0;
61 void optimizePaths(const PathNodeInfo &info);
62 bool isNodeVisible(const NodeInfo &info);
63
64protected:
65 QQuickVectorImageGenerator::GeneratorFlags m_flags;
66
67private:
68 QString m_fileName;
69 QSvgVisitorImpl *m_loader;
70 friend class QSvgVisitorImpl;
71};
72
74
75#endif // QQUICKGENERATOR_P_H
\inmodule QtGui
Definition qbrush.h:135
\inmodule QtGui
virtual void generatePath(const PathNodeInfo &info)=0
virtual bool generateRootNode(const StructureNodeInfo &info)=0
virtual void outputShapePath(const PathNodeInfo &info, const QPainterPath *path, const QQuadPath *quadPath, QQuickVectorImageGenerator::PathSelector pathSelector, const QRectF &boundingRect)=0
virtual void generateNodeBase(const NodeInfo &info)=0
virtual bool generateStructureNode(const StructureNodeInfo &info)=0
QQuickVectorImageGenerator::GeneratorFlags m_flags
virtual void generateNode(const NodeInfo &info)=0
virtual bool generateDefsNode(const NodeInfo &info)=0
virtual void generateImageNode(const ImageNodeInfo &info)=0
virtual void generateTextNode(const TextNodeInfo &info)=0
virtual void generateUseNode(const UseNodeInfo &info)=0
The QQuickItem class provides the most basic of all visual items in \l {Qt Quick}.
Definition qquickitem.h:63
\inmodule QtCore\reentrant
Definition qrect.h:484
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
Combined button and popup list for selecting options.
GLbitfield flags
GLsizei const GLchar *const * path
static const QRectF boundingRect(const QPointF *points, int pointCount)
QHostInfo info
[0]