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; }
}
}