1// Copyright (C) 2016 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_INPUTSETTINGS_H
5#define QT3DINPUT_INPUT_INPUTSETTINGS_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/private/backendnode_p.h>
19#include <QtCore/QPointer>
20
21QT_BEGIN_NAMESPACE
22
23namespace Qt3DInput {
24
25namespace Input {
26
27class InputHandler;
28
29class InputSettings : public BackendNode
30{
31public:
32 InputSettings();
33 inline QObject *eventSource() const { return m_eventSource; }
34
35 void syncFromFrontEnd(const Qt3DCore::QNode *frontEnd, bool firstTime) override;
36
37private:
38 QPointer<QObject> m_eventSource;
39};
40
41class InputSettingsFunctor : public Qt3DCore::QBackendNodeMapper
42{
43public:
44 explicit InputSettingsFunctor(InputHandler *handler);
45
46 Qt3DCore::QBackendNode *create(Qt3DCore::QNodeId id) const override;
47 Qt3DCore::QBackendNode *get(Qt3DCore::QNodeId id) const override;
48 void destroy(Qt3DCore::QNodeId id) const override;
49
50private:
51 InputHandler *m_handler;
52};
53
54} // Input
55
56} // Qt3DInput
57
58QT_END_NAMESPACE
59
60#endif // QT3DINPUT_INPUT_INPUTSETTINGS_H
61

source code of qt3d/src/input/backend/inputsettings_p.h