aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/particles/qquickparticlepainter_p.h
diff options
context:
space:
mode:
authorMatthew Vogt <matthew.vogt@nokia.com>2012-04-11 16:54:33 +1000
committerQt by Nokia <qt-info@nokia.com>2012-04-16 01:25:54 +0200
commitf189b8934dc405cbd45258abc5aba2713428b1cc (patch)
treedd3d4f61c7337343705faf7a603585c287b8ae50 /src/quick/particles/qquickparticlepainter_p.h
parente00c40a89a1172add896e86e805a7cd42a4ea0c5 (diff)
Extract Particles code to an independent library
QtQuick clients that do not use particles features should not have to load these classes. Task-number: QTBUG-25178 Change-Id: Ib15f7655dc4d821595e06f9160d2770375279027 Reviewed-by: Glenn Watson <glenn.watson@nokia.com>
Diffstat (limited to 'src/quick/particles/qquickparticlepainter_p.h')
-rw-r--r--src/quick/particles/qquickparticlepainter_p.h137
1 files changed, 0 insertions, 137 deletions
diff --git a/src/quick/particles/qquickparticlepainter_p.h b/src/quick/particles/qquickparticlepainter_p.h
deleted file mode 100644
index 1ae4625856..0000000000
--- a/src/quick/particles/qquickparticlepainter_p.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the QtQuick module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PARTICLE_H
-#define PARTICLE_H
-
-#include <QObject>
-#include <QDebug>
-#include <QPair>
-#include "qquickparticlesystem_p.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QQuickParticlePainter : public QQuickItem
-{
- Q_OBJECT
- Q_PROPERTY(QQuickParticleSystem* system READ system WRITE setSystem NOTIFY systemChanged)
- Q_PROPERTY(QStringList groups READ groups WRITE setGroups NOTIFY groupsChanged)
-
-public:
- explicit QQuickParticlePainter(QQuickItem *parent = 0);
- //Data Interface to system
- void load(QQuickParticleData*);
- void reload(QQuickParticleData*);
- void setCount(int c);
- int count();
- void performPendingCommits();//Called from updatePaintNode
- QQuickParticleSystem* system() const
- {
- return m_system;
- }
-
-
- QStringList groups() const
- {
- return m_groups;
- }
-
- void itemChange(ItemChange, const ItemChangeData &);
-
-signals:
- void countChanged();
- void systemChanged(QQuickParticleSystem* arg);
-
- void groupsChanged(QStringList arg);
-
-public slots:
- void setSystem(QQuickParticleSystem* arg);
-
- void setGroups(QStringList arg)
- {
- if (m_groups != arg) {
- m_groups = arg;
- //Note: The system watches this as it has to recalc things when groups change. It will request a reset if necessary
- emit groupsChanged(arg);
- }
- }
-
- void calcSystemOffset(bool resetPending = false);
-
-private slots:
- virtual void sceneGraphInvalidated() {}
-
-protected:
- /* Reset resets all your internal data structures. But anything attached to a particle should
- be in attached data. So reset + reloads should have no visible effect.
- ###Hunt down all cases where we do a complete reset for convenience and be more targeted
- */
- virtual void reset();
-
- virtual void componentComplete();
- virtual void initialize(int gIdx, int pIdx){//Called from main thread
- Q_UNUSED(gIdx);
- Q_UNUSED(pIdx);
- }
- virtual void commit(int gIdx, int pIdx){//Called in Render Thread
- //###If you need to do something on size changed, check m_data size in this? Or we reset you every time?
- Q_UNUSED(gIdx);
- Q_UNUSED(pIdx);
- }
-
- QQuickParticleSystem* m_system;
- friend class QQuickParticleSystem;
- int m_count;
- bool m_pleaseReset;//Used by subclasses, but it's a nice optimization to know when stuff isn't going to matter.
- QStringList m_groups;
- QPointF m_systemOffset;
-
- QQuickCanvas *m_canvas;
-
-private:
- QSet<QPair<int,int> > m_pendingCommits;
-};
-
-QT_END_NAMESPACE
-QT_END_HEADER
-#endif // PARTICLE_H