summaryrefslogtreecommitdiff
path: root/Plugins/MonoGame.Extended/source/MonoGame.Extended.Input/MouseExtended.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Plugins/MonoGame.Extended/source/MonoGame.Extended.Input/MouseExtended.cs')
-rw-r--r--Plugins/MonoGame.Extended/source/MonoGame.Extended.Input/MouseExtended.cs34
1 files changed, 34 insertions, 0 deletions
diff --git a/Plugins/MonoGame.Extended/source/MonoGame.Extended.Input/MouseExtended.cs b/Plugins/MonoGame.Extended/source/MonoGame.Extended.Input/MouseExtended.cs
new file mode 100644
index 0000000..61d6d18
--- /dev/null
+++ b/Plugins/MonoGame.Extended/source/MonoGame.Extended.Input/MouseExtended.cs
@@ -0,0 +1,34 @@
+using System;
+using Microsoft.Xna.Framework;
+using Microsoft.Xna.Framework.Input;
+
+namespace MonoGame.Extended.Input
+{
+ public static class MouseExtended
+ {
+ // TODO: This global static state was a horrible idea.
+ private static MouseState _currentMouseState;
+ private static MouseState _previousMouseState;
+
+ public static MouseStateExtended GetState()
+ {
+ return new MouseStateExtended(_currentMouseState, _previousMouseState);
+ }
+
+ public static void Refresh()
+ {
+ _previousMouseState = _currentMouseState;
+ _currentMouseState = Mouse.GetState();
+ }
+
+ public static void SetPosition(int x, int y) => Mouse.SetPosition(x, y);
+ public static void SetPosition(Point point) => Mouse.SetPosition(point.X, point.Y);
+ public static void SetCursor(MouseCursor cursor) => Mouse.SetCursor(cursor);
+
+ public static IntPtr WindowHandle
+ {
+ get => Mouse.WindowHandle;
+ set => Mouse.WindowHandle = value;
+ }
+ }
+} \ No newline at end of file