aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.HLE/UI/IHostUIHandler.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.HLE/UI/IHostUIHandler.cs')
-rw-r--r--src/Ryujinx.HLE/UI/IHostUIHandler.cs51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/Ryujinx.HLE/UI/IHostUIHandler.cs b/src/Ryujinx.HLE/UI/IHostUIHandler.cs
new file mode 100644
index 00000000..3b3a430e
--- /dev/null
+++ b/src/Ryujinx.HLE/UI/IHostUIHandler.cs
@@ -0,0 +1,51 @@
+using Ryujinx.HLE.HOS.Applets;
+using Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.ApplicationProxy.Types;
+
+namespace Ryujinx.HLE.UI
+{
+ public interface IHostUIHandler
+ {
+ /// <summary>
+ /// Displays an Input Dialog box to the user and blocks until text is entered.
+ /// </summary>
+ /// <param name="userText">Text that the user entered. Set to `null` on internal errors</param>
+ /// <returns>True when OK is pressed, False otherwise. Also returns True on internal errors</returns>
+ bool DisplayInputDialog(SoftwareKeyboardUIArgs args, out string userText);
+
+ /// <summary>
+ /// Displays a Message Dialog box to the user and blocks until it is closed.
+ /// </summary>
+ /// <returns>True when OK is pressed, False otherwise.</returns>
+ bool DisplayMessageDialog(string title, string message);
+
+ /// <summary>
+ /// Displays a Message Dialog box specific to Controller Applet and blocks until it is closed.
+ /// </summary>
+ /// <returns>True when OK is pressed, False otherwise.</returns>
+ bool DisplayMessageDialog(ControllerAppletUIArgs args);
+
+ /// <summary>
+ /// Tell the UI that we need to transisition to another program.
+ /// </summary>
+ /// <param name="device">The device instance.</param>
+ /// <param name="kind">The program kind.</param>
+ /// <param name="value">The value associated to the <paramref name="kind"/>.</param>
+ void ExecuteProgram(Switch device, ProgramSpecifyKind kind, ulong value);
+
+ /// Displays a Message Dialog box specific to Error Applet and blocks until it is closed.
+ /// </summary>
+ /// <returns>False when OK is pressed, True when another button (Details) is pressed.</returns>
+ bool DisplayErrorAppletDialog(string title, string message, string[] buttonsText);
+
+ /// <summary>
+ /// Creates a handler to process keyboard inputs into text strings.
+ /// </summary>
+ /// <returns>An instance of the text handler.</returns>
+ IDynamicTextInputHandler CreateDynamicTextInputHandler();
+
+ /// <summary>
+ /// Gets fonts and colors used by the host.
+ /// </summary>
+ IHostUITheme HostUITheme { get; }
+ }
+}