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