acdream/src/AcDream.App/UI/IRetainedWindowStateController.cs

18 lines
633 B
C#

namespace AcDream.App.UI;
/// <summary>Panel state that is not completely described by outer-frame bounds.</summary>
public readonly record struct RetainedWindowState(
bool Collapsed = false,
bool Maximized = false,
float? PersistedTop = null,
float? PersistedHeight = null);
/// <summary>
/// Optional state seam used by retained-window persistence. Bounds are restored
/// first; the controller then reapplies collapsed/maximized presentation.
/// </summary>
public interface IRetainedWindowStateController
{
RetainedWindowState CaptureWindowState();
void RestoreWindowState(RetainedWindowState state);
}