Fix screen resizing
This commit is contained in:
parent
9415b2862f
commit
a38d73e279
1 changed files with 10 additions and 1 deletions
|
@ -31,6 +31,8 @@ namespace Ryujinx
|
||||||
|
|
||||||
private Thread RenderThread;
|
private Thread RenderThread;
|
||||||
|
|
||||||
|
private AutoResetEvent ResizeEvent;
|
||||||
|
|
||||||
public GLScreen(Switch Ns, IGalRenderer Renderer)
|
public GLScreen(Switch Ns, IGalRenderer Renderer)
|
||||||
: base(1280, 720,
|
: base(1280, 720,
|
||||||
new GraphicsMode(), "Ryujinx", 0,
|
new GraphicsMode(), "Ryujinx", 0,
|
||||||
|
@ -43,6 +45,8 @@ namespace Ryujinx
|
||||||
Location = new Point(
|
Location = new Point(
|
||||||
(DisplayDevice.Default.Width / 2) - (Width / 2),
|
(DisplayDevice.Default.Width / 2) - (Width / 2),
|
||||||
(DisplayDevice.Default.Height / 2) - (Height / 2));
|
(DisplayDevice.Default.Height / 2) - (Height / 2));
|
||||||
|
|
||||||
|
ResizeEvent = new AutoResetEvent(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RenderLoop()
|
private void RenderLoop()
|
||||||
|
@ -66,6 +70,11 @@ namespace Ryujinx
|
||||||
|
|
||||||
Renderer.RunActions();
|
Renderer.RunActions();
|
||||||
|
|
||||||
|
if (ResizeEvent.WaitOne(0))
|
||||||
|
{
|
||||||
|
Renderer.FrameBuffer.SetWindowSize(Width, Height);
|
||||||
|
}
|
||||||
|
|
||||||
Ticks += Chrono.ElapsedTicks;
|
Ticks += Chrono.ElapsedTicks;
|
||||||
|
|
||||||
Chrono.Restart();
|
Chrono.Restart();
|
||||||
|
@ -365,7 +374,7 @@ namespace Ryujinx
|
||||||
|
|
||||||
protected override void OnResize(EventArgs e)
|
protected override void OnResize(EventArgs e)
|
||||||
{
|
{
|
||||||
Renderer.FrameBuffer.SetWindowSize(Width, Height);
|
ResizeEvent.Set();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnKeyDown(KeyboardKeyEventArgs e)
|
protected override void OnKeyDown(KeyboardKeyEventArgs e)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue