44void QQuickParticlePainter::itemChange(ItemChange change,
const ItemChangeData &data)
46 if (change == QQuickItem::ItemSceneChange) {
48 disconnect(m_window, &QQuickWindow::sceneGraphInvalidated,
49 this, &QQuickParticlePainter::sceneGraphInvalidated);
51 m_window = data.window;
52 m_windowChanged =
true;
54 connect(m_window, &QQuickWindow::sceneGraphInvalidated,
55 this, &QQuickParticlePainter::sceneGraphInvalidated, Qt::DirectConnection);
58 QQuickItem::itemChange(change, data);
144void QQuickParticlePainter::calcSystemOffset(
bool resetPending)
146 if (!m_system || !parentItem())
148 QPointF lastOffset = m_systemOffset;
149 m_systemOffset = -1 *
this->mapFromItem(m_system, QPointF(0.0, 0.0));
150 if (lastOffset != m_systemOffset && !resetPending){
152 foreach (
const QString &g, m_groups){
153 int gId = m_system->groupIds[g];
154 foreach (QQuickParticleData* d, m_system->groupData[gId]->data)
160void QQuickParticlePainter::performPendingCommits()
163 foreach (intPair p, m_pendingCommits)
164 commit(p.first, p.second);
165 m_pendingCommits.clear();
QPair< int, int > intPair