DInputDevice Class Reference

#include <winDInputDevice.h>

Inheritance diagram for DInputDevice:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 DInputDevice (const DIDEVICEINSTANCE *deviceInst)
 ~DInputDevice ()
bool create ()
void destroy ()
bool acquire ()
bool unacquire ()
bool isAcquired ()
bool isPolled ()
U8 getDeviceType ()
U8 getDeviceID ()
const char * getName ()
const char * getProductName ()
void rumble (float x, float y)
const char * getJoystickAxesString ()
bool process ()

Static Public Member Functions

static void init ()
static bool joystickDetected ()

Static Public Attributes

static LPDIRECTINPUT8 smDInputInterface

Protected Types

 QUEUED_BUFFER_SIZE = 128
 SIZEOF_BUTTON = 1
 SIZEOF_KEY = 1
 SIZEOF_AXIS = 4
 SIZEOF_POV = 4
enum  Constants {
  QUEUED_BUFFER_SIZE = 128,
  SIZEOF_BUTTON = 1,
  SIZEOF_KEY = 1,
  SIZEOF_AXIS = 4,
  SIZEOF_POV = 4
}

Protected Member Functions

bool enumerateObjects ()
bool processAsync ()
bool processImmediate ()
DWORD findObjInstance (DWORD offset)
bool buildEvent (DWORD offset, S32 newData, S32 oldData)

Static Protected Member Functions

static BOOL CALLBACK EnumObjectsProc (const DIDEVICEOBJECTINSTANCE *doi, LPVOID pvRef)

Protected Attributes

bool mIsXInput
 Are we an XInput device?
LPDIRECTINPUTDEVICE8 mDevice
DIDEVICEINSTANCE mDeviceInstance
DIDEVCAPS mDeviceCaps
U8 mDeviceType
U8 mDeviceID
bool mAcquired
bool mNeedSync
LPDIRECTINPUTEFFECT mForceFeedbackEffect
 Holds our DirectInput FF Effect.
DWORD mNumForceFeedbackAxes
 # axes (we only support 0, 1, or 2
DWORD mForceFeedbackAxes [2]
 Force Feedback axes offsets into DIOBJECTFORMAT.
DIDEVICEOBJECTINSTANCE * mObjInstance
DIOBJECTDATAFORMAT * mObjFormat
ObjInfo * mObjInfo
U8mObjBuffer1
U8mObjBuffer2
U8mPrevObjBuffer
S32 mPrevPOVPos
U32 mObjBufferSize
U32 mObjCount
U32 mObjEnumCount
U32 mObjBufferOfs

Static Protected Attributes

static U8 smDeviceCount [NUM_INPUT_DEVICE_TYPES]
static bool smInitialized

Member Enumeration Documentation

enum DInputDevice::Constants [protected]

Enumerator:
QUEUED_BUFFER_SIZE 
SIZEOF_BUTTON 
SIZEOF_KEY 
SIZEOF_AXIS 
SIZEOF_POV 


Constructor & Destructor Documentation

DInputDevice::DInputDevice ( const DIDEVICEINSTANCE *  deviceInst  ) 

DInputDevice::~DInputDevice (  ) 


Member Function Documentation

static BOOL CALLBACK DInputDevice::EnumObjectsProc ( const DIDEVICEOBJECTINSTANCE *  doi,
LPVOID  pvRef 
) [static, protected]

bool DInputDevice::enumerateObjects (  )  [protected]

bool DInputDevice::processAsync (  )  [protected]

bool DInputDevice::processImmediate (  )  [protected]

DWORD DInputDevice::findObjInstance ( DWORD  offset  )  [protected]

bool DInputDevice::buildEvent ( DWORD  offset,
S32  newData,
S32  oldData 
) [protected]

static void DInputDevice::init (  )  [static]

bool DInputDevice::create (  ) 

void DInputDevice::destroy (  ) 

bool DInputDevice::acquire (  ) 

bool DInputDevice::unacquire (  ) 

bool DInputDevice::isAcquired (  )  [inline]

bool DInputDevice::isPolled (  )  [inline]

U8 DInputDevice::getDeviceType (  )  [inline]

U8 DInputDevice::getDeviceID (  )  [inline]

const char* DInputDevice::getName (  ) 

const char* DInputDevice::getProductName (  ) 

void DInputDevice::rumble ( float  x,
float  y 
)

const char* DInputDevice::getJoystickAxesString (  ) 

static bool DInputDevice::joystickDetected (  )  [static]

bool DInputDevice::process (  )  [virtual]

Implements InputDevice.


Member Data Documentation

LPDIRECTINPUT8 DInputDevice::smDInputInterface [static]

U8 DInputDevice::smDeviceCount[NUM_INPUT_DEVICE_TYPES] [static, protected]

bool DInputDevice::smInitialized [static, protected]

Are we an XInput device?

LPDIRECTINPUTDEVICE8 DInputDevice::mDevice [protected]

DIDEVICEINSTANCE DInputDevice::mDeviceInstance [protected]

DIDEVCAPS DInputDevice::mDeviceCaps [protected]

LPDIRECTINPUTEFFECT DInputDevice::mForceFeedbackEffect [protected]

Holds our DirectInput FF Effect.

# axes (we only support 0, 1, or 2

Force Feedback axes offsets into DIOBJECTFORMAT.

DIDEVICEOBJECTINSTANCE* DInputDevice::mObjInstance [protected]

DIOBJECTDATAFORMAT* DInputDevice::mObjFormat [protected]

ObjInfo* DInputDevice::mObjInfo [protected]