mirror of
https://github.com/space-wizards/RobustToolbox.git
synced 2026-02-15 03:30:53 +01:00
77 lines
2.6 KiB
C#
77 lines
2.6 KiB
C#
using System;
|
|
using System.Numerics;
|
|
using Robust.Shared.Map;
|
|
using Robust.Shared.Maths;
|
|
|
|
namespace Robust.Client.Graphics
|
|
{
|
|
/// <summary>
|
|
/// Represents a single operating system window.
|
|
/// </summary>
|
|
[NotContentImplementable]
|
|
public interface IClydeWindow : IDisposable
|
|
{
|
|
bool IsDisposed { get; }
|
|
WindowId Id { get; }
|
|
IRenderTarget RenderTarget { get; }
|
|
string Title { get; set; }
|
|
Vector2i Size { get; set; }
|
|
bool IsFocused { get; }
|
|
bool IsMinimized { get; }
|
|
bool IsVisible { get; set; }
|
|
Vector2 ContentScale { get; }
|
|
|
|
/// <summary>
|
|
/// If set to true, the user closing the window will also <see cref="IDisposable.Dispose"/> it.
|
|
/// </summary>
|
|
bool DisposeOnClose { get; set; }
|
|
|
|
/// <summary>
|
|
/// Fired when the user tries to close the window. Note that if <see cref="DisposeOnClose"/> is not true,
|
|
/// this is merely a request and the user pressing the close button does nothing.
|
|
/// </summary>
|
|
event Action<WindowRequestClosedEventArgs> RequestClosed;
|
|
|
|
/// <summary>
|
|
/// Raised when the window has been definitively closed.
|
|
/// This means the window must not be used anymore (it is disposed).
|
|
/// </summary>
|
|
event Action<WindowDestroyedEventArgs> Destroyed;
|
|
|
|
/// <summary>
|
|
/// Raised when the window has been resized.
|
|
/// </summary>
|
|
event Action<WindowResizedEventArgs> Resized;
|
|
|
|
/// <summary>
|
|
/// Set the active text input area in window pixel coordinates.
|
|
/// </summary>
|
|
/// <param name="rect">
|
|
/// This information is used by the OS to position overlays like IMEs or emoji pickers etc.
|
|
/// </param>
|
|
void TextInputSetRect(UIBox2i rect, int cursor);
|
|
|
|
/// <summary>
|
|
/// Indicate that the game should start accepting text input on the currently focused window.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// On some platforms, this will cause an on-screen keyboard to appear.
|
|
/// The game will also start accepting IME input if configured by the user.
|
|
/// </remarks>
|
|
/// <seealso cref="TextInputStop"/>
|
|
void TextInputStart();
|
|
|
|
/// <summary>
|
|
/// Stop text input, opposite of <see cref="TextInputStart"/>.
|
|
/// </summary>
|
|
/// <seealso cref="TextInputStart"/>
|
|
void TextInputStop();
|
|
}
|
|
|
|
[NotContentImplementable]
|
|
internal interface IClydeWindowInternal : IClydeWindow
|
|
{
|
|
nint? WindowsHWnd { get; }
|
|
}
|
|
}
|