diff options
Diffstat (limited to 'src/input')
17 files changed, 155 insertions, 133 deletions
diff --git a/src/input/backend/backend.pri b/src/input/backend/backend.pri index 01daa5bf7..4dd8b9e83 100644 --- a/src/input/backend/backend.pri +++ b/src/input/backend/backend.pri @@ -19,10 +19,10 @@ HEADERS += \ $$PWD/buttonaxisinput_p.h \ $$PWD/logicaldevice_p.h \ $$PWD/inputbackendnodefunctor_p.h \ - $$PWD/qabstractphysicaldevicebackendnode.h \ + $$PWD/qabstractphysicaldevicebackendnode_p.h \ $$PWD/movingaverage_p.h \ $$PWD/axissetting_p.h \ - $$PWD/qabstractphysicaldevicebackendnode_p.h \ + $$PWD/qabstractphysicaldevicebackendnode_p_p.h \ $$PWD/updateaxisactionjob_p.h \ $$PWD/keyboardmousegenericdeviceintegration_p.h \ $$PWD/genericdevicebackendnode_p.h \ diff --git a/src/input/backend/genericdevicebackendnode_p.h b/src/input/backend/genericdevicebackendnode_p.h index 5d17860a4..8c0ffcfde 100644 --- a/src/input/backend/genericdevicebackendnode_p.h +++ b/src/input/backend/genericdevicebackendnode_p.h @@ -51,7 +51,7 @@ // We mean it. // -#include <Qt3DInput/qabstractphysicaldevicebackendnode.h> +#include <Qt3DInput/private/qabstractphysicaldevicebackendnode_p.h> #include <QHash> #include <QMutex> diff --git a/src/input/backend/keyboarddevice_p.h b/src/input/backend/keyboarddevice_p.h index 75437fdbb..6f37d80e5 100644 --- a/src/input/backend/keyboarddevice_p.h +++ b/src/input/backend/keyboarddevice_p.h @@ -51,7 +51,7 @@ // We mean it. // -#include <Qt3DInput/qabstractphysicaldevicebackendnode.h> +#include <Qt3DInput/private/qabstractphysicaldevicebackendnode_p.h> #include <Qt3DCore/qnodeid.h> #include <Qt3DInput/private/handle_types_p.h> #include <QKeyEvent> diff --git a/src/input/backend/keyboardmousegenericdeviceintegration_p.h b/src/input/backend/keyboardmousegenericdeviceintegration_p.h index 1784560f6..c2512f673 100644 --- a/src/input/backend/keyboardmousegenericdeviceintegration_p.h +++ b/src/input/backend/keyboardmousegenericdeviceintegration_p.h @@ -51,7 +51,7 @@ // We mean it. // -#include <Qt3DInput/qinputdeviceintegration.h> +#include <Qt3DInput/private/qinputdeviceintegration_p.h> QT_BEGIN_NAMESPACE diff --git a/src/input/backend/mousedevice_p.h b/src/input/backend/mousedevice_p.h index fdb6b157e..a0326ea19 100644 --- a/src/input/backend/mousedevice_p.h +++ b/src/input/backend/mousedevice_p.h @@ -51,7 +51,7 @@ // We mean it. // -#include <Qt3DInput/qabstractphysicaldevicebackendnode.h> +#include <Qt3DInput/private/qabstractphysicaldevicebackendnode_p.h> #include <QMouseEvent> QT_BEGIN_NAMESPACE diff --git a/src/input/backend/qabstractphysicaldevicebackendnode.cpp b/src/input/backend/qabstractphysicaldevicebackendnode.cpp index 7462bcc83..9a33654fb 100644 --- a/src/input/backend/qabstractphysicaldevicebackendnode.cpp +++ b/src/input/backend/qabstractphysicaldevicebackendnode.cpp @@ -37,8 +37,8 @@ ** ****************************************************************************/ -#include "qabstractphysicaldevicebackendnode.h" #include "qabstractphysicaldevicebackendnode_p.h" +#include "qabstractphysicaldevicebackendnode_p_p.h" #include "qabstractphysicaldevice.h" #include "qaxissetting.h" #include "inputhandler_p.h" diff --git a/src/input/backend/qabstractphysicaldevicebackendnode_p.h b/src/input/backend/qabstractphysicaldevicebackendnode_p.h index 737600167..ce61d3ab1 100644 --- a/src/input/backend/qabstractphysicaldevicebackendnode_p.h +++ b/src/input/backend/qabstractphysicaldevicebackendnode_p.h @@ -51,60 +51,45 @@ // We mean it. // -#include <Qt3DCore/private/qbackendnode_p.h> -#include <Qt3DCore/qnodeid.h> -#include <QtCore/qvector.h> +#include <Qt3DCore/qbackendnode.h> #include <Qt3DInput/private/qt3dinput_global_p.h> -#include <Qt3DInput/private/movingaverage_p.h> QT_BEGIN_NAMESPACE +namespace Qt3DCore { +class QBackendNodePrivate; +} + namespace Qt3DInput { -class QAxisSetting; class QInputAspect; +class QAbstractPhysicalDeviceBackendNodePrivate; -namespace Input { - -struct AxisIdSetting -{ - int m_axisIdentifier; - Qt3DCore::QNodeId m_axisSettingsId; -}; - -struct AxisIdFilter -{ - int m_axisIdentifier; - MovingAverage m_filter; -}; - -class AxisSetting; - -} - -class QT3DINPUTSHARED_PRIVATE_EXPORT QAbstractPhysicalDeviceBackendNodePrivate : public Qt3DCore::QBackendNodePrivate +class QT3DINPUTSHARED_PRIVATE_EXPORT QAbstractPhysicalDeviceBackendNode : public Qt3DCore::QBackendNode { public: - explicit QAbstractPhysicalDeviceBackendNodePrivate(Qt3DCore::QBackendNode::Mode mode = Qt3DCore::QBackendNode::ReadOnly); + explicit QAbstractPhysicalDeviceBackendNode(QBackendNode::Mode mode); + void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE; + virtual void cleanup(); + void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE; - Q_DECLARE_PUBLIC(QAbstractPhysicalDeviceBackendNode) + void setInputAspect(QInputAspect *aspect); + QInputAspect *inputAspect() const; - void addAxisSetting(int axisIdentifier, Qt3DCore::QNodeId axisSettingId); - void removeAxisSetting(Qt3DCore::QNodeId axisSettingsId); + float processedAxisValue(int axisIdentifier); + virtual float axisValue(int axisIdentifier) const = 0; + virtual bool isButtonPressed(int buttonIdentifier) const = 0; - Input::MovingAverage &getOrCreateFilter(int axisIdentifier); +protected: + QAbstractPhysicalDeviceBackendNode(QAbstractPhysicalDeviceBackendNodePrivate &dd); - Input::AxisSetting *getAxisSetting(Qt3DCore::QNodeId axisSettingId) const; + void initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change) Q_DECL_OVERRIDE; - Qt3DCore::QNodeIdVector m_pendingAxisSettingIds; - QVector<Input::AxisIdSetting> m_axisSettings; - QVector<Input::AxisIdFilter> m_axisFilters; - QInputAspect *m_inputAspect; + Q_DECLARE_PRIVATE(QAbstractPhysicalDeviceBackendNode) }; -} +} // Qt3DInput QT_END_NAMESPACE -#endif // QT3DINPUT_QABSTRACTPHYSICALDEVICEBACKENDNODE_P_H - +#endif // QT3DINPUT_QABSTRACTPHYSICALDEVICEBACKENDNODE_H diff --git a/src/input/frontend/qinputdeviceintegration.h b/src/input/backend/qabstractphysicaldevicebackendnode_p_p.h index c6a78c500..ce47181fa 100644 --- a/src/input/frontend/qinputdeviceintegration.h +++ b/src/input/backend/qabstractphysicaldevicebackendnode_p_p.h @@ -37,65 +37,74 @@ ** ****************************************************************************/ -#ifndef QT3DINPUT_QINPUTDEVICEINTEGRATION_H -#define QT3DINPUT_QINPUTDEVICEINTEGRATION_H - -#include <QObject> -#include <Qt3DInput/qt3dinput_global.h> -#include <Qt3DInput/qabstractphysicaldevicebackendnode.h> - -#include <Qt3DCore/qaspectjob.h> +#ifndef QT3DINPUT_QABSTRACTPHYSICALDEVICEBACKENDNODE_P_P_H +#define QT3DINPUT_QABSTRACTPHYSICALDEVICEBACKENDNODE_P_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists for the convenience +// of other Qt classes. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include <Qt3DCore/private/qbackendnode_p.h> #include <Qt3DCore/qnodeid.h> +#include <QtCore/qvector.h> +#include <Qt3DInput/private/qt3dinput_global_p.h> +#include <Qt3DInput/private/movingaverage_p.h> QT_BEGIN_NAMESPACE -namespace Qt3DCore { -class QBackendNodeMapper; -typedef QSharedPointer<QBackendNodeMapper> QBackendNodeMapperPtr; -} - - namespace Qt3DInput { +class QAxisSetting; class QInputAspect; -class QAbstractPhysicalDevice; -class QInputDeviceIntegrationPrivate; -class QT3DINPUTSHARED_EXPORT QInputDeviceIntegration : public QObject +namespace Input { + +struct AxisIdSetting { - Q_OBJECT -protected: - explicit QInputDeviceIntegration(QObject *parent = nullptr); - explicit QInputDeviceIntegration(QInputDeviceIntegrationPrivate &dd, QObject *parent = nullptr); + int m_axisIdentifier; + Qt3DCore::QNodeId m_axisSettingsId; +}; - template<class Frontend> - void registerBackendType(const Qt3DCore::QBackendNodeMapperPtr &functor) - { - registerBackendType(Frontend::staticMetaObject, functor); - } +struct AxisIdFilter +{ + int m_axisIdentifier; + MovingAverage m_filter; +}; + +class AxisSetting; - void registerBackendType(const QMetaObject &metaObject, const Qt3DCore::QBackendNodeMapperPtr &functor); +} +class QT3DINPUTSHARED_PRIVATE_EXPORT QAbstractPhysicalDeviceBackendNodePrivate : public Qt3DCore::QBackendNodePrivate +{ public: - void initialize(Qt3DInput::QInputAspect *aspect); + explicit QAbstractPhysicalDeviceBackendNodePrivate(Qt3DCore::QBackendNode::Mode mode = Qt3DCore::QBackendNode::ReadOnly); - virtual QVector<Qt3DCore::QAspectJobPtr> jobsToExecute(qint64 time) = 0; - virtual QAbstractPhysicalDevice *createPhysicalDevice(const QString &name) = 0; - virtual QVector<Qt3DCore::QNodeId> physicalDevices() const = 0; - virtual QAbstractPhysicalDeviceBackendNode *physicalDevice(Qt3DCore::QNodeId id) const = 0; - virtual QStringList deviceNames() const = 0; + Q_DECLARE_PUBLIC(QAbstractPhysicalDeviceBackendNode) -protected: - QInputAspect *inputAspect() const; + void addAxisSetting(int axisIdentifier, Qt3DCore::QNodeId axisSettingId); + void removeAxisSetting(Qt3DCore::QNodeId axisSettingsId); -private: - virtual void onInitialize() = 0; + Input::MovingAverage &getOrCreateFilter(int axisIdentifier); - Q_DECLARE_PRIVATE(QInputDeviceIntegration) + Input::AxisSetting *getAxisSetting(Qt3DCore::QNodeId axisSettingId) const; + + Qt3DCore::QNodeIdVector m_pendingAxisSettingIds; + QVector<Input::AxisIdSetting> m_axisSettings; + QVector<Input::AxisIdFilter> m_axisFilters; + QInputAspect *m_inputAspect; }; -} // namespace Qt3DInput +} QT_END_NAMESPACE -#endif // QT3DINPUT_QINPUTDEVICEINTEGRATION_H +#endif // QT3DINPUT_QABSTRACTPHYSICALDEVICEBACKENDNODE_P_P_H + diff --git a/src/input/backend/updateaxisactionjob.cpp b/src/input/backend/updateaxisactionjob.cpp index b8c937c98..63e7ff658 100644 --- a/src/input/backend/updateaxisactionjob.cpp +++ b/src/input/backend/updateaxisactionjob.cpp @@ -40,8 +40,8 @@ #include "updateaxisactionjob_p.h" #include <Qt3DInput/private/inputhandler_p.h> #include <Qt3DInput/private/inputmanagers_p.h> -#include <Qt3DInput/qabstractphysicaldevicebackendnode.h> -#include <Qt3DInput/qinputdeviceintegration.h> +#include <Qt3DInput/private/qabstractphysicaldevicebackendnode_p.h> +#include <Qt3DInput/private/qinputdeviceintegration_p.h> QT_BEGIN_NAMESPACE diff --git a/src/input/frontend/frontend.pri b/src/input/frontend/frontend.pri index 0775fd202..829dbc74d 100644 --- a/src/input/frontend/frontend.pri +++ b/src/input/frontend/frontend.pri @@ -11,7 +11,7 @@ HEADERS += \ $$PWD/qmousehandler.h \ $$PWD/qmousehandler_p.h \ $$PWD/qmouseevent.h \ - $$PWD/qinputdeviceplugin.h \ + $$PWD/qinputdeviceplugin_p.h \ $$PWD/qactioninput.h \ $$PWD/qaction.h \ $$PWD/qabstractaxisinput.h \ @@ -19,8 +19,8 @@ HEADERS += \ $$PWD/qanalogaxisinput.h \ $$PWD/qbuttonaxisinput.h \ $$PWD/qlogicaldevice.h \ - $$PWD/qinputdeviceintegration.h \ $$PWD/qinputdeviceintegration_p.h \ + $$PWD/qinputdeviceintegration_p_p.h \ $$PWD/qabstractphysicaldevice.h \ $$PWD/qinputdeviceintegrationfactory_p.h \ $$PWD/qaxissetting.h \ diff --git a/src/input/frontend/qinputaspect.cpp b/src/input/frontend/qinputaspect.cpp index e773eb1f2..d74938240 100644 --- a/src/input/frontend/qinputaspect.cpp +++ b/src/input/frontend/qinputaspect.cpp @@ -49,7 +49,7 @@ #include <Qt3DInput/qkeyboardhandler.h> #include <Qt3DInput/qmousedevice.h> #include <Qt3DInput/qmousehandler.h> -#include <Qt3DInput/qinputdeviceintegration.h> +#include <Qt3DInput/private/qinputdeviceintegration_p.h> #include <Qt3DInput/qinputsettings.h> #include <Qt3DInput/private/qgenericinputdevice_p.h> #include <Qt3DInput/private/qinputdeviceintegrationfactory_p.h> diff --git a/src/input/frontend/qinputdeviceintegration.cpp b/src/input/frontend/qinputdeviceintegration.cpp index de9e763b7..db48fd059 100644 --- a/src/input/frontend/qinputdeviceintegration.cpp +++ b/src/input/frontend/qinputdeviceintegration.cpp @@ -37,8 +37,8 @@ ** ****************************************************************************/ -#include "qinputdeviceintegration.h" #include "qinputdeviceintegration_p.h" +#include "qinputdeviceintegration_p_p.h" #include <Qt3DInput/QInputAspect> diff --git a/src/input/frontend/qinputdeviceintegration_p.h b/src/input/frontend/qinputdeviceintegration_p.h index 53ba52f8c..248243fa2 100644 --- a/src/input/frontend/qinputdeviceintegration_p.h +++ b/src/input/frontend/qinputdeviceintegration_p.h @@ -51,27 +51,61 @@ // We mean it. // -#include <private/qobject_p.h> -#include <private/qt3dinput_global_p.h> +#include <QObject> +#include <Qt3DInput/qt3dinput_global.h> +#include <Qt3DInput/private/qabstractphysicaldevicebackendnode_p.h> + +#include <Qt3DCore/qaspectjob.h> +#include <Qt3DCore/qnodeid.h> QT_BEGIN_NAMESPACE +namespace Qt3DCore { +class QBackendNodeMapper; +typedef QSharedPointer<QBackendNodeMapper> QBackendNodeMapperPtr; +} + + namespace Qt3DInput { class QInputAspect; -class QInputDeviceIntegration; +class QAbstractPhysicalDevice; +class QInputDeviceIntegrationPrivate; -class QT3DINPUTSHARED_PRIVATE_EXPORT QInputDeviceIntegrationPrivate : public QObjectPrivate +class QT3DINPUTSHARED_PRIVATE_EXPORT QInputDeviceIntegration : public QObject { + Q_OBJECT +protected: + explicit QInputDeviceIntegration(QObject *parent = nullptr); + explicit QInputDeviceIntegration(QInputDeviceIntegrationPrivate &dd, QObject *parent = nullptr); + + template<class Frontend> + void registerBackendType(const Qt3DCore::QBackendNodeMapperPtr &functor) + { + registerBackendType(Frontend::staticMetaObject, functor); + } + + void registerBackendType(const QMetaObject &metaObject, const Qt3DCore::QBackendNodeMapperPtr &functor); + public: - QInputDeviceIntegrationPrivate(); + void initialize(Qt3DInput::QInputAspect *aspect); + + virtual QVector<Qt3DCore::QAspectJobPtr> jobsToExecute(qint64 time) = 0; + virtual QAbstractPhysicalDevice *createPhysicalDevice(const QString &name) = 0; + virtual QVector<Qt3DCore::QNodeId> physicalDevices() const = 0; + virtual QAbstractPhysicalDeviceBackendNode *physicalDevice(Qt3DCore::QNodeId id) const = 0; + virtual QStringList deviceNames() const = 0; + +protected: + QInputAspect *inputAspect() const; - Q_DECLARE_PUBLIC(QInputDeviceIntegration) +private: + virtual void onInitialize() = 0; - QInputAspect *m_aspect; + Q_DECLARE_PRIVATE(QInputDeviceIntegration) }; -} // Qt3DInput +} // namespace Qt3DInput QT_END_NAMESPACE diff --git a/src/input/backend/qabstractphysicaldevicebackendnode.h b/src/input/frontend/qinputdeviceintegration_p_p.h index 44498be9d..c8557eac5 100644 --- a/src/input/backend/qabstractphysicaldevicebackendnode.h +++ b/src/input/frontend/qinputdeviceintegration_p_p.h @@ -37,48 +37,42 @@ ** ****************************************************************************/ -#ifndef QT3DINPUT_QABSTRACTPHYSICALDEVICEBACKENDNODE_H -#define QT3DINPUT_QABSTRACTPHYSICALDEVICEBACKENDNODE_H +#ifndef QT3DINPUT_QINPUTDEVICEINTEGRATION_P_P_H +#define QT3DINPUT_QINPUTDEVICEINTEGRATION_P_P_H -#include <Qt3DCore/qbackendnode.h> -#include <Qt3DInput/qt3dinput_global.h> +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists for the convenience +// of other Qt classes. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// -QT_BEGIN_NAMESPACE +#include <private/qobject_p.h> +#include <private/qt3dinput_global_p.h> -namespace Qt3DCore { -class QBackendNodePrivate; -} +QT_BEGIN_NAMESPACE namespace Qt3DInput { class QInputAspect; -class QAbstractPhysicalDeviceBackendNodePrivate; +class QInputDeviceIntegration; -class QT3DINPUTSHARED_EXPORT QAbstractPhysicalDeviceBackendNode : public Qt3DCore::QBackendNode +class QT3DINPUTSHARED_PRIVATE_EXPORT QInputDeviceIntegrationPrivate : public QObjectPrivate { public: - explicit QAbstractPhysicalDeviceBackendNode(QBackendNode::Mode mode); - void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE; - virtual void cleanup(); - void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE; - - void setInputAspect(QInputAspect *aspect); - QInputAspect *inputAspect() const; - - float processedAxisValue(int axisIdentifier); - virtual float axisValue(int axisIdentifier) const = 0; - virtual bool isButtonPressed(int buttonIdentifier) const = 0; - -protected: - QAbstractPhysicalDeviceBackendNode(QAbstractPhysicalDeviceBackendNodePrivate &dd); + QInputDeviceIntegrationPrivate(); - void initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change) Q_DECL_OVERRIDE; + Q_DECLARE_PUBLIC(QInputDeviceIntegration) - Q_DECLARE_PRIVATE(QAbstractPhysicalDeviceBackendNode) + QInputAspect *m_aspect; }; } // Qt3DInput QT_END_NAMESPACE -#endif // QT3DINPUT_QABSTRACTPHYSICALDEVICEBACKENDNODE_H +#endif // QT3DINPUT_QINPUTDEVICEINTEGRATION_P_P_H diff --git a/src/input/frontend/qinputdeviceintegrationfactory.cpp b/src/input/frontend/qinputdeviceintegrationfactory.cpp index 12520c2fe..22e93294e 100644 --- a/src/input/frontend/qinputdeviceintegrationfactory.cpp +++ b/src/input/frontend/qinputdeviceintegrationfactory.cpp @@ -38,8 +38,8 @@ ****************************************************************************/ #include "qinputdeviceintegrationfactory_p.h" -#include <Qt3DInput/qinputdeviceintegration.h> -#include <Qt3DInput/qinputdeviceplugin.h> +#include <Qt3DInput/private/qinputdeviceintegration_p.h> +#include <Qt3DInput/private/qinputdeviceplugin_p.h> #include <QtCore/private/qfactoryloader_p.h> #include <QtCore/QCoreApplication> #include <QtCore/QDir> diff --git a/src/input/frontend/qinputdeviceplugin.cpp b/src/input/frontend/qinputdeviceplugin.cpp index 695e85f50..cae80c05b 100644 --- a/src/input/frontend/qinputdeviceplugin.cpp +++ b/src/input/frontend/qinputdeviceplugin.cpp @@ -37,7 +37,7 @@ ** ****************************************************************************/ -#include "qinputdeviceplugin.h" +#include "qinputdeviceplugin_p.h" QT_BEGIN_NAMESPACE diff --git a/src/input/frontend/qinputdeviceplugin.h b/src/input/frontend/qinputdeviceplugin_p.h index b31f57f51..8175e3ae2 100644 --- a/src/input/frontend/qinputdeviceplugin.h +++ b/src/input/frontend/qinputdeviceplugin_p.h @@ -37,14 +37,14 @@ ** ****************************************************************************/ -#ifndef QT3DINPUT_QINPUTDEVICEPLUGIN_H -#define QT3DINPUT_QINPUTDEVICEPLUGIN_H +#ifndef QT3DINPUT_QINPUTDEVICEPLUGIN_P_H +#define QT3DINPUT_QINPUTDEVICEPLUGIN_P_H #include <QtCore/QObject> #include <QtCore/QtPlugin> #include <QtCore/QFactoryInterface> -#include <Qt3DInput/qt3dinput_global.h> +#include <Qt3DInput/private/qt3dinput_global_p.h> QT_BEGIN_NAMESPACE @@ -52,7 +52,7 @@ namespace Qt3DInput { class QInputDeviceIntegration; -class QT3DINPUTSHARED_EXPORT QInputDevicePlugin : public QObject +class QT3DINPUTSHARED_PRIVATE_EXPORT QInputDevicePlugin : public QObject { Q_OBJECT public: @@ -68,4 +68,4 @@ public: QT_END_NAMESPACE -#endif // QT3DINPUT_QINPUTDEVICEPLUGIN_H +#endif // QT3DINPUT_QINPUTDEVICEPLUGIN_P_H |