aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Alpert <alan.alpert@nokia.com>2011-04-27 11:19:24 +1000
committerAlan Alpert <alan.alpert@nokia.com>2011-04-28 09:53:07 +1000
commit2b92c8c08f0e17b73bf3a00f416c679ecbf3fca5 (patch)
tree18f72c7b322122639413931d66ec755cdaffc662
parentf837a2885465a2381f6cda137fefec34d44fa132 (diff)
Update particles to use QElapsedTimer
Step one of fixing the limited lifetime bug. As this step should also increase the lifetime 'a lot' step two may take a while. Change-Id: I87bbe762803451f751e23d4bf8559c662fdf57a3 (cherry picked from commit 9cf15c135373f8190bf2cb62f9f99890cacf7d88)
-rw-r--r--src/imports/particles/coloredparticle.cpp2
-rw-r--r--src/imports/particles/deformableparticle.cpp2
-rw-r--r--src/imports/particles/modelparticle.cpp2
-rw-r--r--src/imports/particles/particlesystem.cpp2
-rw-r--r--src/imports/particles/particlesystem.h10
-rw-r--r--src/imports/particles/spriteparticle.cpp2
-rw-r--r--src/imports/particles/spriteparticle.h1
7 files changed, 10 insertions, 11 deletions
diff --git a/src/imports/particles/coloredparticle.cpp b/src/imports/particles/coloredparticle.cpp
index 7d0ec4cb0a..449c6b24fc 100644
--- a/src/imports/particles/coloredparticle.cpp
+++ b/src/imports/particles/coloredparticle.cpp
@@ -466,7 +466,7 @@ void ColoredParticle::prepareNextFrame()
if(m_node == 0)
return;
}
- uint timeStamp = m_system->systemSync(this);
+ qint64 timeStamp = m_system->systemSync(this);
qreal time = timeStamp / 1000.;
m_material->timestamp = time;
diff --git a/src/imports/particles/deformableparticle.cpp b/src/imports/particles/deformableparticle.cpp
index 69de693f09..176ef2b238 100644
--- a/src/imports/particles/deformableparticle.cpp
+++ b/src/imports/particles/deformableparticle.cpp
@@ -364,7 +364,7 @@ void DeformableParticle::prepareNextFrame()
if(m_node == 0)
return;
}
- uint timeStamp = m_system->systemSync(this);
+ qint64 timeStamp = m_system->systemSync(this);
qreal time = timeStamp / 1000.;
m_material->timestamp = time;
diff --git a/src/imports/particles/modelparticle.cpp b/src/imports/particles/modelparticle.cpp
index d1034a4c81..0d9b5dd8fb 100644
--- a/src/imports/particles/modelparticle.cpp
+++ b/src/imports/particles/modelparticle.cpp
@@ -230,7 +230,7 @@ QSGNode* ModelParticle::updatePaintNode(QSGNode* n, UpdatePaintNodeData* d)
void ModelParticle::prepareNextFrame()
{
- uint timeStamp = m_system->systemSync(this);
+ qint64 timeStamp = m_system->systemSync(this);
qreal curT = timeStamp/1000.0;
qreal dt = curT - m_lastT;
m_lastT = curT;
diff --git a/src/imports/particles/particlesystem.cpp b/src/imports/particles/particlesystem.cpp
index 1cb7d110ee..571d33cb54 100644
--- a/src/imports/particles/particlesystem.cpp
+++ b/src/imports/particles/particlesystem.cpp
@@ -252,7 +252,7 @@ void ParticleSystem::emitParticle(ParticleData* pd)
-uint ParticleSystem::systemSync(ParticleType* p)
+qint64 ParticleSystem::systemSync(ParticleType* p)
{
if (!m_running)
return 0;
diff --git a/src/imports/particles/particlesystem.h b/src/imports/particles/particlesystem.h
index 36ac8ed81d..896f215bfc 100644
--- a/src/imports/particles/particlesystem.h
+++ b/src/imports/particles/particlesystem.h
@@ -43,7 +43,7 @@
#define PARTICLESYSTEM_H
#include <QSGItem>
-#include <QTime>
+#include <QElapsedTimer>
#include <QVector>
#include <QHash>
#include <QPointer>
@@ -126,13 +126,13 @@ private slots:
public://but only really for related class usage. Perhaps we should all be friends?
void emitParticle(ParticleData* p);
ParticleData* newDatum(int groupId);
- uint systemSync(ParticleType* p);
- QTime m_timestamp;
+ qint64 systemSync(ParticleType* p);
+ QElapsedTimer m_timestamp;
QVector<ParticleData*> m_data;
QSet<ParticleData*> m_needsReset;
QHash<QString, int> m_groupIds;
QHash<int, GroupData*> m_groupData;//id, size, start
- uint m_timeInt;
+ qint64 m_timeInt;
bool m_initialized;
void registerParticleType(ParticleType* p);
@@ -151,7 +151,7 @@ private:
QList<QPointer<ParticleAffector> > m_affectors;
QList<QPointer<ParticleType> > m_particles;
QList<QPointer<ParticleType> > m_syncList;
- int m_startTime;
+ qint64 m_startTime;
int m_nextGroupId;
bool m_overwrite;
};
diff --git a/src/imports/particles/spriteparticle.cpp b/src/imports/particles/spriteparticle.cpp
index dcd8f4a89b..84f2db0e7f 100644
--- a/src/imports/particles/spriteparticle.cpp
+++ b/src/imports/particles/spriteparticle.cpp
@@ -419,7 +419,7 @@ void SpriteParticle::prepareNextFrame()
if(m_node == 0)
return;
}
- uint timeStamp = m_system->systemSync(this);
+ qint64 timeStamp = m_system->systemSync(this);
qreal time = timeStamp / 1000.;
diff --git a/src/imports/particles/spriteparticle.h b/src/imports/particles/spriteparticle.h
index ed861f5c5e..f28d198600 100644
--- a/src/imports/particles/spriteparticle.h
+++ b/src/imports/particles/spriteparticle.h
@@ -85,7 +85,6 @@ private:
int m_particle_duration;
int m_last_particle;
- QTime m_timestamp;
QList<SpriteState*> m_sprites;
SpriteEngine* m_spriteEngine;