#ifndef _INPUTCLASS_H_ #define _INPUTCLASS_H_ /////////////////////////////// // PRE-PROCESSING DIRECTIVES // /////////////////////////////// #define DIRECTINPUT_VERSION 0x0800 ///////////// // LINKING // ///////////// #pragma comment(lib, "dinput8.lib") #pragma comment(lib, "dxguid.lib") ////////////// // INCLUDES // ////////////// #include "Logger.h" #include //////////////////////////////////////////////////////////////////////////////// // Class name: InputClass //////////////////////////////////////////////////////////////////////////////// class InputClass { public: InputClass(); InputClass(const InputClass&); ~InputClass(); bool Initialize(HINSTANCE, HWND, int, int); void Shutdown(); bool Frame(); bool IsEscapePressed(); void GetMouseLocation(int&, int&); bool IsLeftMousePressed(); bool IsRightMousePressed(); void KeyDown(unsigned int); void KeyUp(unsigned int); bool IsLeftArrowPressed(); bool IsRightArrowPressed(); bool IsAPressed(); bool IsDPressed(); bool IsWPressed(); bool IsSPressed(); bool IsQPressed(); bool IsEPressed(); bool IsKeyDown(unsigned int); private: bool m_keys[256]; bool ReadKeyboard(); bool ReadMouse(); void ProcessInput(); private: IDirectInput8* m_directInput; IDirectInputDevice8* m_keyboard; IDirectInputDevice8* m_mouse; unsigned char m_keyboardState[256]; DIMOUSESTATE m_mouseState; int m_screenWidth, m_screenHeight, m_mouseX, m_mouseY; }; #endif