using Ryujinx.HLE.HOS.Applets; using Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.ApplicationProxy.Types; namespace Ryujinx.HLE.Ui { public interface IHostUiHandler { /// /// Displays an Input Dialog box to the user and blocks until text is entered. /// /// Text that the user entered. Set to `null` on internal errors /// True when OK is pressed, False otherwise. Also returns True on internal errors bool DisplayInputDialog(SoftwareKeyboardUiArgs args, out string userText); /// /// Displays a Message Dialog box to the user and blocks until it is closed. /// /// True when OK is pressed, False otherwise. bool DisplayMessageDialog(string title, string message); /// /// Displays a Message Dialog box specific to Controller Applet and blocks until it is closed. /// /// True when OK is pressed, False otherwise. bool DisplayMessageDialog(ControllerAppletUiArgs args); /// /// Tell the UI that we need to transisition to another program. /// /// The device instance. /// The program kind. /// The value associated to the . void ExecuteProgram(Switch device, ProgramSpecifyKind kind, ulong value); /// Displays a Message Dialog box specific to Error Applet and blocks until it is closed. /// /// False when OK is pressed, True when another button (Details) is pressed. bool DisplayErrorAppletDialog(string title, string message, string[] buttonsText); /// /// Creates a handler to process keyboard inputs into text strings. /// /// An instance of the text handler. IDynamicTextInputHandler CreateDynamicTextInputHandler(); /// /// Gets fonts and colors used by the host. /// IHostUiTheme HostUiTheme { get; } } }