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 QQUICKVECTORIMAGE_P_H
5#define QQUICKVECTORIMAGE_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 <QQuickItem>
19#include <QtQuickVectorImage/qtquickvectorimageexports.h>
20
21QT_BEGIN_NAMESPACE
22
23class QQuickVectorImagePrivate;
24
25class Q_QUICKVECTORIMAGE_EXPORT QQuickVectorImage : public QQuickItem
26{
27 Q_OBJECT
28
29 Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
30 Q_PROPERTY(FillMode fillMode READ fillMode WRITE setFillMode NOTIFY fillModeChanged)
31 Q_PROPERTY(RendererType preferredRendererType READ preferredRendererType WRITE setPreferredRendererType NOTIFY preferredRendererTypeChanged)
32 QML_NAMED_ELEMENT(VectorImage)
33
34public:
35 enum FillMode {
36 NoResize,
37 PreserveAspectFit,
38 PreserveAspectCrop,
39 Stretch
40 };
41 Q_ENUM(FillMode)
42
43 enum RendererType {
44 GeometryRenderer,
45 CurveRenderer
46 };
47 Q_ENUM(RendererType)
48
49 QQuickVectorImage(QQuickItem *parent = nullptr);
50
51 QUrl source() const;
52 void setSource(const QUrl &source);
53
54 FillMode fillMode() const;
55 void setFillMode(FillMode newFillMode);
56
57 RendererType preferredRendererType() const;
58 void setPreferredRendererType(RendererType newPreferredRendererType);
59
60signals:
61 void sourceChanged();
62 void fillModeChanged();
63
64 void preferredRendererTypeChanged();
65
66private slots:
67 void updateSvgItemScale();
68
69private:
70 Q_DISABLE_COPY(QQuickVectorImage)
71 Q_DECLARE_PRIVATE(QQuickVectorImage)
72};
73
74QT_END_NAMESPACE
75
76#endif // QQUICKVECTORIMAGE_P_H
77
78

Provided by KDAB

Privacy Policy
Learn Advanced QML with KDAB
Find out more

source code of qtdeclarative/src/quickvectorimage/qquickvectorimage_p.h