embed renderer into main window
This commit is contained in:
parent
2db774be33
commit
e3d0fe4df1
4 changed files with 68 additions and 39 deletions
|
@ -4,7 +4,9 @@ using System.Threading;
|
|||
using Ryujinx.HLE;
|
||||
using Ryujinx.Graphics.OpenGL;
|
||||
using System.Text;
|
||||
using OpenTK.Input;
|
||||
using OpenTK.Graphics;
|
||||
using OpenTK.Graphics.OpenGL;
|
||||
using Gdk;
|
||||
|
||||
namespace Ryujinx.Ui
|
||||
|
@ -73,7 +75,7 @@ namespace Ryujinx.Ui
|
|||
|
||||
IsActive = true;
|
||||
|
||||
GLib.Idle.Add(Render, GLib.Priority.HighIdle);
|
||||
GLib.Idle.Add(Render, GLib.Priority.DefaultIdle);
|
||||
}
|
||||
|
||||
public void Exit()
|
||||
|
@ -107,6 +109,8 @@ namespace Ryujinx.Ui
|
|||
return false;
|
||||
}
|
||||
|
||||
GL.ClearColor(Color4.Black);
|
||||
|
||||
_ticks += _chrono.ElapsedTicks;
|
||||
|
||||
_chrono.Restart();
|
||||
|
|
|
@ -138,7 +138,13 @@ namespace Ryujinx.Ui
|
|||
{
|
||||
if (disposing)
|
||||
{
|
||||
_graphicsContext.MakeCurrent(_windowInfo);
|
||||
try
|
||||
{
|
||||
_graphicsContext.MakeCurrent(_windowInfo);
|
||||
}catch(Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
OnShuttingDown();
|
||||
|
||||
|
|
|
@ -48,28 +48,29 @@ namespace Ryujinx.Ui
|
|||
|
||||
#pragma warning disable CS0649
|
||||
#pragma warning disable IDE0044
|
||||
[GUI] Window _mainWin;
|
||||
[GUI] CheckMenuItem _fullScreen;
|
||||
[GUI] MenuItem _stopEmulation;
|
||||
[GUI] CheckMenuItem _favToggle;
|
||||
[GUI] MenuItem _firmwareInstallFile;
|
||||
[GUI] MenuItem _firmwareInstallDirectory;
|
||||
[GUI] CheckMenuItem _iconToggle;
|
||||
[GUI] CheckMenuItem _appToggle;
|
||||
[GUI] CheckMenuItem _developerToggle;
|
||||
[GUI] CheckMenuItem _versionToggle;
|
||||
[GUI] CheckMenuItem _timePlayedToggle;
|
||||
[GUI] CheckMenuItem _lastPlayedToggle;
|
||||
[GUI] CheckMenuItem _fileExtToggle;
|
||||
[GUI] CheckMenuItem _fileSizeToggle;
|
||||
[GUI] CheckMenuItem _pathToggle;
|
||||
[GUI] TreeView _gameTable;
|
||||
[GUI] TreeSelection _gameTableSelection;
|
||||
[GUI] Label _progressLabel;
|
||||
[GUI] Label _firmwareVersionLabel;
|
||||
[GUI] LevelBar _progressBar;
|
||||
[GUI] MenuItem _openDebugger;
|
||||
[GUI] MenuItem _toolsMenu;
|
||||
|
||||
[GUI] Window _mainWin;
|
||||
[GUI] CheckMenuItem _fullScreen;
|
||||
[GUI] MenuItem _stopEmulation;
|
||||
[GUI] CheckMenuItem _favToggle;
|
||||
[GUI] MenuItem _firmwareInstallFile;
|
||||
[GUI] MenuItem _firmwareInstallDirectory;
|
||||
[GUI] CheckMenuItem _iconToggle;
|
||||
[GUI] CheckMenuItem _appToggle;
|
||||
[GUI] CheckMenuItem _developerToggle;
|
||||
[GUI] CheckMenuItem _versionToggle;
|
||||
[GUI] CheckMenuItem _timePlayedToggle;
|
||||
[GUI] CheckMenuItem _lastPlayedToggle;
|
||||
[GUI] CheckMenuItem _fileExtToggle;
|
||||
[GUI] CheckMenuItem _fileSizeToggle;
|
||||
[GUI] CheckMenuItem _pathToggle;
|
||||
[GUI] TreeView _gameTable;
|
||||
[GUI] ScrolledWindow _gameTableWindow;
|
||||
[GUI] TreeSelection _gameTableSelection;
|
||||
[GUI] Label _progressLabel;
|
||||
[GUI] Label _firmwareVersionLabel;
|
||||
[GUI] LevelBar _progressBar;
|
||||
[GUI] Box _viewBox;
|
||||
#pragma warning restore CS0649
|
||||
#pragma warning restore IDE0044
|
||||
|
||||
|
@ -391,26 +392,30 @@ namespace Ryujinx.Ui
|
|||
|
||||
Application.Invoke(delegate
|
||||
{
|
||||
Window window = new Window("Test");
|
||||
|
||||
window.HeightRequest = 720;
|
||||
window.WidthRequest = 1280;
|
||||
_viewBox.Remove(_gameTableWindow);
|
||||
_gLWigdet.Expand = true;
|
||||
window.Child = _gLWigdet;
|
||||
_viewBox.Child = _gLWigdet;
|
||||
|
||||
window.ShowAll();
|
||||
_gLWigdet.ShowAll();
|
||||
});
|
||||
|
||||
_gLWigdet.waitEvent.WaitOne();
|
||||
|
||||
Application.Invoke(delegate
|
||||
{
|
||||
_viewBox.Remove(_gLWigdet);
|
||||
_gLWigdet.Dispose();
|
||||
|
||||
if(_gLWigdet.Window != this.Window && _gLWigdet.Window != null)
|
||||
{
|
||||
_gLWigdet.Window.Dispose();
|
||||
}
|
||||
|
||||
_viewBox.Add(_gameTableWindow);
|
||||
|
||||
_gameTableWindow.Expand = true;
|
||||
|
||||
this.Window.Title = "Ryujinx";
|
||||
});
|
||||
|
||||
device.Dispose();
|
||||
|
|
|
@ -364,21 +364,35 @@
|
|||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkScrolledWindow" id="_gameTableWindow">
|
||||
<object class="GtkBox" id="_viewBox">
|
||||
<property name="width_request">1280</property>
|
||||
<property name="height_request">720</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="shadow_type">in</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkTreeView" id="_gameTable">
|
||||
<object class="GtkScrolledWindow" id="_gameTableWindow">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="reorderable">True</property>
|
||||
<property name="hover_selection">True</property>
|
||||
<signal name="row-activated" handler="Row_Activated" swapped="no"/>
|
||||
<child internal-child="selection">
|
||||
<object class="GtkTreeSelection" id="_gameTableSelection"/>
|
||||
<property name="shadow_type">in</property>
|
||||
<child>
|
||||
<object class="GtkTreeView" id="_gameTable">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="reorderable">True</property>
|
||||
<property name="hover_selection">True</property>
|
||||
<signal name="row-activated" handler="Row_Activated" swapped="no"/>
|
||||
<child internal-child="selection">
|
||||
<object class="GtkTreeSelection" id="_gameTableSelection"/>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
|
|
Loading…
Add table
Reference in a new issue