00001
00002
00003 #ifndef NV_GAMEPAD_XINPUT_H
00004 #define NV_GAMEPAD_XINPUT_H
00005
00006 #include <NvFoundation.h>
00007 #include <NvGamepad/NvGamepad.h>
00008
00011
00012 typedef struct _XINPUT_STATE XINPUT_STATE;
00013
00022 class NvGamepadXInput : public NvGamepad {
00023 public:
00024 NvGamepadXInput();
00025 virtual ~NvGamepadXInput();
00026 virtual bool getState(int32_t padID, State& state);
00027
00033 virtual uint32_t pollGamepads();
00034
00035 virtual void setMaxGamepadCount(int32_t max);
00036 virtual int32_t getMaxGamepadCount();
00037
00038 protected:
00039 void updateFromXState(State& dest, const XINPUT_STATE& src);
00040 State* mStates;
00041 XINPUT_STATE* mXStates;
00042 };
00043
00044 #endif