You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

35 lines
701 B

using System.Drawing;
using gaemstone.ECS;
using gaemstone.Flecs;
using Silk.NET.OpenGL;
using Silk.NET.Windowing;
namespace gaemstone.Client.Systems;
[Module]
public class Windowing
{
[Component]
public class Canvas
{
public GL GL { get; }
public Canvas(GL gl) => GL = gl;
public Size Size { get; set; }
public Color BackgroundColor { get; set; }
}
[Component]
public class GameWindow
{
public IWindow Handle { get; }
public GameWindow(IWindow handle) => Handle = handle;
}
[System<SystemPhase.PreFrame>]
public static void ProcessWindow(GameWindow window, Canvas canvas)
{
canvas.Size = new(window.Handle.Size.X, window.Handle.Size.Y);
window.Handle.DoEvents();
}
}