diff options
Diffstat (limited to 'src/sensorsquick/qmlorientationsensor.cpp')
-rw-r--r-- | src/sensorsquick/qmlorientationsensor.cpp | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/src/sensorsquick/qmlorientationsensor.cpp b/src/sensorsquick/qmlorientationsensor.cpp new file mode 100644 index 00000000..c40bd474 --- /dev/null +++ b/src/sensorsquick/qmlorientationsensor.cpp @@ -0,0 +1,105 @@ +// 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 "qmlorientationsensor_p.h" +#include <QtSensors/QOrientationSensor> + +/*! + \qmltype OrientationSensor +//! \instantiates QmlOrientationSensor + \ingroup qml-sensors_type + \inqmlmodule QtSensors + \since QtSensors 5.0 + \inherits Sensor + \brief The OrientationSensor element reports device orientation. + + The OrientationSensor element reports device orientation. + + This element wraps the QOrientationSensor class. Please see the documentation for + QOrientationSensor for details. + + \sa OrientationReading +*/ + +QmlOrientationSensor::QmlOrientationSensor(QObject *parent) + : QmlSensor(parent) + , m_sensor(new QOrientationSensor(this)) +{ +} + +QmlOrientationSensor::~QmlOrientationSensor() +{ +} + +QmlSensorReading *QmlOrientationSensor::createReading() const +{ + return new QmlOrientationSensorReading(m_sensor); +} + +QSensor *QmlOrientationSensor::sensor() const +{ + return m_sensor; +} + +/*! + \qmltype OrientationReading +//! \instantiates QmlOrientationSensorReading + \ingroup qml-sensors_reading + \inqmlmodule QtSensors + \since QtSensors 5.0 + \inherits SensorReading + \brief The OrientationReading element holds the most recent OrientationSensor reading. + + The OrientationReading element holds the most recent OrientationSensor reading. + + This element wraps the QOrientationReading class. Please see the documentation for + QOrientationReading for details. + + This element cannot be directly created. +*/ + +QmlOrientationSensorReading::QmlOrientationSensorReading(QOrientationSensor *sensor) + : m_sensor(sensor) +{ +} + +QmlOrientationSensorReading::~QmlOrientationSensorReading() +{ +} + +/*! + \qmlproperty Orientation OrientationReading::orientation + This property holds the orientation of the device. + + Please see QOrientationReading::orientation for information about this property. + + Note that Orientation constants are exposed through the OrientationReading class. + \code + OrientationSensor { + onReadingChanged: { + if (reading.orientation == OrientationReading.TopUp) + // do something + } + } + \endcode +*/ + +QOrientationReading::Orientation QmlOrientationSensorReading::orientation() const +{ + return m_orientation; +} + +QBindable<QOrientationReading::Orientation> QmlOrientationSensorReading::bindableOrientation() const +{ + return &m_orientation; +} + +QSensorReading *QmlOrientationSensorReading::reading() const +{ + return m_sensor->reading(); +} + +void QmlOrientationSensorReading::readingUpdate() +{ + m_orientation = m_sensor->reading()->orientation(); +} |