aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx/Input/AvaloniaMouse.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx/Input/AvaloniaMouse.cs')
-rw-r--r--src/Ryujinx/Input/AvaloniaMouse.cs87
1 files changed, 87 insertions, 0 deletions
diff --git a/src/Ryujinx/Input/AvaloniaMouse.cs b/src/Ryujinx/Input/AvaloniaMouse.cs
new file mode 100644
index 00000000..1aa2d586
--- /dev/null
+++ b/src/Ryujinx/Input/AvaloniaMouse.cs
@@ -0,0 +1,87 @@
+using Ryujinx.Common.Configuration.Hid;
+using Ryujinx.Input;
+using System;
+using System.Drawing;
+using System.Numerics;
+
+namespace Ryujinx.Ava.Input
+{
+ internal class AvaloniaMouse : IMouse
+ {
+ private AvaloniaMouseDriver _driver;
+
+ public string Id => "0";
+ public string Name => "AvaloniaMouse";
+
+ public bool IsConnected => true;
+ public GamepadFeaturesFlag Features => throw new NotImplementedException();
+ public bool[] Buttons => _driver.PressedButtons;
+
+ public AvaloniaMouse(AvaloniaMouseDriver driver)
+ {
+ _driver = driver;
+ }
+
+ public Size ClientSize => _driver.GetClientSize();
+
+ public Vector2 GetPosition()
+ {
+ return _driver.CurrentPosition;
+ }
+
+ public Vector2 GetScroll()
+ {
+ return _driver.Scroll;
+ }
+
+ public GamepadStateSnapshot GetMappedStateSnapshot()
+ {
+ throw new NotImplementedException();
+ }
+
+ public Vector3 GetMotionData(MotionInputId inputId)
+ {
+ throw new NotImplementedException();
+ }
+
+ public GamepadStateSnapshot GetStateSnapshot()
+ {
+ throw new NotImplementedException();
+ }
+
+ public (float, float) GetStick(StickInputId inputId)
+ {
+ throw new NotImplementedException();
+ }
+
+ public bool IsButtonPressed(MouseButton button)
+ {
+ return _driver.IsButtonPressed(button);
+ }
+
+ public bool IsPressed(GamepadButtonInputId inputId)
+ {
+ throw new NotImplementedException();
+ }
+
+ public void Rumble(float lowFrequency, float highFrequency, uint durationMs)
+ {
+ throw new NotImplementedException();
+ }
+
+ public void SetConfiguration(InputConfig configuration)
+ {
+ throw new NotImplementedException();
+ }
+
+ public void SetTriggerThreshold(float triggerThreshold)
+ {
+ throw new NotImplementedException();
+ }
+
+ public void Dispose()
+ {
+ _driver = null;
+ }
+ }
+}