diff options
author | Michael Brasser <michael.brasser@nokia.com> | 2012-01-25 14:43:07 +1000 |
---|---|---|
committer | Michael Brasser <michael.brasser@nokia.com> | 2012-01-25 14:43:07 +1000 |
commit | c3601a8db91bc777ea859d6a796dfab6a218675e (patch) | |
tree | d2a4f6c83bec3cddcce020966cccac72be3aa04a /src/quick/items/qquickspriteengine_p.h | |
parent | 35794301d188b731a7b596d92fc632fff58586c0 (diff) | |
parent | 149f6afe321ce59aebe4ce2f9dddd1881d0ac22b (diff) |
Merge branch 'master' into animation-refactorwip/animation-refactor
Conflicts:
tests/auto/declarative/declarative.pro
Change-Id: Ie339be2989fac553d351f3077869f1847367b504
Diffstat (limited to 'src/quick/items/qquickspriteengine_p.h')
-rw-r--r-- | src/quick/items/qquickspriteengine_p.h | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/quick/items/qquickspriteengine_p.h b/src/quick/items/qquickspriteengine_p.h index 86f8aadc8c..48ef6c305e 100644 --- a/src/quick/items/qquickspriteengine_p.h +++ b/src/quick/items/qquickspriteengine_p.h @@ -2,7 +2,7 @@ ** ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) +** Contact: http://www.qt-project.org/ ** ** This file is part of the Declarative module of the Qt Toolkit. ** @@ -102,9 +102,9 @@ public: int variedDuration() const { - return m_duration + return qMax(qreal(0.0) , m_duration + (m_durationVariance * ((qreal)qrand()/RAND_MAX) * 2) - - m_durationVariance; + - m_durationVariance); } int frames() const @@ -212,6 +212,8 @@ public: void setGoal(int state, int sprite=0, bool jump=false); void start(int index=0, int state=0); + virtual void restart(int index=0); + virtual void advance(int index=0);//Sends state to the next chosen state, unlike goal. void stop(int index=0); int curState(int index=0) {return m_things[index];} @@ -244,8 +246,8 @@ public slots: protected: friend class QQuickParticleSystem; - void restart(int index); void addToUpdateList(uint t, int idx); + int nextState(int curState, int idx=0); int goalSeek(int curState, int idx, int dist=-1); QList<QQuickStochasticState*> m_states; //### Consider struct or class for the four data variables? @@ -260,6 +262,7 @@ protected: QString m_globalGoal; int m_maxFrames; int m_imageStateCount; + bool m_addAdvance; }; class QQuickSpriteEngine : public QQuickStochasticEngine @@ -279,14 +282,18 @@ public: int spriteState(int sprite=0); int spriteStart(int sprite=0); int spriteFrames(int sprite=0); - int spriteDuration(int sprite=0); + int spriteDuration(int sprite=0);//Full duration, not per frame int spriteX(int /* sprite */ = 0) { return 0; }//Currently all rows are 0 aligned, if we get more space efficient we might change this int spriteY(int sprite=0); int spriteWidth(int sprite=0); int spriteHeight(int sprite=0); - int spriteCount();//Like state count, but for the image states + int spriteCount();//Like state count int maxFrames(); + QString realName(int sprite=0);//Gives the parent sprite name for pseudosprites QImage assembledImage(); + + virtual void restart(int index=0); + virtual void advance(int index=0); private: QList<QQuickSprite*> m_sprites; }; |