Files
RobustToolbox/Robust.Client/Graphics/WindowCreateParameters.cs
2024-01-03 01:04:03 +01:00

70 lines
1.9 KiB
C#

using System;
namespace Robust.Client.Graphics
{
public sealed class WindowCreateParameters
{
public int Width = 1280;
public int Height = 720;
public string Title = "";
public bool Maximized;
public bool Visible = true;
public IClydeMonitor? Monitor;
public bool Fullscreen;
/// <summary>
/// The window that will "own" this window.
/// Owned windows always appear on top of their owners and have some other misc behavior depending on the OS.
/// </summary>
public IClydeWindow? Owner;
/// <summary>
/// Controls where a window is initially placed when created.
/// </summary>
public WindowStartupLocation StartupLocation;
/// <summary>
/// Specifies window styling options for the created window.
/// </summary>
public OSWindowStyles Styles;
}
/// <summary>
/// Controls where a window is initially placed when created.
/// </summary>
public enum WindowStartupLocation : byte
{
/// <summary>
/// The window position is automatically picked by the windowing system.
/// </summary>
Manual,
/// <summary>
/// The window is positioned at the center of the <see cref="WindowCreateParameters.Owner"/> window.
/// </summary>
CenterOwner,
}
/// <summary>
/// Specifies window styling options for an OS window.
/// </summary>
[Flags]
public enum OSWindowStyles
{
/// <summary>
/// No special styles set.
/// </summary>
None = 0,
/// <summary>
/// Hide title buttons such as close and minimize.
/// </summary>
NoTitleOptions = 1 << 0,
/// <summary>
/// Completely hide the title bar
/// </summary>
NoTitleBar = 1 << 1,
}
}