diff options
Diffstat (limited to 'src/declarative/particles/qsgcustomparticle_p.h')
-rw-r--r-- | src/declarative/particles/qsgcustomparticle_p.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/declarative/particles/qsgcustomparticle_p.h b/src/declarative/particles/qsgcustomparticle_p.h index 95144ef638..50ff37a2a0 100644 --- a/src/declarative/particles/qsgcustomparticle_p.h +++ b/src/declarative/particles/qsgcustomparticle_p.h @@ -52,7 +52,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) class QSGNode; - +struct PlainVertices; //Genealogy: Hybrid of UltraParticle and ShaderEffectItem class QSGCustomParticle : public QSGParticlePainter { @@ -62,9 +62,6 @@ class QSGCustomParticle : public QSGParticlePainter public: explicit QSGCustomParticle(QSGItem* parent=0); - virtual void load(QSGParticleData*); - virtual void reload(QSGParticleData*); - virtual void setCount(int c); QByteArray fragmentShader() const { return m_source.fragmentCode; } void setFragmentShader(const QByteArray &code); @@ -78,20 +75,26 @@ Q_SIGNALS: void fragmentShaderChanged(); void vertexShaderChanged(); protected: + virtual void initialize(int idx); + virtual void reload(int idx); + QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *); void prepareNextFrame(); void setSource(const QVariant &var, int index); void disconnectPropertySignals(); void connectPropertySignals(); void reset(); + void resize(int oldCount, int newCount); void updateProperties(); void lookThroughShaderCode(const QByteArray &code); virtual void componentComplete(); QSGShaderEffectNode *buildCustomNode(); + void performPendingResize(); private: void buildData(); + bool m_pleaseReset; bool m_dirtyData; QSGShaderEffectProgram m_source; @@ -105,6 +108,7 @@ private: QSGShaderEffectMaterial m_material; QSGShaderEffectNode* m_node; qreal m_lastTime; + }; QT_END_NAMESPACE |