OpenBarnyard
 
Loading...
Searching...
No Matches
TInputInterface::InputEvent Class Reference

#include <TInputInterface.h>

Public Member Functions

 InputEvent (TInputDevice *a_pDevice, TINT a_iDoodad, EVENT_TYPE a_eEventType)
 
 InputEvent (TInputDevice *a_pDevice, TINT a_iDoodad, EVENT_TYPE a_eEventType, TWCHAR *a_wszString)
 
 InputEvent (TInputDevice *a_pDevice, TINT a_iDoodad, EVENT_TYPE a_eEventType, TINT a_iMagnitude1)
 
 InputEvent (TInputDevice *a_pDevice, TINT a_iDoodad, EVENT_TYPE a_eEventType, TINT a_iMagnitude1, TINT a_iMagnitude2)
 
 InputEvent (TInputDevice *a_pDevice, TINT a_iDoodad, EVENT_TYPE a_eEventType, TFLOAT a_fMagnitude1)
 
 InputEvent (TInputDevice *a_pDevice, TINT a_iDoodad, EVENT_TYPE a_eEventType, TFLOAT a_fMagnitude1, TFLOAT a_fMagnitude2)
 
TBOOL StartRepeat (TFLOAT a_fFirstRepeatTime=0.5f, TFLOAT a_fRepeatTime=0.1f) const
 
TINT GetMagnitudeInt (TINT a_iAxis) const
 
TFLOAT GetMagnitudeFloat (TINT a_iAxis) const
 
TINT GetDoodad () const
 
EVENT_TYPE GetEventType () const
 
TInputDeviceGetSource () const
 
TINT8 GetAxisCount () const
 
TBOOL IsMagnitudeFloat () const
 
TBOOL IsMagnitudeInt () const
 

Public Attributes

TINT m_iDoodad
 
EVENT_TYPE m_eEventType
 
TBOOL m_bIsMagnitudeFloat
 
TINT8 m_iAxisCount
 
TInputDevicem_pSource
 
TWCHAR m_wszString [4]
 
union { 
 
   TFLOAT   Floats [2] 
 
