8#include <private/qqmlglobal_p.h>
9#include <private/qquickv4particledata_p.h>
11#include <QtCore/qrandom.h>
187 , m_particlesPerSecond(10)
188 , m_particleDuration(1000)
189 , m_particleDurationVariation(0)
194 , m_velocity(&m_nullVector)
195 , m_acceleration(&m_nullVector)
197 , m_particleEndSize(-1)
198 , m_particleSizeVariation(0)
202 , m_maxParticleCount(-1)
203 , m_velocity_from_movement(0)
205 , m_last_timestamp(-1)
207 , m_groupIdNeedRecalculation(
false)
286 if (arg < 0 && m_maxParticleCount >= 0){
349 if (pt + maxLife <
time)
374 QList<QQuickParticleData*> toEmit;
383 + 2 * bx * (1 - 2 *
t)
387 + 2 *
by * (1 - 2 *
t)
411 boundsRect =
QRectF(emitter_x_offset + dex * (pt -
opt) / dt, emitter_y_offset + dey * (pt -
opt) / dt
415 datum->
x = newPos.
x();
416 datum->
y = newPos.
y();
427 datum->
ax = accel.
x();
428 datum->
ay = accel.
y();
458 QList<QQuickV4ParticleData> particles;
459 particles.reserve(toEmit.size());
461 particles.push_back(particle->v4Value(
m_system));
476#include "moc_qquickparticleemitter_p.cpp"
T value(const Key &key) const noexcept
bool isEmpty() const noexcept
void pop_front() noexcept
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
\threadsafe
\inmodule QtCore\reentrant
constexpr qreal x() const noexcept
Returns the x coordinate of this point.
constexpr qreal y() const noexcept
Returns the y coordinate of this point.
virtual QPointF sample(const QPointF &from)
The QQuickItem class provides the most basic of all visual items in \l {Qt Quick}.
qreal x
\qmlproperty real QtQuick::Item::x \qmlproperty real QtQuick::Item::y \qmlproperty real QtQuick::Item...
void componentComplete() override
\reimp Derived classes should call the base class method before adding their own actions to perform a...
qreal y
Defines the item's y position relative to its parent.
qreal width
This property holds the width of this item.
QQuickItem * parentItem() const
qreal height
This property holds the height of this item.
int particleCount() const
QQuickDirection * velocity
QQuickParticleExtruder * m_extruder
void setSystem(QQuickParticleSystem *arg)
QQuickParticleEmitter(QQuickItem *parent=nullptr)
Emits logical particles.
QQuickDirection * m_velocity
void setEnabled(bool arg)
void emitParticles(const QList< QQuickV4ParticleData > &particles)
QQuickParticleExtruder * m_defaultExtruder
QQuickParticleSystem * m_system
qreal m_velocity_from_movement
qreal m_particleSizeVariation
virtual ~QQuickParticleEmitter()
int m_particleDurationVariation
void maximumEmittedChanged(int arg)
QQuickDirection * m_acceleration
void setVelocityFromMovement(qreal s)
void componentComplete() override
\reimp Derived classes should call the base class method before adding their own actions to perform a...
void particleDurationChanged(int)
virtual void emitWindow(int timeStamp)
QList< QPair< int, QPointF > > m_burstQueue
void velocityFromMovementChanged()
QQuickParticleExtruder * effectiveExtruder()
void pulse(int milliseconds)
qreal m_particlesPerSecond
void particlesPerSecondChanged(qreal)
void setMaxParticleCount(int arg)
void particleCountChanged()
void reclaculateGroupId() const
QPointF m_last_last_emitter
virtual QPointF extrude(const QRectF &)
QQuickParticleData * newDatum(int groupId, bool respectLimits=true, int sysIdx=-1, const QQuickParticleData *cloneFrom=nullptr)
void finishRegisteringParticleEmitter(QQuickParticleEmitter *e)
void emitParticle(QQuickParticleData *p, QQuickParticleEmitter *particleEmitter)
QHash< QString, int > groupIds
static Q_DECL_CONST_FUNCTION QRandomGenerator * global()
\threadsafe
\inmodule QtCore\reentrant
Combined button and popup list for selecting options.
constexpr const T & qMax(const T &a, const T &b)
GLint GLint GLint GLint GLint x
[0]
GLenum GLuint GLintptr GLsizeiptr size
[1]
QT_BEGIN_NAMESPACE constexpr decltype(auto) qMakePair(T1 &&value1, T2 &&value2) noexcept(noexcept(std::make_pair(std::forward< T1 >(value1), std::forward< T2 >(value2))))
#define IS_SIGNAL_CONNECTED(Sender, SenderType, Name, Arguments)
myObject disconnect()
[26]