19#include <vrvUtil/signalslib.h>
24#include <unordered_set>
80 template <
typename T,
typename Method>
96 template <
typename T,
typename Method>
123 virtual Q_INVOKABLE
void qmlEvent(QString type,
int id, qreal value);
Modern delegate class that can bind and invoke callables with any number of parameters.
Definition delegate.h:31
DtDelegate< void, std::string, int, double > EventCallback
Callback delegate type for input events.
Definition qmlGamepad.h:166
virtual void hide()
Hide the virtual gamepad UI.
virtual makVre::DtVreMessageResult handleAppStateMessage(makVre::DtVreMessage *msg)
Message handler to automatically show/hide gamepad based on app state.
virtual Q_INVOKABLE void qmlEvent(QString type, int id, qreal value)
QML-invokable method called when virtual gamepad generates input.
virtual void show()
Show the virtual gamepad UI.
std::string myTargetFile
Path to QML file defining UI.
Definition qmlGamepad.h:170
virtual bool isVisible()
Check if QML gamepad UI is currently visible.
QQuickItem * myRoot
Root QML item of the gamepad UI.
Definition qmlGamepad.h:168
void addEventCallback(T *object, Method method)
Register a callback to receive virtual gamepad input events.
Definition qmlGamepad.h:81
std::map< void *, EventCallback > myEventCallbacks
Registered event callbacks keyed by object pointer When input events occur, all registered callbacks ...
Definition qmlGamepad.h:174
void removeEventCallback(T *object, Method method)
Remove a previously registered event callback.
Definition qmlGamepad.h:97
std::string myTargetWindow
Window identifier for QML placement.
Definition qmlGamepad.h:169
virtual void setVisibility(bool visible)
Set QML gamepad UI visibility state.
Abstract base class for all VREngage messages.
Definition vreMessage.h:50
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
DtVreMessageResult
Enumeration of possible message handling results.
Definition vreMessage.h:33
Defines the base class for all VREngage messages.