Add TouchScreen Manager (#2333)
This commit is contained in:
parent
b898bc84ce
commit
bfcc6a8ad6
8 changed files with 418 additions and 83 deletions
34
Ryujinx.Input/MouseStateSnapshot.cs
Normal file
34
Ryujinx.Input/MouseStateSnapshot.cs
Normal file
|
@ -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];
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue