Gainput  v1.0.0
Public Member Functions | Protected Member Functions | List of all members
gainput::SimultaneouslyDownGesture Class Reference

A gesture that tracks if a number of buttons is down simultaneously. More...

#include <GainputSimultaneouslyDownGesture.h>

Inheritance diagram for gainput::SimultaneouslyDownGesture:
gainput::InputGesture gainput::InputDevice

Public Member Functions

 SimultaneouslyDownGesture (InputManager &manager, DeviceId device, unsigned index, DeviceVariant variant)
 Initializes the gesture.
 
 ~SimultaneouslyDownGesture ()
 Uninitializes the gesture.
 
void AddButton (DeviceId device, DeviceButtonId button)
 Adds the given button as a button to check. More...
 
void ClearButtons ()
 Removes all buttons previously registered through AddButton().
 
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...
 
InputStateGetInputState ()
 Returns the device's state, probably best if only used internally.
 
const InputStateGetInputState () const
 Returns the device's state, probably best if only used internally.
 
InputStateGetPreviousInputState ()
 Returns the device's previous state, probably best if only used internally.
 
virtual InputStateGetNextInputState ()
 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
InputManagermanager_
 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.
 
InputStatestate_
 The current state of this device.
 
InputStatepreviousState_
 The previous state of this device.
 
float * deadZones_
 
bool debugRenderingEnabled_
 Specifies if this device is currently rendering debug information.
 
bool synced_
 

Detailed Description

A gesture that tracks if a number of buttons is down simultaneously.

This gesture can be used to detect if multiple buttons are down at the same time. Its only device button SimultaneouslyDownTriggered is true while all buttons provided through AddButton() are down.

After instantiating the gesture like any other input device, call AddButton() as often as necessary 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_SIMULTANEOUSLY_DOWN_GESTURE defined.

See also
AddButton
InputManager::CreateDevice
Examples:
/samples/gesture/gesturesample.cpp.

Member Function Documentation

◆ AddButton()

void gainput::SimultaneouslyDownGesture::AddButton ( DeviceId  device,
DeviceButtonId  button 
)

Adds the given button as a button to check.

Parameters
deviceID of the input device containing the button to be checked.
buttonID of the device button to be checked.
Examples:
/samples/gesture/gesturesample.cpp.

◆ InternalUpdate()

void gainput::SimultaneouslyDownGesture::InternalUpdate ( InputDeltaState delta)
protectedvirtual

Implementation of the device's Update function.

Parameters
deltaThe delta state to add changes to. May be 0.

Implements gainput::InputDevice.


The documentation for this class was generated from the following file: