aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx/Ui/Applet/GtkHostUiHandler.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx/Ui/Applet/GtkHostUiHandler.cs')
-rw-r--r--Ryujinx/Ui/Applet/GtkHostUiHandler.cs25
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