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/MouseStateSnapshot.cs | |
| parent | b898bc84ced7fe5b77e2018ce2ccb7389933b7cf (diff) | |
Add TouchScreen Manager (#2333)
Diffstat (limited to 'Ryujinx.Input/MouseStateSnapshot.cs')
| -rw-r--r-- | Ryujinx.Input/MouseStateSnapshot.cs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Ryujinx.Input/MouseStateSnapshot.cs b/Ryujinx.Input/MouseStateSnapshot.cs new file mode 100644 index 00000000..4fbfeebd --- /dev/null +++ b/Ryujinx.Input/MouseStateSnapshot.cs @@ -0,0 +1,34 @@ +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; + + public Vector2 Position { get; } + + /// <summary> + /// Create a new <see cref="MouseStateSnapshot"/>. + /// </summary> + /// <param name="buttonState">The keys state</param> + public MouseStateSnapshot(bool[] buttonState, Vector2 position) + { + _buttonState = buttonState; + + Position = position; + } + + /// <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 |
