diff options
author | Alan Alpert <alan.alpert@nokia.com> | 2012-01-18 11:48:30 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-27 06:17:54 +0100 |
commit | 7c9f6b7b8f2a1959ded34215d09e5a2e3dbaf0b7 (patch) | |
tree | 9efeb0d32df9742e77aeee71798d41388dfda498 /src/quick/items/qquickspriteengine_p.h | |
parent | 335aa328622523c17b36e676cb1aa37283ce8fda (diff) |
Implement randomStart for sprites
Most useful in the particle system, so that sprites aren't temporally
aligned at the start (ruining the random look).
Change-Id: I1cbf6c2187e412fcb8b31cab0d87bcde275c9281
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
Diffstat (limited to 'src/quick/items/qquickspriteengine_p.h')
-rw-r--r-- | src/quick/items/qquickspriteengine_p.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/quick/items/qquickspriteengine_p.h b/src/quick/items/qquickspriteengine_p.h index 7a147a2e88..6adab97430 100644 --- a/src/quick/items/qquickspriteengine_p.h +++ b/src/quick/items/qquickspriteengine_p.h @@ -61,6 +61,8 @@ class Q_AUTOTEST_EXPORT QQuickStochasticState : public QObject //Currently for i Q_OBJECT Q_PROPERTY(int duration READ duration WRITE setDuration NOTIFY durationChanged) Q_PROPERTY(int durationVariation READ durationVariation WRITE setDurationVariation NOTIFY durationVariationChanged) + //Note than manually advanced sprites need to query this variable and implement own behaviour for it + Q_PROPERTY(bool randomStart READ randomStart WRITE setRandomStart NOTIFY randomStartChanged) Q_PROPERTY(QVariantMap to READ to WRITE setTo NOTIFY toChanged) Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) @@ -68,6 +70,8 @@ public: QQuickStochasticState(QObject* parent = 0) : QObject(parent) , m_duration(1000) + , m_durationVariation(0) + , m_randomStart(false) { } @@ -99,6 +103,11 @@ public: - m_durationVariation); } + bool randomStart() const + { + return m_randomStart; + } + signals: void durationChanged(int arg); @@ -110,6 +119,8 @@ signals: void entered();//### Just playing around - don't expect full state API + void randomStartChanged(bool arg); + public slots: void setDuration(int arg) { @@ -143,6 +154,14 @@ public slots: } } + void setRandomStart(bool arg) + { + if (m_randomStart != arg) { + m_randomStart = arg; + emit randomStartChanged(arg); + } + } + private: QString m_name; QVariantMap m_to; @@ -150,6 +169,7 @@ private: int m_durationVariation; friend class QQuickStochasticEngine; + bool m_randomStart; }; class Q_AUTOTEST_EXPORT QQuickStochasticEngine : public QObject |