aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/particles/qsgimageparticle_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/particles/qsgimageparticle_p.h')
-rw-r--r--src/declarative/particles/qsgimageparticle_p.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/declarative/particles/qsgimageparticle_p.h b/src/declarative/particles/qsgimageparticle_p.h
index c6ec4c2c6a..a644dd4216 100644
--- a/src/declarative/particles/qsgimageparticle_p.h
+++ b/src/declarative/particles/qsgimageparticle_p.h
@@ -167,7 +167,6 @@ public:
virtual void load(QSGParticleData*);
virtual void reload(QSGParticleData*);
- virtual void setCount(int c);
QDeclarativeListProperty<QSGSprite> sprites();
QSGSpriteEngine* spriteEngine() {return m_spriteEngine;}
@@ -298,12 +297,14 @@ protected:
void prepareNextFrame();
QSGGeometryNode* buildParticleNode();
QSGGeometryNode* buildSimpleParticleNode();
+ void resize(int oldCount, int newCount);
+ void performPendingResize();
private slots:
void createEngine(); //### method invoked by sprite list changing (in engine.h) - pretty nasty
private:
- //void vertexCopy(UltraVertex &b,const ParticleVertex& a);
+ //template <class T> void verticesUpgrade(IntermediateVertices* prev, T* next);//### Loses typessafety again...
IntermediateVertices* fetchIntermediateVertices(int pos);
bool m_do_reset;
@@ -345,6 +346,14 @@ private:
PerformanceLevel m_lastLevel;
void* m_lastData;
+ int m_lastCount;
+
+ //TODO: Some smart method that scales to multiple types better
+ bool m_resizePending;
+ QVector<UltraVertices*> m_resizePendingUltra;
+ QVector<SimpleVertices*> m_resizePendingSimple;
+ UltraVertices* m_defaultUltra;
+ SimpleVertices* m_defaultSimple;
};
QT_END_NAMESPACE