aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickvectorimage/qquickvectorimage_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/quickvectorimage/qquickvectorimage_p.h')
-rw-r--r--src/quickvectorimage/qquickvectorimage_p.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/quickvectorimage/qquickvectorimage_p.h b/src/quickvectorimage/qquickvectorimage_p.h
index cce935d3ea..a997f2e8ba 100644
--- a/src/quickvectorimage/qquickvectorimage_p.h
+++ b/src/quickvectorimage/qquickvectorimage_p.h
@@ -16,11 +16,13 @@
//
#include <QQuickItem>
+#include <QtQuick/private/qquickanimation_p.h>
#include <QtQuickVectorImage/qtquickvectorimageexports.h>
QT_BEGIN_NAMESPACE
class QQuickVectorImagePrivate;
+class QQuickVectorImageAnimations;
class Q_QUICKVECTORIMAGE_EXPORT QQuickVectorImage : public QQuickItem
{
@@ -29,6 +31,7 @@ class Q_QUICKVECTORIMAGE_EXPORT QQuickVectorImage : public QQuickItem
Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
Q_PROPERTY(FillMode fillMode READ fillMode WRITE setFillMode NOTIFY fillModeChanged)
Q_PROPERTY(RendererType preferredRendererType READ preferredRendererType WRITE setPreferredRendererType NOTIFY preferredRendererTypeChanged)
+ Q_PROPERTY(QQuickVectorImageAnimations *animations READ animations CONSTANT REVISION(6, 10) FINAL)
QML_NAMED_ELEMENT(VectorImage)
public:
@@ -57,6 +60,8 @@ public:
RendererType preferredRendererType() const;
void setPreferredRendererType(RendererType newPreferredRendererType);
+ QQuickVectorImageAnimations *animations();
+
signals:
void sourceChanged();
void fillModeChanged();
@@ -65,12 +70,44 @@ signals:
private slots:
void updateSvgItemScale();
+ void updateAnimationProperties();
private:
Q_DISABLE_COPY(QQuickVectorImage)
Q_DECLARE_PRIVATE(QQuickVectorImage)
};
+class Q_QUICKVECTORIMAGE_EXPORT QQuickVectorImageAnimations : public QObject
+{
+ Q_OBJECT
+
+ Q_PROPERTY(int loops READ loops WRITE setLoops NOTIFY loopsChanged FINAL)
+ Q_PROPERTY(bool paused READ paused WRITE setPaused NOTIFY pausedChanged FINAL)
+
+ QML_ANONYMOUS
+ QML_ADDED_IN_VERSION(6, 10)
+public:
+ QQuickVectorImageAnimations(QObject *parent = nullptr) : QObject(parent) {}
+
+ int loops() const;
+
+ void setLoops(int loops);
+
+ bool paused() const;
+ void setPaused(bool paused);
+
+ Q_INVOKABLE void restart();
+
+Q_SIGNALS:
+ void loopsChanged();
+ void enabledChanged();
+ void pausedChanged();
+
+private:
+ int m_loops = 1;
+ bool m_paused = false;
+};
+
QT_END_NAMESPACE
#endif // QQUICKVECTORIMAGE_P_H