From bfcc6a8ad63a0eb0f06968145a310c484a96e8ca Mon Sep 17 00:00:00 2001 From: emmauss Date: Mon, 14 Jun 2021 06:42:55 +0000 Subject: Add TouchScreen Manager (#2333) --- Ryujinx.Input/HLE/InputManager.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'Ryujinx.Input/HLE/InputManager.cs') diff --git a/Ryujinx.Input/HLE/InputManager.cs b/Ryujinx.Input/HLE/InputManager.cs index 277e8ec2..699e521d 100644 --- a/Ryujinx.Input/HLE/InputManager.cs +++ b/Ryujinx.Input/HLE/InputManager.cs @@ -6,6 +6,7 @@ namespace Ryujinx.Input.HLE { public IGamepadDriver KeyboardDriver { get; private set; } public IGamepadDriver GamepadDriver { get; private set; } + public IGamepadDriver MouseDriver { get; private set; } public InputManager(IGamepadDriver keyboardDriver, IGamepadDriver gamepadDriver) { @@ -13,10 +14,27 @@ namespace Ryujinx.Input.HLE GamepadDriver = gamepadDriver; } + public void SetMouseDriver(IGamepadDriver mouseDriver) + { + MouseDriver?.Dispose(); + + MouseDriver = mouseDriver; + } + public NpadManager CreateNpadManager() { return new NpadManager(KeyboardDriver, GamepadDriver); } + + public TouchScreenManager CreateTouchScreenManager() + { + if (MouseDriver == null) + { + throw new InvalidOperationException("Mouse Driver has not been initialized."); + } + + return new TouchScreenManager(MouseDriver.GetGamepad("0") as IMouse); + } protected virtual void Dispose(bool disposing) { @@ -24,6 +42,7 @@ namespace Ryujinx.Input.HLE { KeyboardDriver?.Dispose(); GamepadDriver?.Dispose(); + MouseDriver?.Dispose(); } } -- cgit v1.2.3