summaryrefslogtreecommitdiff
path: root/source/libs/asura-lib-core/input/mouse.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/libs/asura-lib-core/input/mouse.h')
-rw-r--r--source/libs/asura-lib-core/input/mouse.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/source/libs/asura-lib-core/input/mouse.h b/source/libs/asura-lib-core/input/mouse.h
new file mode 100644
index 0000000..3ab67fa
--- /dev/null
+++ b/source/libs/asura-lib-core/input/mouse.h
@@ -0,0 +1,56 @@
+#ifndef __ASURA_ENGINE_MOUSE_H__
+#define __ASURA_ENGINE_MOUSE_H__
+
+#include "cursor.h"
+#include "input_device.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