From cee712105850ac3385cd0091a923438167433f9f Mon Sep 17 00:00:00 2001
From: TSR Berry <20988865+TSRBerry@users.noreply.github.com>
Date: Sat, 8 Apr 2023 01:22:00 +0200
Subject: Move solution and projects to src

---
 src/Ryujinx.Input/Assigner/IButtonAssigner.cs | 36 +++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 src/Ryujinx.Input/Assigner/IButtonAssigner.cs

(limited to 'src/Ryujinx.Input/Assigner/IButtonAssigner.cs')

diff --git a/src/Ryujinx.Input/Assigner/IButtonAssigner.cs b/src/Ryujinx.Input/Assigner/IButtonAssigner.cs
new file mode 100644
index 00000000..021736df
--- /dev/null
+++ b/src/Ryujinx.Input/Assigner/IButtonAssigner.cs
@@ -0,0 +1,36 @@
+namespace Ryujinx.Input.Assigner
+{
+    /// <summary>
+    /// An interface that allows to gather the driver input info to assign to a button on the UI.
+    /// </summary>
+    public interface IButtonAssigner
+    {
+        /// <summary>
+        /// Initialize the button assigner.
+        /// </summary>
+        void Initialize();
+
+        /// <summary>
+        /// Read input.
+        /// </summary>
+        void ReadInput();
+
+        /// <summary>
+        /// Check if a button was pressed.
+        /// </summary>
+        /// <returns>True if a button was pressed</returns>
+        bool HasAnyButtonPressed();
+
+        /// <summary>
+        /// Indicate if the user of this API should cancel operations. This is triggered for example when a gamepad get disconnected or when a user cancel assignation operations.
+        /// </summary>
+        /// <returns>True if the user of this API should cancel operations</returns>
+        bool ShouldCancel();
+
+        /// <summary>
+        /// Get the pressed button that was read in <see cref="ReadInput"/> by the button assigner.
+        /// </summary>
+        /// <returns>The pressed button that was read</returns>
+        string GetPressedButton();
+    }
+}
\ No newline at end of file
-- 
cgit v1.2.3-70-g09d2