   TINT   Ints [2] 
 
m_Magnitude 
 

Detailed Description

Definition at line 36 of file TInputInterface.h.

Constructor & Destructor Documentation

◆ InputEvent() [1/6]

TInputInterface::InputEvent::InputEvent ( TInputDevice * a_pDevice,
TINT a_iDoodad,
EVENT_TYPE a_eEventType )

Definition at line 171 of file TInputInterface.cpp.

172{
173 m_pSource = a_pDevice;
174 m_iDoodad = a_iDoodad;
175 m_eEventType = a_eEventType;
177 m_iAxisCount = 0;
178 m_wszString[ 0 ] = L'\0';
179}
#define TFALSE
Definition Typedefs.h:24

◆ InputEvent() [2/6]

TInputInterface::InputEvent::InputEvent ( TInputDevice * a_pDevice,
TINT a_iDoodad,
EVENT_TYPE a_eEventType,
TWCHAR * a_wszString )

Definition at line 181 of file TInputInterface.cpp.

182{
183 m_pSource = a_pDevice;
184 m_iDoodad = a_iDoodad;
185 m_eEventType = a_eEventType;
187 m_iAxisCount = 0;
188 TStringManager::String16Copy( m_wszString, a_wszString, 3 );
189 m_Magnitude.Ints[ 0 ] = 0;
190}
union TInputInterface::InputEvent::@331074113164076150144143322340042066145372056013 m_Magnitude
static TWCHAR * String16Copy(TWCHAR *dst, const TWCHAR *src, TSIZE size=-1)

◆ InputEvent() [3/6]

TInputInterface::InputEvent::InputEvent ( TInputDevice * a_pDevice,
TINT a_iDoodad,
EVENT_TYPE a_eEventType,
TINT a_iMagnitude1 )

Definition at line 192 of file TInputInterface.cpp.

193{
194 m_pSource = a_pDevice;
195 m_iDoodad = a_iDoodad;
196 m_eEventType = a_eEventType;
197 m_Magnitude.Ints[ 0 ] = a_iMagnitude1;
199 m_iAxisCount = 1;
200 m_wszString[ 0 ] = L'\0';
201}

◆ InputEvent() [4/6]

TInputInterface::InputEvent::InputEvent ( TInputDevice * a_pDevice,
TINT a_iDoodad,
EVENT_TYPE a_eEventType,
TINT a_iMagnitude1,
TINT a_iMagnitude2 )

Definition at line 204 of file TInputInterface.cpp.

205{
206 m_pSource = a_pDevice;
207 m_iDoodad = a_iDoodad;
208 m_eEventType = a_eEventType;
209 m_Magnitude.Ints[ 0 ] = a_iMagnitude1;
210 m_Magnitude.Ints[ 1 ] = a_iMagnitude2;
212 m_iAxisCount = 2;
213 m_wszString[ 0 ] = L'\0';
214}

◆ InputEvent() [5/6]

TInputInterface::InputEvent::InputEvent ( TInputDevice * a_pDevice,
TINT a_iDoodad,
EVENT_TYPE a_eEventType,
TFLOAT a_fMagnitude1 )

Definition at line 216 of file TInputInterface.cpp.

217{
218 m_pSource = a_pDevice;
219 m_iDoodad = a_iDoodad;
220 m_eEventType = a_eEventType;
221 m_Magnitude.Floats[ 0 ] = a_fMagnitude1;
223 m_iAxisCount = 1;
224 m_wszString[ 0 ] = L'\0';
225}
#define TTRUE
Definition Typedefs.h:25

◆ InputEvent() [6/6]

TInputInterface::InputEvent::InputEvent ( TInputDevice * a_pDevice,
TINT a_iDoodad,
EVENT_TYPE a_eEventType,
TFLOAT a_fMagnitude1,
TFLOAT a_fMagnitude2 )

Definition at line 228 of file TInputInterface.cpp.

229{
230 m_pSource = a_pDevice;
231 m_iDoodad = a_iDoodad;
232 m_eEventType = a_eEventType;
233 m_Magnitude.Floats[ 0 ] = a_fMagnitude1;
234 m_Magnitude.Floats[ 1 ] = a_fMagnitude2;
236 m_iAxisCount = 2;
237 m_wszString[ 0 ] = L'\0';
238}

Member Function Documentation

◆ GetAxisCount()

TINT8 TInputInterface::InputEvent::GetAxisCount ( ) const
inline

Definition at line 54 of file TInputInterface.h.

54{ return m_iAxisCount; }

◆ GetDoodad()

TINT TInputInterface::InputEvent::GetDoodad ( ) const
inline

Definition at line 51 of file TInputInterface.h.

51{ return m_iDoodad; }

◆ GetEventType()

EVENT_TYPE TInputInterface::InputEvent::GetEventType ( ) const
inline

Definition at line 52 of file TInputInterface.h.

52{ return m_eEventType; }

◆ GetMagnitudeFloat()

TFLOAT TInputInterface::InputEvent::GetMagnitudeFloat ( TINT a_iAxis) const

Definition at line 260 of file TInputInterface.cpp.

261{
262 TASSERT( a_iAxis >= 0 && a_iAxis < GetAxisCount() );
263
264 if ( IsMagnitudeFloat() )
265 {
266 return m_Magnitude.Floats[ a_iAxis ];
267 }
268
269 return (TFLOAT)m_Magnitude.Ints[ a_iAxis ];
270}
#define TASSERT(X,...)
Definition Defines.h:138
float TFLOAT
Definition Typedefs.h:4

◆ GetMagnitudeInt()

TINT TInputInterface::InputEvent::GetMagnitudeInt ( TINT a_iAxis) const

Definition at line 240 of file TInputInterface.cpp.

241{
242 TASSERT( a_iAxis >= 0 && a_iAxis < GetAxisCount() );
243
244 if ( IsMagnitudeInt() )
245 {
246 return m_Magnitude.Ints[ a_iAxis ];
247 }
248 else
249 {
250 if ( m_Magnitude.Floats[ a_iAxis ] < -0.5f )
251 {
252 return -1;
253 }
254
255 return 0.5f < m_Magnitude.Floats[ a_iAxis ];
256 }
257}

◆ GetSource()

TInputDevice * TInputInterface::InputEvent::GetSource ( ) const
inline

Definition at line 53 of file TInputInterface.h.

53{ return m_pSource; }

◆ IsMagnitudeFloat()

TBOOL TInputInterface::InputEvent::IsMagnitudeFloat ( ) const
inline

Definition at line 56 of file TInputInterface.h.

56{ return m_bIsMagnitudeFloat; }

◆ IsMagnitudeInt()

TBOOL TInputInterface::InputEvent::IsMagnitudeInt ( ) const
inline

Definition at line 57 of file TInputInterface.h.

57{ return !m_bIsMagnitudeFloat; }

◆ StartRepeat()

TBOOL TInputInterface::InputEvent::StartRepeat ( TFLOAT a_fFirstRepeatTime = 0.5f,
TFLOAT a_fRepeatTime = 0.1f ) const

Definition at line 273 of file TInputInterface.cpp.

274{
275 return m_pSource->StartRepeat( m_iDoodad, a_fFirstRepeatTime, a_fRepeatTime );
276}

Member Data Documentation

◆ Floats

TFLOAT TInputInterface::InputEvent::Floats[2]

Definition at line 69 of file TInputInterface.h.

◆ Ints

TINT TInputInterface::InputEvent::Ints[2]

Definition at line 70 of file TInputInterface.h.

◆ m_bIsMagnitudeFloat

TBOOL TInputInterface::InputEvent::m_bIsMagnitudeFloat

Definition at line 62 of file TInputInterface.h.

◆ m_eEventType

EVENT_TYPE TInputInterface::InputEvent::m_eEventType

Definition at line 61 of file TInputInterface.h.

◆ m_iAxisCount

TINT8 TInputInterface::InputEvent::m_iAxisCount

Definition at line 63 of file TInputInterface.h.

◆ m_iDoodad

TINT TInputInterface::InputEvent::m_iDoodad

Definition at line 60 of file TInputInterface.h.

◆ [union]

union { ... } TInputInterface::InputEvent::m_Magnitude

◆ m_pSource

TInputDevice* TInputInterface::InputEvent::m_pSource

Definition at line 64 of file TInputInterface.h.

◆ m_wszString

TWCHAR TInputInterface::InputEvent::m_wszString[4]

Definition at line 65 of file TInputInterface.h.


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