/****************************************************************************
**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
**
** This file is part of the QtQuick module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
** 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.
+** Alternatively, 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
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia 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.
-**
-**
-**
-**
+** 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.
**
**
** $QT_END_LICENSE$
*/
/*!
- \qmlclass ParticleSystem QQuickParticleSystem
+ \qmltype ParticleSystem
+ \instantiates QQuickParticleSystem
\inqmlmodule QtQuick.Particles 2
\brief A system which includes particle painter, emitter, and affector types
\ingroup qtquick-particles
but you will need to resume it in order for additional particles to be generated
by the system.
- To kill all the particles in the system, use a Kill affector.
+ To kill all the particles in the system, use an Age affector.
*/
/*!
*/
/*!
- \qmlmethod void QtQuick.Particles2::ParticleSystem::pause
+ \qmlmethod QtQuick.Particles2::ParticleSystem::pause()
Pauses the simulation if it is running.
*/
/*!
- \qmlmethod void QtQuick.Particles2::ParticleSystem::resume
+ \qmlmethod QtQuick.Particles2::ParticleSystem::resume()
Resumes the simulation if it is paused.
*/
/*!
- \qmlmethod void QtQuick.Particles2::ParticleSystem::start
+ \qmlmethod QtQuick.Particles2::ParticleSystem::start()
Starts the simulation if it has not already running.
*/
/*!
- \qmlmethod void QtQuick.Particles2::ParticleSystem::stop
+ \qmlmethod QtQuick.Particles2::ParticleSystem::stop()
Stops the simulation if it is running.
*/
/*!
- \qmlmethod void QtQuick.Particles2::ParticleSystem::restart
+ \qmlmethod QtQuick.Particles2::ParticleSystem::restart()
Stops the simulation if it is running, and then starts it.
\sa stop, restart, running
*/
/*!
- \qmlmethod void QtQuick.Particles2::ParticleSystem::reset
+ \qmlmethod QtQuick.Particles2::ParticleSystem::reset()
Discards all currently existing particles.
void QQuickParticleSystem::emitParticle(QQuickParticleData* pd)
{// called from prepareNextFrame()->emitWindow - enforce?
//Account for relative emitter position
- QPointF offset = this->mapFromItem(pd->e, QPointF(0, 0));
- if (!offset.isNull()) {
- pd->x += offset.x();
- pd->y += offset.y();
+ bool okay = false;
+ QTransform t = pd->e->itemTransform(this, &okay);
+ if (okay) {
+ qreal tx,ty;
+ t.map(pd->x, pd->y, &tx, &ty);
+ pd->x = tx;
+ pd->y = ty;
}
finishNewDatum(pd);