Gainput
v1.0.0
|
A multi-touch pinch-to-scale gesture. More...
#include <GainputPinchGesture.h>
Public Member Functions | |
PinchGesture (InputManager &manager, DeviceId device, unsigned index, DeviceVariant variant) | |
Initializes the gesture. | |
~PinchGesture () | |
Uninitializes the gesture. | |
void | Initialize (DeviceId downDevice, DeviceButtonId downButton, DeviceId xAxisDevice, DeviceButtonId xAxis, DeviceId yAxisDevice, DeviceButtonId yAxis, DeviceId down2Device, DeviceButtonId downButton2, DeviceId xAxis2Device, DeviceButtonId xAxis2, DeviceId yAxis2Device, DeviceButtonId yAxis2) |
Sets up the gesture for operation with the given axes and buttons. 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 multi-touch pinch-to-scale gesture.
This gesture, mainly meant for multi-touch devices, triggers (PinchTriggered is down) when both specified source buttons are down. It will then determine the distance between the two 2D touch points and report any change in distance as a factor of the initial distance using PinchScale.
After instantiating the gesture like any other input device, call Initialize() 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_PINCH_GESTURE
defined.
void gainput::PinchGesture::Initialize | ( | DeviceId | downDevice, |
DeviceButtonId | downButton, | ||
DeviceId | xAxisDevice, | ||
DeviceButtonId | xAxis, | ||
DeviceId | yAxisDevice, | ||
DeviceButtonId | yAxis, | ||
DeviceId | down2Device, | ||
DeviceButtonId | downButton2, | ||
DeviceId | xAxis2Device, | ||
DeviceButtonId | xAxis2, | ||
DeviceId | yAxis2Device, | ||
DeviceButtonId | yAxis2 | ||
) |
Sets up the gesture for operation with the given axes and buttons.
downDevice | ID of the input device containing the first touch button. |
downButton | ID of the device button to be used as the first touch button. |
xAxisDevice | ID of the input device containing the X coordinate of the first touch point. |
xAxis | ID of the device button/axis to be used for the X coordinate of the first touch point. |
yAxisDevice | ID of the input device containing the Y coordinate of the first touch point. |
yAxis | ID of the device button/axis to be used for the Y coordinate of the first touch point. |
down2Device | ID of the input device containing the second touch button. |
downButton2 | ID of the device button to be used as the second touch button. |
xAxis2Device | ID of the input device containing the X coordinate of the second touch point. |
xAxis2 | ID of the device button/axis to be used for the X coordinate of the second touch point. |
yAxis2Device | ID of the input device containing the Y coordinate of the second touch point. |
yAxis2 | ID of the device button/axis to be used for the Y coordinate of the second touch point. |
|
protectedvirtual |
Implementation of the device's Update function.
delta | The delta state to add changes to. May be 0. |
Implements gainput::InputDevice.