00001 #ifndef INPUTDEVICESTATE_H 00002 #define INPUTDEVICESTATE_H 00003 00004 #pragma once 00005 #include "Entity.h" 00006 00007 #define KEY_DEFAULT 0x00000 00008 #define KEY_UP 0xA0 00009 #define KEY_DOWN 0x0A 00010 00012 00015 class CInputDeviceState 00016 { 00017 CREATOR(CInputDevice); 00018 protected: 00019 00020 CInputDeviceState(); 00021 virtual ~CInputDeviceState(); 00022 00023 UINT *m_uipKeys; 00024 UINT m_uiKeyCount; 00026 #ifdef DIRECT_INPUT 00027 LPDIRECTINPUTDEVICE8 m_pDIDevice; 00028 #endif 00029 00033 virtual void Destroy(); 00034 00035 public: 00041 virtual UINT GetKeyState(UINT uiKeyIndex); 00046 virtual UINT GetKeyCount(); 00052 virtual void SetKeyState(UINT uiKey, UINT uiState); 00058 virtual bool IsKeyDown(UINT uiKey); 00064 virtual bool IsKeyUp(UINT uiKey); 00069 virtual UINT Poll() = 0; 00070 }; 00071 00072 #endif