namespace Ursa.Controls; public enum HorizontalPosition { Left, Center, Right } public enum VerticalPosition { Top, Center, Bottom } public class OverlayDialogOptions { internal static OverlayDialogOptions Default { get; } = new(); public bool FullScreen { get; set; } public HorizontalPosition HorizontalAnchor { get; set; } = HorizontalPosition.Center; public VerticalPosition VerticalAnchor { get; set; } = VerticalPosition.Center; /// /// This attribute is only used when HorizontalAnchor is not Center /// public double? HorizontalOffset { get; set; } = null; /// /// This attribute is only used when VerticalAnchor is not Center /// public double? VerticalOffset { get; set; } = null; /// /// Only works for DefaultDialogControl /// public DialogMode Mode { get; set; } = DialogMode.None; /// /// Only works for DefaultDialogControl /// public DialogButton Buttons { get; set; } = DialogButton.OKCancel; /// /// Only works for DefaultDialogControl /// public string? Title { get; set; } = null; /// /// Only works for CustomDialogControl /// public bool? IsCloseButtonVisible { get; set; } = true; [Obsolete] public bool ShowCloseButton { get; set; } = true; public bool CanLightDismiss { get; set; } public bool CanDragMove { get; set; } = true; /// /// The hash code of the top level dialog host. This is used to identify the dialog host if there are multiple dialog /// hosts with the same id. If this is not provided, the dialog will be added to the first dialog host with the same /// id. /// public int? TopLevelHashCode { get; set; } public bool CanResize { get; set; } }