diff options
Diffstat (limited to 'src/quickvectorimage/qquickvectorimage_p.h')
-rw-r--r-- | src/quickvectorimage/qquickvectorimage_p.h | 37 |
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 |