53 lines
1.4 KiB
C++
53 lines
1.4 KiB
C++
// Copyright (C) 2016 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
|
|
#include "qquickpointdirection_p.h"
|
|
#include <QRandomGenerator>
|
|
|
|
QT_BEGIN_NAMESPACE
|
|
|
|
/*!
|
|
\qmltype PointDirection
|
|
\nativetype QQuickPointDirection
|
|
\inqmlmodule QtQuick.Particles
|
|
\ingroup qtquick-particles
|
|
\inherits Direction
|
|
\brief For specifying a direction that varies in x and y components.
|
|
|
|
The PointDirection element allows both the specification of a direction by x and y components,
|
|
as well as varying the parameters by x or y component.
|
|
*/
|
|
/*!
|
|
\qmlproperty real QtQuick.Particles::PointDirection::x
|
|
*/
|
|
/*!
|
|
\qmlproperty real QtQuick.Particles::PointDirection::y
|
|
*/
|
|
/*!
|
|
\qmlproperty real QtQuick.Particles::PointDirection::xVariation
|
|
*/
|
|
/*!
|
|
\qmlproperty real QtQuick.Particles::PointDirection::yVariation
|
|
*/
|
|
|
|
QQuickPointDirection::QQuickPointDirection(QObject *parent) :
|
|
QQuickDirection(parent)
|
|
, m_x(0)
|
|
, m_y(0)
|
|
, m_xVariation(0)
|
|
, m_yVariation(0)
|
|
{
|
|
}
|
|
|
|
QPointF QQuickPointDirection::sample(const QPointF &)
|
|
{
|
|
QPointF ret;
|
|
ret.setX(m_x - m_xVariation + QRandomGenerator::global()->generateDouble() * m_xVariation * 2);
|
|
ret.setY(m_y - m_yVariation + QRandomGenerator::global()->generateDouble() * m_yVariation * 2);
|
|
return ret;
|
|
}
|
|
|
|
QT_END_NAMESPACE
|
|
|
|
#include "moc_qquickpointdirection_p.cpp"
|