// 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 QT_BEGIN_NAMESPACE /*! \qmltype PointDirection \instantiates 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"