using Engine.Graphics.Texture; using Engine.Scene; using OpenTK.Windowing.Common; namespace Engine.Graphics; /// /// Defines an interface for a presenter that handles updates, rendering, and presentation. /// public interface IPresenter : IUpdate, IRender { /// /// Occurs when the presenter is resized. /// public event Action OnResize; /// /// Gets the current width of the presenter. /// public int Width { get; } /// /// Gets the current height of the presenter. /// public int Height { get; } /// /// Gets a value indicating whether the presenter is exiting. /// public bool IsExiting { get; } /// /// Presents a texture to the rendering surface. /// /// The texture to present. public void Present(IConstTexture parTexture); /// /// Signals the presenter to exit. /// public void Exit(); }