summaryrefslogtreecommitdiff
path: root/Source/Asura.Engine/input/mouse.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-03-14 23:12:54 +0800
committerchai <chaifix@163.com>2019-03-14 23:12:54 +0800
commit8644e03586ac9c39741f62cbcbce87b18805538c (patch)
tree72021765f5262b7f2f7eebe299fd4e1aaa7c89b7 /Source/Asura.Engine/input/mouse.h
parent8d8c4ff1664625e7428d0d31cd798d9321680cb2 (diff)
*大小写
Diffstat (limited to 'Source/Asura.Engine/input/mouse.h')
-rw-r--r--Source/Asura.Engine/input/mouse.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/Source/Asura.Engine/input/mouse.h b/Source/Asura.Engine/input/mouse.h
new file mode 100644
index 0000000..0f34fdd
--- /dev/null
+++ b/Source/Asura.Engine/input/mouse.h
@@ -0,0 +1,56 @@
+#ifndef __ASURA_ENGINE_MOUSE_H__
+#define __ASURA_ENGINE_MOUSE_H__
+
+#include "Cursor.h"
+#include "InputDevice.hpp"
+
+namespace AsuraEngine
+{
+ namespace Input
+ {
+
+ class Mouse : public InputDevice<Mouse>
+ {
+ public:
+
+ ///
+ /// ͼƬйָʹϵͳָ
+ ///
+ Cursor *CreateCursor(Graphics::ImageData *data, int hotx, int hoty);
+ Cursor *GetSystemCursor(Cursor::SystemCursor cursortype);
+
+ void SetCursor(Cursor *cursor);
+ void SetCursor() ;
+
+ Cursor* GetCursor() const;
+
+ bool IsCursorSupported() const;
+
+ double GetX() const;
+ double GetY() const;
+ void GetPosition(double &x, double &y) const;
+ void GetX(double x) ;
+ void SetY(double y) ;
+ void SetPosition(double x, double y) ;
+ void SetVisible(bool visible) ;
+ bool IsDown(const std::vector<int> &buttons) const;
+ bool IsVisible() const;
+ void SetGrabbed(bool grab) ;
+ bool IsGrabbed() const;
+ bool SetRelativeMode(bool relative) ;
+ bool GetRelativeMode() const;
+
+ //----------------------------------------------------------------------------------------------------------
+
+ LUAX_DECL_SINGLETON(Mouse);
+
+ //----------------------------------------------------------------------------------------------------------
+
+ private:
+
+ };
+
+ }
+}
+
+#endif \ No newline at end of file