using System; using Robust.Shared.Map; using Robust.Shared.Maths; namespace Robust.Client.Graphics { /// /// Represents a single operating system window. /// public interface IClydeWindow : IDisposable { bool IsDisposed { get; } WindowId Id { get; } IRenderTarget RenderTarget { get; } string Title { get; set; } Vector2i Size { get; } bool IsFocused { get; } bool IsMinimized { get; } bool IsVisible { get; set; } Vector2 ContentScale { get; } /// /// If set to true, the user closing the window will also it. /// bool DisposeOnClose { get; set; } /// /// Fired when the user tries to close the window. Note that if is not true, /// this is merely a request and the user pressing the close button does nothing. /// event Action RequestClosed; /// /// Raised when the window has been definitively closed. /// This means the window must not be used anymore (it is disposed). /// event Action Destroyed; /// /// Raised when the window has been definitively closed. /// This means the window must not be used anymore (it is disposed). /// event Action Resized; } public interface IClydeWindowInternal : IClydeWindow { nint? WindowsHWnd { get; } } }