JacobTech 06bc325fbe Window Matrix
Instead of calculating the int position to the OpenGL float of -1 to 1 in the code, we hand this responsibility to the shaders using a matrix to scale and translate everything.
2024-04-10 21:31:23 -04:00

40 lines
1.0 KiB
C#

using OpenTK.Mathematics;
using OpenTK.Windowing.Common;
using OpenTK.Windowing.Desktop;
namespace GraphicsManager.Interfaces;
public interface IWindow : IParent
{
public IRenderObject? HoveringControl { get; set; }
public IGLFWGraphicsContext Context { get; }
public bool ShowMissingChar { get; }
public Matrix4 WindowSizeMatrix { get; }
public Vector2i ClientSize { get; }
public event Action<MouseButtonEventArgs> MouseDown;
public event Action<FileDropEventArgs> FileDrop;
public event Action<MouseWheelEventArgs> MouseWheel;
public event Action<KeyboardKeyEventArgs> KeyDown;
public event Action<TextInputEventArgs> TextInput;
public Vector2i Location { get; set; }
public IRenderObject? focused { get; set; }
public string ClipboardString { get; set; }
public string Title { get; set; }
public Vector2 MousePosition { get; set; }
public bool CanControleUpdate { get; }
void Invoke(Action A);
bool InvokeRequired { get; }
}