18 lines
633 B
C#
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);
|
|
}
|