Open 3D Engine AzFramework API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AzFramework::InputDeviceTouch Class Reference

#include <InputDeviceTouch.h>

Inherits AzFramework::InputDevice.

Classes

class  Implementation
 Base class for platform specific implementations of touch input devices. More...
 
struct  Touch
 

Public Types

using ImplementationFactory = Implementation *(InputDeviceTouch &)
 Alias for the function type used to create a custom implementation for this input device.
 

Public Member Functions

 AZ_CLASS_ALLOCATOR (InputDeviceTouch, AZ::SystemAllocator)
 
 AZ_RTTI (InputDeviceTouch, "{796E4C57-4D6C-4DAA-8367-9026509E86EF}", InputDevice)
 
 InputDeviceTouch (const InputDeviceId &inputDeviceId=Id, ImplementationFactory implementationFactory=&Implementation::Create)
 
 AZ_DISABLE_COPY_MOVE (InputDeviceTouch)
 
 ~InputDeviceTouch () override
 Destructor.
 
LocalUserId GetAssignedLocalUserId () const override
 AzFramework::InputDevice::GetAssignedLocalUserId
 
const InputChannelByIdMap & GetInputChannelsById () const override
 AzFramework::InputDevice::GetInputChannelsById
 
bool IsSupported () const override
 AzFramework::InputDevice::IsSupported
 
bool IsConnected () const override
 AzFramework::InputDevice::IsConnected
 
void TickInputDevice () override
 AzFramework::InputDeviceRequests::TickInputDevice
 
void SetImplementation (AZStd::unique_ptr< Implementation > impl)
 
- Public Member Functions inherited from AzFramework::InputDevice
 AZ_CLASS_ALLOCATOR (InputDevice, AZ::SystemAllocator)
 
 AZ_RTTI (InputDevice, "{29F9FB6B-15CB-4DB4-9F36-DE7396B82F3D}")
 
 InputDevice (const InputDeviceId &inputDeviceId)
 
 AZ_DISABLE_COPY_MOVE (InputDevice)
 
 ~InputDevice () override
 Destructor.
 
const InputDeviceGetInputDevice () const final
 AzFramework::InputDeviceRequests::GetInputDevice
 
const InputDeviceIdGetInputDeviceId () const
 
virtual LocalUserId GetAssignedLocalUserId () const
 
virtual void PromptLocalUserSignIn () const
 
virtual const InputChannelByIdMap & GetInputChannelsById () const =0
 
virtual bool IsSupported () const =0
 
virtual bool IsConnected () const =0
 

Static Public Member Functions

static bool IsTouchDevice (const InputDeviceId &inputDeviceId)
 
static void Reflect (AZ::ReflectContext *context)
 
- Static Public Member Functions inherited from AzFramework::InputDevice
static void Reflect (AZ::ReflectContext *context)
 

Static Public Attributes

static constexpr InputDeviceId Id {"touch"}
 The id used to identify the primary touch input device.
 

Protected Types

using TouchChannelByIdMap = AZStd::unordered_map< InputChannelId, InputChannelAnalogWithPosition2D * >
 Alias for verbose container class.
 

Protected Attributes

InputChannelByIdMap m_allChannelsById
 All touch channels by id.
 
TouchChannelByIdMap m_touchChannelsById
 All touch channels by id.
 

Additional Inherited Members

- Protected Member Functions inherited from AzFramework::InputDevice
void BroadcastInputChannelEvent (const InputChannel &inputChannel) const
 
void BroadcastInputTextEvent (const AZStd::string &textUTF8) const
 
void BroadcastInputDeviceConnectedEvent () const
 Broadcast an event when the input device connects to the system.
 
void BroadcastInputDeviceDisconnectedEvent () const
 Broadcast an event when the input device disconnects from the system.
 
void ResetInputChannelStates ()
 Reset the state of all this input device's associated input channels.
 

Detailed Description

Defines a generic touch input device, including the ids of all its associated input channels. Platform specific implementations are defined as private implementations so that creating an instance of this generic class will work correctly on any platform that supports touch input, while providing access to the device name and associated channel ids on any platform through the 'null' implementation (primarily so that the editor can use them to setup input mappings).

Constructor & Destructor Documentation

◆ InputDeviceTouch()

AzFramework::InputDeviceTouch::InputDeviceTouch ( const InputDeviceId inputDeviceId = Id,
ImplementationFactory  implementationFactory = &Implementation::Create 
)
explicit

Constructor

Parameters
[in]inputDeviceIdOptional override of the default input device id
[in]implementationFactoryOptional override of the default Implementation::Create

Member Function Documentation

◆ GetAssignedLocalUserId()

LocalUserId AzFramework::InputDeviceTouch::GetAssignedLocalUserId ( ) const
overridevirtual

◆ GetInputChannelsById()

const InputChannelByIdMap & AzFramework::InputDeviceTouch::GetInputChannelsById ( ) const
overridevirtual

◆ IsConnected()

bool AzFramework::InputDeviceTouch::IsConnected ( ) const
overridevirtual

◆ IsSupported()

bool AzFramework::InputDeviceTouch::IsSupported ( ) const
overridevirtual

◆ IsTouchDevice()

static bool AzFramework::InputDeviceTouch::IsTouchDevice ( const InputDeviceId inputDeviceId)
static

Check whether an input device id identifies a touch device (regardless of index)

Parameters
[in]inputDeviceIdThe input device id to check
Returns
True if the input device id identifies a touch device, false otherwise

◆ SetImplementation()

void AzFramework::InputDeviceTouch::SetImplementation ( AZStd::unique_ptr< Implementation impl)
inline

Set the implementation of this input device

Parameters
[in]implementationThe new implementation

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