diff options
| author | TSR Berry <20988865+TSRBerry@users.noreply.github.com> | 2023-04-08 01:22:00 +0200 |
|---|---|---|
| committer | Mary <thog@protonmail.com> | 2023-04-27 23:51:14 +0200 |
| commit | cee712105850ac3385cd0091a923438167433f9f (patch) | |
| tree | 4a5274b21d8b7f938c0d0ce18736d3f2993b11b1 /src/Ryujinx.Input/MouseStateSnapshot.cs | |
| parent | cd124bda587ef09668a971fa1cac1c3f0cfc9f21 (diff) | |
Move solution and projects to src
Diffstat (limited to 'src/Ryujinx.Input/MouseStateSnapshot.cs')
| -rw-r--r-- | src/Ryujinx.Input/MouseStateSnapshot.cs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/Ryujinx.Input/MouseStateSnapshot.cs b/src/Ryujinx.Input/MouseStateSnapshot.cs new file mode 100644 index 00000000..ddfdebc6 --- /dev/null +++ b/src/Ryujinx.Input/MouseStateSnapshot.cs @@ -0,0 +1,45 @@ +using System.Numerics; +using System.Runtime.CompilerServices; + +namespace Ryujinx.Input +{ + /// <summary> + /// A snapshot of a <see cref="IMouse"/>. + /// </summary> + public class MouseStateSnapshot + { + private bool[] _buttonState; + + /// <summary> + /// The position of the mouse cursor + /// </summary> + public Vector2 Position { get; } + + /// <summary> + /// The scroll delta of the mouse + /// </summary> + public Vector2 Scroll { get; } + + /// <summary> + /// Create a new <see cref="MouseStateSnapshot"/>. + /// </summary> + /// <param name="buttonState">The button state</param> + /// <param name="position">The position of the cursor</param> + /// <param name="scroll">The scroll delta</param> + public MouseStateSnapshot(bool[] buttonState, Vector2 position, Vector2 scroll) + { + _buttonState = buttonState; + + Position = position; + Scroll = scroll; + } + + /// <summary> + /// Check if a given button is pressed. + /// </summary> + /// <param name="button">The button</param> + /// <returns>True if the given button is pressed</returns> + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public bool IsPressed(MouseButton button) => _buttonState[(int)button]; + } +}
\ No newline at end of file |
