diff options
Diffstat (limited to 'Ryujinx/Ui/Applet/GtkHostUiHandler.cs')
-rw-r--r-- | Ryujinx/Ui/Applet/GtkHostUiHandler.cs | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/Ryujinx/Ui/Applet/GtkHostUiHandler.cs b/Ryujinx/Ui/Applet/GtkHostUiHandler.cs index c227ebd3..d81cbe3c 100644 --- a/Ryujinx/Ui/Applet/GtkHostUiHandler.cs +++ b/Ryujinx/Ui/Applet/GtkHostUiHandler.cs @@ -1,10 +1,11 @@ using Gtk; -using Ryujinx.HLE; using Ryujinx.HLE.HOS.Applets; using Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.ApplicationProxy.Types; +using Ryujinx.HLE.Ui; using Ryujinx.Ui.Widgets; using System; using System.Threading; +using Action = System.Action; namespace Ryujinx.Ui.Applet { @@ -12,9 +13,13 @@ namespace Ryujinx.Ui.Applet { private readonly Window _parent; + public IHostUiTheme HostUiTheme { get; } + public GtkHostUiHandler(Window parent) { _parent = parent; + + HostUiTheme = new GtkHostUiTheme(parent); } public bool DisplayMessageDialog(ControllerAppletUiArgs args) @@ -186,5 +191,23 @@ namespace Ryujinx.Ui.Applet return showDetails; } + + private void SynchronousGtkInvoke(Action action) + { + var waitHandle = new ManualResetEventSlim(); + + Application.Invoke(delegate + { + action(); + waitHandle.Set(); + }); + + waitHandle.Wait(); + } + + public IDynamicTextInputHandler CreateDynamicTextInputHandler() + { + return new GtkDynamicTextInputHandler(_parent); + } } }
\ No newline at end of file |