aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickanimatedsprite_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items/qquickanimatedsprite_p.h')
-rw-r--r--src/quick/items/qquickanimatedsprite_p.h65
1 files changed, 20 insertions, 45 deletions
diff --git a/src/quick/items/qquickanimatedsprite_p.h b/src/quick/items/qquickanimatedsprite_p.h
index ff59591c9f..8f4c6ff7fc 100644
--- a/src/quick/items/qquickanimatedsprite_p.h
+++ b/src/quick/items/qquickanimatedsprite_p.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtQuick module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QQUICKANIMATEDSPRITE_P_H
#define QQUICKANIMATEDSPRITE_P_H
@@ -65,10 +29,9 @@ class QSGContext;
class QQuickSprite;
class QQuickSpriteEngine;
class QSGGeometryNode;
-class QQuickAnimatedSpriteMaterial;
class QQuickAnimatedSpritePrivate;
class QSGSpriteNode;
-class Q_AUTOTEST_EXPORT QQuickAnimatedSprite : public QQuickItem
+class Q_QUICK_EXPORT QQuickAnimatedSprite : public QQuickItem
{
Q_OBJECT
Q_PROPERTY(bool running READ running WRITE setRunning NOTIFY runningChanged)
@@ -92,6 +55,9 @@ class Q_AUTOTEST_EXPORT QQuickAnimatedSprite : public QQuickItem
Q_PROPERTY(int loops READ loops WRITE setLoops NOTIFY loopsChanged)
Q_PROPERTY(bool paused READ paused WRITE setPaused NOTIFY pausedChanged)
Q_PROPERTY(int currentFrame READ currentFrame WRITE setCurrentFrame NOTIFY currentFrameChanged)
+ Q_PROPERTY(FinishBehavior finishBehavior READ finishBehavior WRITE setFinishBehavior NOTIFY finishBehaviorChanged REVISION(2, 15))
+ QML_NAMED_ELEMENT(AnimatedSprite)
+ QML_ADDED_IN_VERSION(2, 0)
public:
explicit QQuickAnimatedSprite(QQuickItem *parent = nullptr);
@@ -100,6 +66,12 @@ public:
};
Q_ENUM(LoopParameters)
+ enum FinishBehavior {
+ FinishAtInitialFrame,
+ FinishAtFinalFrame
+ };
+ Q_ENUM(FinishBehavior)
+
bool running() const;
bool interpolate() const;
QUrl source() const;
@@ -115,6 +87,8 @@ public:
int loops() const;
bool paused() const;
int currentFrame() const;
+ FinishBehavior finishBehavior() const;
+ void setFinishBehavior(FinishBehavior arg);
Q_SIGNALS:
@@ -122,7 +96,7 @@ Q_SIGNALS:
void runningChanged(bool arg);
void interpolateChanged(bool arg);
- void sourceChanged(QUrl arg);
+ void sourceChanged(const QUrl &arg);
void reverseChanged(bool arg);
void frameSyncChanged(bool arg);
void frameCountChanged(int arg);
@@ -134,8 +108,9 @@ Q_SIGNALS:
void frameDurationChanged(int arg);
void loopsChanged(int arg);
void currentFrameChanged(int arg);
+ Q_REVISION(2, 15) void finishBehaviorChanged(FinishBehavior arg);
- Q_REVISION(12) void finished();
+ Q_REVISION(2, 12) void finished();
public Q_SLOTS:
void start();
@@ -148,7 +123,7 @@ public Q_SLOTS:
void setRunning(bool arg);
void setPaused(bool arg);
void setInterpolate(bool arg);
- void setSource(QUrl arg);
+ void setSource(const QUrl &arg);
void setReverse(bool arg);
void setFrameSync(bool arg);
void setFrameCount(int arg);
@@ -163,7 +138,6 @@ public Q_SLOTS:
void setLoops(int arg);
void setCurrentFrame(int arg);
-
private Q_SLOTS:
void createEngine();
@@ -173,6 +147,8 @@ protected Q_SLOTS:
protected:
void componentComplete() override;
QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *) override;
+ void itemChange(ItemChange, const ItemChangeData &) override;
+
private:
void maybeUpdate();
bool isCurrentFrameChangedConnected();
@@ -181,7 +157,6 @@ private:
QSGSpriteNode* initNode();
private:
- Q_DISABLE_COPY(QQuickAnimatedSprite)
Q_DECLARE_PRIVATE(QQuickAnimatedSprite)
};