diff options
Diffstat (limited to 'src/quick/items/qquickspriteengine_p.h')
-rw-r--r-- | src/quick/items/qquickspriteengine_p.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/quick/items/qquickspriteengine_p.h b/src/quick/items/qquickspriteengine_p.h index da505be911..5ad33389de 100644 --- a/src/quick/items/qquickspriteengine_p.h +++ b/src/quick/items/qquickspriteengine_p.h @@ -196,7 +196,7 @@ public: QQmlListProperty<QQuickStochasticState> states() { - return QQmlListProperty<QQuickStochasticState>(this, m_states); + return QQmlListProperty<QQuickStochasticState>(this, &m_states); } QString globalGoal() const @@ -272,7 +272,7 @@ public: ~QQuickSpriteEngine() override; QQmlListProperty<QQuickSprite> sprites() { - return QQmlListProperty<QQuickSprite>(this, m_sprites); + return QQmlListProperty<QQuickSprite>(this, &m_sprites); } QQuickSprite* sprite(int sprite = 0) const; @@ -330,6 +330,18 @@ inline int spriteCount(QQmlListProperty<QQuickSprite> *p) return reinterpret_cast<QList<QQuickSprite *> *>(p->data)->count(); } +inline void spriteReplace(QQmlListProperty<QQuickSprite> *p, int idx, QQuickSprite *s) +{ + reinterpret_cast<QList<QQuickSprite *> *>(p->data)->replace(idx, s); + p->object->metaObject()->invokeMethod(p->object, "createEngine"); +} + +inline void spriteRemoveLast(QQmlListProperty<QQuickSprite> *p) +{ + reinterpret_cast<QList<QQuickSprite *> *>(p->data)->removeLast(); + p->object->metaObject()->invokeMethod(p->object, "createEngine"); +} + QT_END_NAMESPACE #endif // QQUICKSPRITEENGINE_P_H |