#ifndef INPUTSTATE_H #define INPUTSTATE_H class rtsInputState { private: //mouse states bool m_left_button; bool m_right_button; bool m_middle_button; //keyboard keys char* m_keys_pressed; //mouse position int m_mouse_x; int m_mouse_y; //some cool states for general use bool m_selection_state; //modifier keys bool m_alt_key; bool m_ctrl_key; bool m_shift_key; public: void PressLeftButton() {m_left_button = true;} void ReleaseLeftButton() {m_left_button = false;} void PressMiddleButton() {m_middle_button = true;} void ReleaseMiddleButton() {m_middle_button = false;} void PressRightButton() {m_right_button = true;} void ReleaseRightButton() {m_right_button = false;} void SetMousePosition(int x, int y) {m_mouse_x = x; m_mouse_y = y;} bool getRightButton() {return m_right_button;} bool getLeftButton() {return m_left_button;} bool getMiddleButton() {return m_middle_button;} int getMouseX() {return m_mouse_x;} int getMouseY() {return m_mouse_y;} //modifier keys bool getShiftState(){return m_shift_key;} bool getAltState(){return m_alt_key;} bool getCtrlState(){return m_ctrl_key;} void setShiftState(bool val){m_shift_key = val;} void setCtrlState(bool val){m_ctrl_key = val;} void setAltState(bool val){m_alt_key = val;} //other useful states bool getSelectionState(){return m_selection_state;} void StartSelection(){m_selection_state = true;} void EndSelection(){m_selection_state = false;} }; #endif