summaryrefslogtreecommitdiff
path: root/source/modules/asura-core/Input/InputDevice.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/modules/asura-core/Input/InputDevice.h')
-rw-r--r--source/modules/asura-core/Input/InputDevice.h26
1 files changed, 16 insertions, 10 deletions
diff --git a/source/modules/asura-core/Input/InputDevice.h b/source/modules/asura-core/Input/InputDevice.h
index 39f3d37..0ecce99 100644
--- a/source/modules/asura-core/Input/InputDevice.h
+++ b/source/modules/asura-core/Input/InputDevice.h
@@ -8,29 +8,35 @@
#include "../CoreConfig.h"
#include "KeyboardState.h"
+#include "MouseState.h"
+#include "JoystickState.h"
namespace_begin(AsuraEngine)
namespace_begin(Input)
-/// ͬƽ̨̳ಢʵhandleӿ
-ASURA_ABSTRACT class InputDevice : public Singleton<InputDevice>
+class InputDevice
{
-protected:
+public:
- void OnKeyDown(int key);
- void OnKeyUp(int key);
+ InputDevice();
+ virtual ~InputDevice();
- void OnMouseMove(const AEMath::Vector2f& position);
+protected:
- void OnMouseButtonDown(int key);
- void OnMouseButtonUp(int key);
+ virtual bool UpdateState();
- void OnMouseWheel();
+ MouseState m_Mouse;
+ KeyboardState m_Keyboard;
+ JoystickState m_Joysticks;
- void OnInputChar();
+private:
+
+ bool UpdateMousePosition();
};
+//bool ConvertPositionToClientAreaCoord();
+
namespace_end
namespace_end