Just removing overly defensive programming and unused variables.
Change-Id: I1ffe7a5bd46375f74a8e71e7710d29bc1de02b7d
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
void QQuickImageParticle::clearShadows()
{
- m_shadowInit = false;
foreach (const QVector<QQuickParticleData*> data, m_shadowData)
qDeleteAll(data);
m_shadowData.clear();
qreal colorVariation() const { return m_color_variation; }
void setColorVariation(qreal var);
- qreal renderOpacity() const { return m_render_opacity; }
-
qreal alphaVariation() const { return m_alphaVariation; }
qreal alpha() const { return m_alpha; }
void colorChanged();
void colorVariationChanged();
- void particleDurationChanged();
void alphaVariationChanged(qreal arg);
void alphaChanged(qreal arg);
QColor m_color;
qreal m_color_variation;
- qreal m_particleDuration;
QSGGeometryNode *m_rootNode;
QHash<int, QSGGeometryNode *> m_nodes;
// derived values...
- qreal m_render_opacity;
qreal m_alphaVariation;
qreal m_alpha;
qreal m_redVariation;
bool m_explicitDeformation;
bool m_explicitAnimation;
QHash<int, QVector<QQuickParticleData*> > m_shadowData;
- bool m_shadowInit;
void clearShadows();
QQuickParticleData* getShadowDatum(QQuickParticleData* datum);
*/
QQuickParticlePainter::QQuickParticlePainter(QQuickItem *parent) :
QQuickItem(parent),
- m_system(0), m_count(0), m_pleaseReset(true), m_sentinel(new QQuickParticleData(0))
+ m_system(0), m_count(0), m_pleaseReset(true)
{
}
QPointF m_systemOffset;
private:
- QQuickParticleData* m_sentinel;
QSet<QPair<int,int> > m_pendingCommits;
- //QVector<QQuickParticleData*> m_shadowData;//For when we implement overwrite: false
};
QT_END_NAMESPACE
dt = time - dt;
needsReset.clear();
+ m_emitters.removeAll(0);
+ m_painters.removeAll(0);
+ m_affectors.removeAll(0);
+
bool oldClear = m_empty;
m_empty = true;
foreach (QQuickParticleGroupData* gd, groupData)//Recycle all groups and see if they're out of live particles
stateEngine->updateSprites(timeInt);
foreach (QQuickParticleEmitter* emitter, m_emitters)
- if (emitter)
- emitter->emitWindow(timeInt);
+ emitter->emitWindow(timeInt);
foreach (QQuickParticleAffector* a, m_affectors)
- if (a)
- a->affectSystem(dt);
+ a->affectSystem(dt);
foreach (QQuickParticleData* d, needsReset)
foreach (QQuickParticlePainter* p, groupData[d->group]->painters)
- if (p && d)
- p->reload(d);
+ p->reload(d);
if (oldClear != m_empty)
emptyChanged(m_empty);
void setSize(int newSize);
int index;
- QSet<QQuickParticlePainter*> painters;
+ QSet<QQuickParticlePainter*> painters;//TODO: What if they are dynamically removed?
//TODO: Refactor particle data list out into a separate class
QVector<QQuickParticleData*> data;
int gId = m_system->groupIds[m_follow];
int gId2 = m_system->groupIds[m_group];
- foreach (QQuickParticleData *d, m_system->groupData[gId]->data){
- if (!d || !d->stillAlive()){
- m_lastEmission[d->index] = time; //Should only start emitting when it returns to life
+ for (int i=0; i<m_system->groupData[gId]->data.count(); i++) {
+ QQuickParticleData *d = m_system->groupData[gId]->data[i];
+ if (!d->stillAlive()){
+ m_lastEmission[i] = time; //Should only start emitting when it returns to life
continue;
}
- pt = m_lastEmission[d->index];
+ pt = m_lastEmission[i];
if (pt < d->t)
pt = d->t;
if (pt + maxLife < time)//We missed so much, that we should skip emiting particles that are dead by now