Dashboard/Dashboard.OpenTK/PAL2/Pal2DashboardBackend.cs

50 lines
1.2 KiB
C#
Raw Normal View History

using Dashboard.Windowing;
using OpenTK.Graphics;
using OpenTK.Platform;
using TK = OpenTK.Platform.Toolkit;
namespace Dashboard.OpenTK.PAL2
{
public class Pal2DashboardBackend : IDashboardBackend
{
public GraphicsApiHints GraphicsApiHints { get; set; } = new OpenGLGraphicsApiHints();
public bool OpenGLBindingsInitialized { get; set; } = false;
public IPhysicalWindow CreatePhysicalWindow()
{
PhysicalWindow window = new PhysicalWindow(GraphicsApiHints);
if (!OpenGLBindingsInitialized)
{
OpenGLBindingsInitialized = true;
GLLoader.LoadBindings(
new Pal2BindingsContext(TK.OpenGL,
((OpenGLDeviceContext)window.DeviceContext).ContextHandle));
}
return window;
}
public virtual IWindow CreateWindow()
{
return CreatePhysicalWindow();
}
public void Dispose()
{
}
public void Initialize()
{
}
public void Leave()
{
}
public void RunEvents(bool wait)
{
TK.Window.ProcessEvents(wait);
}
}
}