Ryujinx/src/Ryujinx.Input/MouseStateSnapshot.cs
TSRBerry 46b7c905f5
[Ryujinx.Input] Address dotnet-format issues (#5384)
* dotnet format style --severity info

Some changes were manually reverted.

* dotnet format analyzers --serverity info

Some changes have been minimally adapted.

* Restore a few unused methods and variables

* Address dotnet format CA1816 warnings

* Address or silence dotnet format CA1806 and a few CA1854 warnings

* Address most dotnet format whitespace warnings

* Apply dotnet format whitespace formatting

A few of them have been manually reverted and the corresponding warning was silenced

* Add comments to disabled warnings

* Simplify properties and array initialization, Use const when possible, Remove trailing commas

* Revert "Simplify properties and array initialization, Use const when possible, Remove trailing commas"

This reverts commit 9462e4136c0a2100dc28b20cf9542e06790aa67e.

* dotnet format whitespace after rebase

* Remove redundant code, convert to auto-properties and fix naming rule violations

* Remove bogus change

* Address review feedback
2023-06-28 18:23:00 +02:00

46 lines
1.4 KiB
C#

using System.Numerics;
using System.Runtime.CompilerServices;
namespace Ryujinx.Input
{
/// <summary>
/// A snapshot of a <see cref="IMouse"/>.
/// </summary>
public class MouseStateSnapshot
{
private readonly 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];
}
}