Gainput
v1.0.0
|
A double-click gesture. More...
#include <GainputDoubleClickGesture.h>
Public Member Functions | |
DoubleClickGesture (InputManager &manager, DeviceId device, unsigned index, DeviceVariant variant) | |
Initializes the gesture. | |
~DoubleClickGesture () | |
Uninitializes the gesture. | |
void | Initialize (DeviceId actionButtonDevice, DeviceButtonId actionButton, uint64_t timeSpan=300) |
Sets up the gesture for operation without position checking. More... | |
void | Initialize (DeviceId actionButtonDevice, DeviceButtonId actionButton, DeviceId xAxisDevice, DeviceButtonId xAxis, float xTolerance, DeviceId yAxisDevice, DeviceButtonId yAxis, float yTolerance, uint64_t timeSpan=300) |
Sets up the gesture for operation with position checking, i.e. the user may not move the mouse too far between clicks. More... | |
void | SetClicksTargetCount (unsigned count) |
Sets the number of clicks to trigger an action. More... | |
bool | IsValidButtonId (DeviceButtonId deviceButton) const |
Returns if the given button is valid for this device. | |
ButtonType | GetButtonType (DeviceButtonId deviceButton) const |
Returns the type of the given button. | |
Public Member Functions inherited from gainput::InputGesture | |
DeviceType | GetType () const |
Returns DT_GESTURE. | |
const char * | GetTypeName () const |
Returns the device type's name. | |
bool | IsLateUpdate () const |
Returns if this device should be updated after other devices. | |
Public Member Functions inherited from gainput::InputDevice | |
InputDevice (InputManager &manager, DeviceId device, unsigned index) | |
Initializes the input device. More... | |
virtual | ~InputDevice () |
Empty virtual destructor. | |
void | Update (InputDeltaState *delta) |
Update this device, internally called by InputManager. More... | |
DeviceId | GetDeviceId () const |
Returns this device's ID. | |
unsigned | GetIndex () const |
Returns the device's index among devices of the same type. | |
virtual DeviceVariant | GetVariant () const |
Returns the device variant. | |
DeviceState | GetState () const |
Returns the device state. | |
virtual bool | IsAvailable () const |
Returns if this device is available. | |
bool | GetBool (DeviceButtonId deviceButton) const |
Returns the current state of the given button. | |
bool | GetBoolPrevious (DeviceButtonId deviceButton) const |
Returns the previous state of the given button. | |
float | GetFloat (DeviceButtonId deviceButton) const |
Returns the current state of the given button. | |
float | GetFloatPrevious (DeviceButtonId deviceButton) const |
Returns the previous state of the given button. | |
virtual size_t | GetAnyButtonDown (DeviceButtonSpec *outButtons, size_t maxButtonCount) const |
Checks if any button on this device is down. More... | |
virtual size_t | GetButtonName (DeviceButtonId deviceButton, char *buffer, size_t bufferLength) const |
Gets the name of the given button. More... | |
virtual DeviceButtonId | GetButtonByName (const char *name) const |
Returns the button's ID if the name is of this device's buttons. More... | |
InputState * | GetInputState () |
Returns the device's state, probably best if only used internally. | |
const InputState * | GetInputState () const |
Returns the device's state, probably best if only used internally. | |
InputState * | GetPreviousInputState () |
Returns the device's previous state, probably best if only used internally. | |
virtual InputState * | GetNextInputState () |
Returns the device's state that is currently being determined, may be 0 if not available. | |
float | GetDeadZone (DeviceButtonId buttonId) const |
Returns the previously set dead zone for the given button or 0.0f if none was set yet. | |
void | SetDeadZone (DeviceButtonId buttonId, float value) |
Sets the dead zone for the given button. | |
void | SetDebugRenderingEnabled (bool enabled) |
Enable/disable debug rendering of this device. | |
bool | IsDebugRenderingEnabled () const |
Returns true if debug rendering is enabled, false otherwise. | |
bool | IsSynced () const |
void | SetSynced (bool synced) |
Sets if this device is being controlled remotely or from a recording. More... | |
Protected Member Functions | |
void | InternalUpdate (InputDeltaState *delta) |
Implementation of the device's Update function. More... | |
Protected Member Functions inherited from gainput::InputGesture | |
InputGesture (InputManager &manager, DeviceId device, unsigned index) | |
Gesture base constructor. | |
DeviceState | InternalGetState () const |
Implementation of the device's GetState function. More... | |
Protected Member Functions inherited from gainput::InputDevice | |
size_t | CheckAllButtonsDown (DeviceButtonSpec *outButtons, size_t maxButtonCount, unsigned start, unsigned end) const |
Checks which buttons are down. More... | |
Additional Inherited Members | |
Public Types inherited from gainput::InputDevice | |
enum | DeviceType { DT_MOUSE, DT_KEYBOARD, DT_PAD, DT_TOUCH, DT_BUILTIN, DT_REMOTE, DT_GESTURE, DT_CUSTOM, DT_COUNT } |
Type of an input device. More... | |
enum | DeviceVariant { DV_STANDARD, DV_RAW, DV_NULL } |
Variant of an input device type. More... | |
enum | DeviceState { DS_OK, DS_LOW_BATTERY, DS_UNAVAILABLE } |
State of an input device. More... | |
Static Public Attributes inherited from gainput::InputDevice | |
static const unsigned | AutoIndex = unsigned(-1) |
Protected Attributes inherited from gainput::InputDevice | |
InputManager & | manager_ |
The manager this device belongs to. | |
DeviceId | deviceId_ |
The ID of this device. | |
unsigned | index_ |
Index of this device among devices of the same type. | |
InputState * | state_ |
The current state of this device. | |
InputState * | previousState_ |
The previous state of this device. | |
float * | deadZones_ |
bool | debugRenderingEnabled_ |
Specifies if this device is currently rendering debug information. | |
bool | synced_ |
A double-click gesture.
This gesture implements the classic double-click functionality. Its only device button DoubleClickTriggered is true for one frame after the specified button has been active for a specified number of times in a given time frame. It's also possible to disallow the pointer from travelling too far between and during clicks.
After instantiating the gesture like any other input device, call one of the Initialize() functions to properly set it up.
In order for this gesture to be available, Gainput must be built with GAINPUT_ENABLE_ALL_GESTURES
or GAINPUT_ENABLE_DOUBLE_CLICK_GESTURE
defined.
void gainput::DoubleClickGesture::Initialize | ( | DeviceId | actionButtonDevice, |
DeviceButtonId | actionButton, | ||
uint64_t | timeSpan = 300 |
||
) |
Sets up the gesture for operation without position checking.
actionButtonDevice | ID of the input device containing the action button. |
actionButton | ID of the device button to be used as the action button. |
timeSpan | Allowed time between clicks in milliseconds. |
void gainput::DoubleClickGesture::Initialize | ( | DeviceId | actionButtonDevice, |
DeviceButtonId | actionButton, | ||
DeviceId | xAxisDevice, | ||
DeviceButtonId | xAxis, | ||
float | xTolerance, | ||
DeviceId | yAxisDevice, | ||
DeviceButtonId | yAxis, | ||
float | yTolerance, | ||
uint64_t | timeSpan = 300 |
||
) |
Sets up the gesture for operation with position checking, i.e. the user may not move the mouse too far between clicks.
actionButtonDevice | ID of the input device containing the action button. |
actionButton | ID of the device button to be used as the action button. |
xAxisDevice | ID of the input device containing the X coordinate of the pointer. |
xAxis | ID of the device button/axis to be used for the X coordinate of the pointer. |
xTolerance | The amount the pointer may travel in the X coordinate to still be valid. |
yAxisDevice | ID of the input device containing the Y coordinate of the pointer. |
yAxis | ID of the device button/axis to be used for the Y coordinate of the pointer. |
yTolerance | The amount the pointer may travel in the Y coordinate to still be valid. |
timeSpan | Allowed time between clicks in milliseconds. |
|
protectedvirtual |
Implementation of the device's Update function.
delta | The delta state to add changes to. May be 0. |
Implements gainput::InputDevice.
|
inline |
Sets the number of clicks to trigger an action.
count | The number of clicks that will trigger this gesture; the default is 2, i.e. double-click. |