1// Copyright (C) 2015 Klaralvdalens Datakonsult AB (KDAB).
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QT3DINPUT_INPUT_QUICK_QUICK3DLOGICALDEVICE_H
5#define QT3DINPUT_INPUT_QUICK_QUICK3DLOGICALDEVICE_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists for the convenience
12// of other Qt classes. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <Qt3DInput/QAxis>
19#include <Qt3DInput/QAction>
20#include <Qt3DInput/QLogicalDevice>
21#include <QtQml/QQmlListProperty>
22
23#include <Qt3DQuickInput/private/qt3dquickinput_global_p.h>
24
25QT_BEGIN_NAMESPACE
26
27namespace Qt3DInput {
28namespace Input {
29namespace Quick {
30
31class Q_3DQUICKINPUTSHARED_PRIVATE_EXPORT Quick3DLogicalDevice : public QObject
32{
33 Q_OBJECT
34 Q_PROPERTY(QQmlListProperty<Qt3DInput::QAxis> axes READ qmlAxes CONSTANT)
35 Q_PROPERTY(QQmlListProperty<Qt3DInput::QAction> actions READ qmlActions CONSTANT)
36public:
37 explicit Quick3DLogicalDevice(QObject *parent = nullptr);
38
39 inline QLogicalDevice *parentLogicalDevice() const { return qobject_cast<QLogicalDevice *>(object: parent()); }
40 QQmlListProperty<QAxis> qmlAxes();
41 QQmlListProperty<QAction> qmlActions();
42};
43
44} // namespace Quick
45} // namespace Input
46} // namespace Qt3DInput
47
48QT_END_NAMESPACE
49
50#endif // QT3DINPUT_INPUT_QUICK_QUICK3DLOGICALDEVICE_H
51

source code of qt3d/src/quick3d/quick3dinput/items/quick3dlogicaldevice_p.h