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.
40 lines
1.0 KiB
C#
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; }
|
|
} |