aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickspriteengine_p.h
diff options
context:
space:
mode:
authorAlan Alpert <alan.alpert@nokia.com>2012-01-18 11:48:30 +1000
committerQt by Nokia <qt-info@nokia.com>2012-01-27 06:17:54 +0100
commit7c9f6b7b8f2a1959ded34215d09e5a2e3dbaf0b7 (patch)
tree9efeb0d32df9742e77aeee71798d41388dfda498 /src/quick/items/qquickspriteengine_p.h
parent335aa328622523c17b36e676cb1aa37283ce8fda (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.h20
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