diff options
| author | emmauss <emmausssss@gmail.com> | 2021-06-14 06:42:55 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-14 08:42:55 +0200 |
| commit | bfcc6a8ad63a0eb0f06968145a310c484a96e8ca (patch) | |
| tree | a3acfa8364d43cd960f5cb559c109f6be863ba2c /Ryujinx.Input/HLE/InputManager.cs | |
| parent | b898bc84ced7fe5b77e2018ce2ccb7389933b7cf (diff) | |
Add TouchScreen Manager (#2333)
Diffstat (limited to 'Ryujinx.Input/HLE/InputManager.cs')
| -rw-r--r-- | Ryujinx.Input/HLE/InputManager.cs | 19 |
1 files changed, 19 insertions, 0 deletions
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(); } } |
