#include <math.h>
#include "qquickv4particledata_p.h"
#include "qquickparticlesystem_p.h"
#include <QDebug>
#include <private/qv4engine_p.h>
#include <private/qv4functionobject_p.h>
#include <QtCore/private/qnumeric_p.h>
Go to the source code of this file.
|
namespace | QV4 |
| \qmltype Particle \inqmlmodule QtQuick.Particles
|
|
namespace | QV4::Heap |
|
|
| DEFINE_OBJECT_VTABLE (QV4ParticleData) |
|
static QV4::ReturnedValue | particleData_discard (const QV4::FunctionObject *b, const QV4::Value *thisObject, const QV4::Value *, int) |
|
static QV4::ReturnedValue | particleData_lifeLeft (const QV4::FunctionObject *b, const QV4::Value *thisObject, const QV4::Value *, int) |
|
static QV4::ReturnedValue | particleData_curSize (const QV4::FunctionObject *b, const QV4::Value *thisObject, const QV4::Value *, int) |
|
| V4_DEFINE_EXTENSION (QV4ParticleDataDeletable, particleV4Data) |
|
◆ COLOR_GETTER_AND_SETTER
#define COLOR_GETTER_AND_SETTER |
( |
|
VAR, |
|
|
|
NAME |
|
) |
| |
Value:
{ \
if (!
r || !
r->d()->datum) \
RETURN_RESULT(scope.engine->throwError(
QStringLiteral(
"Not a valid ParticleData object"))); \
\
RETURN_RESULT(
QV4::Encode((
r->d()->datum->color. VAR )/255.0));\
}\
\
{\
if (!
r || !
r->d()->datum)\
RETURN_RESULT(scope.engine->throwError(
QStringLiteral(
"Not a valid ParticleData object")));\
\
double d = argc ? argv[0].toNumber() : 0; \
r->d()->datum->color. VAR =
qMin(255,
qMax(0, (
int)::floor(
d * 255.0)));\
RETURN_UNDEFINED(); \
}
constexpr const T & qMin(const T &a, const T &b)
constexpr const T & qMax(const T &a, const T &b)
GLboolean GLboolean GLboolean b
#define QStringLiteral(str)
Definition at line 299 of file qquickv4particledata.cpp.
◆ FAKE_FLOAT_GETTER_AND_SETTER
#define FAKE_FLOAT_GETTER_AND_SETTER |
( |
|
VARIABLE, |
|
|
|
GETTER, |
|
|
|
SETTER |
|
) |
| |
Value:
{ \
if (!
r || !
r->d()->datum) \
RETURN_RESULT(scope.engine->throwError(
QStringLiteral(
"Not a valid ParticleData object"))); \
\
RETURN_RESULT(
QV4::Encode(
r->d()->datum-> GETTER (
r->d()->particleSystem)));\
}\
\
{\
if (!
r || !
r->d()->datum)\
RETURN_RESULT(scope.engine->throwError(
QStringLiteral(
"Not a valid ParticleData object")));\
\
r->d()->datum-> SETTER (argc ? argv[0].toNumber() :
qt_qnan(),
r->
d()->particleSystem);\
RETURN_UNDEFINED(); \
}
constexpr static Q_DECL_CONST_FUNCTION double qt_qnan() noexcept
Definition at line 364 of file qquickv4particledata.cpp.
◆ FLOAT_GETTER_AND_SETTER
#define FLOAT_GETTER_AND_SETTER |
( |
|
VARIABLE | ) |
|
Value:
{ \
if (!
r || !
r->d()->datum) \
RETURN_RESULT(scope.engine->throwError(
QStringLiteral(
"Not a valid ParticleData object"))); \
\
}\
\
{\
if (!
r || !
r->d()->datum)\
RETURN_RESULT(scope.engine->throwError(
QStringLiteral(
"Not a valid ParticleData object")));\
\
r->d()->datum-> VARIABLE = argc ? argv[0].toNumber() :
qt_qnan();\
RETURN_UNDEFINED(); \
}
Definition at line 343 of file qquickv4particledata.cpp.
◆ REGISTER_ACCESSOR
#define REGISTER_ACCESSOR |
( |
|
PROTO, |
|
|
|
ENGINE, |
|
|
|
VARIABLE, |
|
|
|
NAME |
|
) |
| PROTO ->defineAccessorProperty( QStringLiteral( #NAME ), particleData_get_ ## VARIABLE , particleData_set_ ## VARIABLE ) |
◆ SEMIBOOL_GETTER_AND_SETTER
#define SEMIBOOL_GETTER_AND_SETTER |
( |
|
VARIABLE | ) |
|
Value:
{ \
if (!
r || !
r->d()->datum) \
RETURN_RESULT(scope.engine->throwError(
QStringLiteral(
"Not a valid ParticleData object"))); \
\
}\
\
{\
if (!
r || !
r->d()->datum)\
RETURN_RESULT(scope.engine->throwError(
QStringLiteral(
"Not a valid ParticleData object")));\
\
r->d()->datum-> VARIABLE = (argc && argv[0].toBoolean()) ? 1.0 : 0.0;\
RETURN_UNDEFINED(); \
}
Definition at line 322 of file qquickv4particledata.cpp.
◆ DEFINE_OBJECT_VTABLE()
◆ particleData_curSize()
◆ particleData_discard()
◆ particleData_lifeLeft()
◆ V4_DEFINE_EXTENSION()