29#define Q_QUICK_PARTICLE_ACCESSOR(TYPE, VARIABLE, NAME) \
30 Q_PROPERTY(TYPE NAME READ NAME WRITE set_ ## NAME FINAL) \
31 TYPE NAME() const { return datum ? datum->VARIABLE : TYPE(); } \
32 void set_ ## NAME(TYPE a) { if (datum) datum->VARIABLE = a; }
60#undef Q_QUICK_PARTICLE_ACCESSOR
62#define Q_QUICK_PARTICLE_SYSTEM_ACCESSOR(GETTER, SETTER, NAME) \
63 Q_PROPERTY(float NAME READ NAME WRITE set_ ## NAME) \
64 float NAME() const { return (datum && particleSystem) ? datum->GETTER(particleSystem) : 0; } \
65 void set_ ## NAME(float a) { if (datum && particleSystem) datum->SETTER(a, particleSystem); }
74#undef Q_QUICK_PARTICLE_SYSTEM_ACCESSOR
76#define Q_QUICK_PARTICLE_COLOR_ACCESSOR(VAR, NAME) \
77 Q_PROPERTY(float NAME READ NAME WRITE set_ ## NAME) \
78 float NAME() const { return datum ? datum->color.VAR / 255.0 : 0.0; } \
79 void set_ ## NAME(float a)\
82 datum->color.VAR = qMin(255, qMax(0, (int)::floor(a * 255.0)));\
90#undef Q_QUICK_PARTICLE_COLOR_ACCESSOR
99 , particleSystem(system)
110 return (datum && particleSystem) ? datum->
lifeLeft(particleSystem) : 0.0;
115 return (datum && particleSystem) ? datum->
curSize(particleSystem) : 0.0;
float lifeLeft(QQuickParticleSystem *particleSystem) const
float curSize(QQuickParticleSystem *particleSystem) const
Q_INVOKABLE void discard()
float currentSize() const
#define Q_QUICK_PARTICLE_SYSTEM_ACCESSOR(GETTER, SETTER, NAME)
#define Q_QUICK_PARTICLE_ACCESSOR(TYPE, VARIABLE, NAME)
#define Q_QUICK_PARTICLE_COLOR_ACCESSOR(VAR, NAME)