5#include <private/qqmlengine_p.h>
6#include <private/qqmlglobal_p.h>
7#include <private/qjsvalue_p.h>
8#include <QRandomGenerator>
183 , m_particlesPerSecond(10)
184 , m_particleDuration(1000)
185 , m_particleDurationVariation(0)
190 , m_velocity(&m_nullVector)
191 , m_acceleration(&m_nullVector)
193 , m_particleEndSize(-1)
194 , m_particleSizeVariation(0)
198 , m_maxParticleCount(-1)
199 , m_velocity_from_movement(0)
201 , m_last_timestamp(-1)
203 , m_groupIdNeedRecalculation(
false)
281 if (arg < 0 && m_maxParticleCount >= 0){
344 if (pt + maxLife <
time)
378 + 2 * bx * (1 - 2 *
t)
382 + 2 *
by * (1 - 2 *
t)
406 boundsRect =
QRectF(emitter_x_offset + dex * (pt -
opt) / dt, emitter_y_offset + dey * (pt -
opt) / dt
410 datum->
x = newPos.
x();
411 datum->
y = newPos.
y();
422 datum->
ax = accel.
x();
423 datum->
ay = accel.
y();
458 for (
int i=0;
i<toEmit.
size();
i++)
476#include "moc_qquickparticleemitter_p.cpp"
T value(const Key &key) const noexcept
QV4::ExecutionEngine * handle() const
static void setValue(QJSValue *jsval, const QV4::Value &v)
The QJSValue class acts as a container for Qt/JavaScript data types.
qsizetype size() 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.
The QQmlEngine class provides an environment for instantiating QML components.
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)
void emitParticles(const QJSValue &particles)
QQuickParticleEmitter(QQuickItem *parent=nullptr)
Emits logical particles.
QQuickDirection * m_velocity
void setEnabled(bool arg)
QQuickParticleExtruder * m_defaultExtruder
QQuickParticleSystem * m_system
void enabledChanged(bool)
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 &)
void finishRegisteringParticleEmitter(QQuickParticleEmitter *e)
void emitParticle(QQuickParticleData *p, QQuickParticleEmitter *particleEmitter)
QHash< QString, int > groupIds
QQuickParticleData * newDatum(int groupId, bool respectLimits=true, int sysIdx=-1)
static Q_DECL_CONST_FUNCTION QRandomGenerator * global()
\threadsafe
double bounded(double highest)
Generates one random double in the range between 0 (inclusive) and highest (exclusive).
\inmodule QtCore\reentrant
Combined button and popup list for selecting options.
constexpr const T & qMax(const T &a, const T &b)
GLsizei const GLfloat * v
[13]
GLint GLint GLint GLint GLint x
[0]
GLenum GLuint GLintptr GLsizeiptr size
[1]
constexpr decltype(auto) qMakePair(T1 &&value1, T2 &&value2) noexcept(noexcept(std::make_pair(std::forward< T1 >(value1), std::forward< T2 >(value2))))
QQmlEngine * qmlEngine(const QObject *obj)
#define IS_SIGNAL_CONNECTED(Sender, SenderType, Name, Arguments)
myObject disconnect()
[26]
Heap::ArrayObject * newArrayObject(int count=0)
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent