Code/SboxSuperuser/Core/Menu/MenuWindowLayout.cs

Plain state holder for one admin menu window in the SboxSuperuser menu system. Stores open and pinned flags plus the last known position and size, with a HasBounds flag so the renderer can fall back to a default position.

namespace SboxSuperuser.Core.Menu;

/// <summary>One admin menu window: whether it is open or pinned, and where it was last placed.</summary>
internal sealed class MenuWindowLayout
{
	internal bool Open { get; set; }
	internal bool Pinned { get; set; }

	/// <summary>False until the window has been placed once; the renderer then uses its default position.</summary>
	internal bool HasBounds { get; set; }
	internal float X { get; set; }
	internal float Y { get; set; }
	internal float Width { get; set; }
	internal float Height { get; set; }
}