4#ifndef QQUICKSPRITEENGINE_P_H
5#define QQUICKSPRITEENGINE_P_H
18#include <private/qtquickglobal_p.h>
25#include <QElapsedTimer>
27#include <QQmlListProperty>
30#include <QRandomGenerator>
31#include <private/qquickpixmapcache_p.h>
32#include <private/qtquickglobal_p.h>
41 Q_PROPERTY(
int durationVariation READ durationVariation WRITE setDurationVariation NOTIFY durationVariationChanged FINAL)
43 Q_PROPERTY(
bool randomStart READ randomStart WRITE setRandomStart NOTIFY randomStartChanged FINAL)
70 return m_durationVariation;
76 return qMax(0.0 , m_duration
78 - m_durationVariation);
102 if (m_duration !=
arg) {
126 if (m_durationVariation !=
arg) {
127 m_durationVariation =
arg;
134 if (m_randomStart !=
arg) {
144 int m_durationVariation = 0;
147 bool m_randomStart =
false;
154 Q_PROPERTY(
QString globalGoal READ globalGoal WRITE setGlobalGoal NOTIFY globalGoalChanged FINAL)
171 int count()
const {
return m_things.size();}
172 void setCount(
int c);
174 void setGoal(
int state,
int sprite=0,
bool jump=
false);
176 virtual void restart(
int index=0);
177 virtual void advance(
int index=0);
178 void stop(
int index=0);
184 for (
int i=0;
i<m_states.size();
i++)
185 if (m_states[
i]->
name() ==
s)
200 if (m_globalGoal !=
arg) {
210 void addToUpdateList(
uint t,
int idx);
211 int nextState(
int curState,
int idx=0);
212 int goalSeek(
int curState,
int idx,
int dist=-1);
243 int spriteState(
int sprite = 0)
const;
244 int spriteStart(
int sprite = 0)
const;
245 int spriteFrames(
int sprite = 0)
const;
246 int spriteDuration(
int sprite = 0)
const;
247 int spriteX(
int sprite = 0)
const;
248 int spriteY(
int sprite = 0)
const;
249 int spriteWidth(
int sprite = 0)
const;
250 int spriteHeight(
int sprite = 0)
const;
252 int maxFrames()
const;
254 void restart(
int index=0)
override;
255 void advance(
int index=0)
override;
263 void startAssemblingImage();
264 QImage assembledImage(
int maxSize = 2048);
267 int pseudospriteProgress(
int,
int,
int *
rd =
nullptr)
const;
269 bool m_startedImageAssembly;
271 bool m_errorsPrinted;
278 p->object->metaObject()->invokeMethod(
p->object,
"createEngine");
289 p->object->metaObject()->invokeMethod(
p->object,
"createEngine");
300 p->object->metaObject()->invokeMethod(
p->object,
"createEngine");
306 p->object->metaObject()->invokeMethod(
p->object,
"createEngine");
The QQmlListProperty class allows applications to expose list-like properties of QObject-derived clas...
QQmlListProperty< QQuickSprite > sprites()
QQmlListProperty< QQuickStochasticState > states()
int stateIndex(const QString &s) const
QElapsedTimer m_advanceTimer
void stateChanged(int idx)
QQuickStochasticState * state(int idx) const
QVector< QPair< uint, QVector< int > > > m_stateUpdates
QList< QQuickStochasticState * > m_states
QVector< int > m_duration
void setGlobalGoal(const QString &arg)
int curState(int index=0) const
int stateIndex(QQuickStochasticState *s) const
QVector< int > m_startTimes
QString globalGoal() const
void globalGoalChanged(const QString &arg)
void setDurationVariation(int arg)
void durationChanged(int arg)
void nameChanged(const QString &arg)
void setName(const QString &arg)
void setTo(const QVariantMap &arg)
void setDuration(int arg)
int durationVariation() const
QQuickStochasticState(QObject *parent=nullptr)
void durationVariationChanged(int arg)
virtual int variedDuration() const
void randomStartChanged(bool arg)
void setRandomStart(bool arg)
void toChanged(const QVariantMap &arg)
static Q_DECL_CONST_FUNCTION QRandomGenerator * global()
\threadsafe
\macro QT_RESTRICTED_CAST_FROM_ASCII
list append(new Employee("Blackpool", "Stephen"))
employee setName("Richard Schmit")
Combined button and popup list for selecting options.
static void jump(QtMsgType t, const QMessageLogContext &context, const QString &m)
constexpr const T & qMax(const T &a, const T &b)
GLenum GLuint GLintptr GLsizeiptr size
[1]
void spriteReplace(QQmlListProperty< QQuickSprite > *p, qsizetype idx, QQuickSprite *s)
void spriteAppend(QQmlListProperty< QQuickSprite > *p, QQuickSprite *s)
void spriteRemoveLast(QQmlListProperty< QQuickSprite > *p)
qsizetype spriteCount(QQmlListProperty< QQuickSprite > *p)
QQuickSprite * spriteAt(QQmlListProperty< QQuickSprite > *p, qsizetype idx)
void spriteClear(QQmlListProperty< QQuickSprite > *p)
#define QT_REQUIRE_CONFIG(feature)
QRandomGenerator64 rd
[10]
std::uniform_real_distribution dist(1, 2.5)
[2]
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent