19 if ( m_DeviceList.Count() == 0 )
24 for (
auto it = m_DeviceList.Begin(); it != m_DeviceList.End(); ++it )
26 if ( it->GetClass()->IsA( a_pClass ) )
45 if ( device !=
TNULL )
47 m_DeviceList.InsertTail( device );
55 if ( device !=
TNULL )
57 m_DeviceList.Remove( device );
67 for (
auto it = m_DeviceList.Begin(); it != m_DeviceList.End(); ++it )
69 bResult &= it->Acquire();
80 for (
auto it = m_DeviceList.Begin(); it != m_DeviceList.End(); ++it )
82 bResult &= it->Unacquire();
93 for (
auto it = m_DeviceList.Begin(); it != m_DeviceList.End(); ++it )
95 bResult &= it->Flush();
104 m_bIsExclusiveMode = a_bIsExclusive;
110 return m_bIsExclusiveMode;
116 TINT iNumProcessed = 0;
118 for (
auto it = m_DeviceList.Begin(); it != m_DeviceList.End(); ++it )
120 if ( it->IsAcquired() )
122 it->Update( a_fDeltaTime );
126 for (
auto it = m_DeviceList.Begin(); it != m_DeviceList.End(); ++it )
128 if ( it->IsAcquired() )
130 iNumProcessed += it->ProcessEvents( m_InputEventEmitter, a_fDeltaTime );
134 return iNumProcessed;
140 for (
auto it = m_DeviceList.Begin(); it != m_DeviceList.End(); ++it )
142 it->StopAllRepeats();
149 for (
auto it = m_DeviceList.Begin(); it != m_DeviceList.End(); ++it )
160 : m_InputEventEmitter( this )
162 m_bIsExclusiveMode =
TFALSE;
Keyboard input device for the Toshi engine.
Mouse input device for the Toshi engine.
Input system interface for the Toshi engine.
#define TOSHI_NAMESPACE_START
#define TOSHI_NAMESPACE_END
#define TDEFINE_CLASS_NORUNTIME(...)
TInputDevice * GetDeviceByIndex(TClass *a_pClass, TUINT a_uiIndex)
virtual TBOOL GetExclusiveMode() const
virtual TINT ProcessEvents(TFLOAT a_fDeltaTime)
virtual void SetExclusiveMode(TBOOL a_bIsExclusive)
void RemoveDevice(TInputDevice *device)
virtual TBOOL AcquireAll()
void AddDevice(TInputDevice *device)
virtual TBOOL UnacquireAll()
virtual void StopAllRepeats()
union TInputInterface::InputEvent::@331074113164076150144143322340042066145372056013 m_Magnitude
TINT8 GetAxisCount() const
TBOOL StartRepeat(TFLOAT a_fFirstRepeatTime=0.5f, TFLOAT a_fRepeatTime=0.1f) const
InputEvent(TInputDevice *a_pDevice, TINT a_iDoodad, EVENT_TYPE a_eEventType)
TBOOL IsMagnitudeFloat() const
TBOOL m_bIsMagnitudeFloat
TFLOAT GetMagnitudeFloat(TINT a_iAxis) const
TBOOL IsMagnitudeInt() const
TINT GetMagnitudeInt(TINT a_iAxis) const
void SetInputInterface(TInputInterface *a_pInterface)
static TWCHAR * String16Copy(TWCHAR *dst, const TWCHAR *src, TSIZE size=-1)