using Robust.Client.Graphics; using Robust.Shared.Maths; using Robust.Shared.ViewVariables; namespace Robust.Client.UserInterface.Controls { public sealed class WindowRoot : UIRoot { internal WindowRoot(IClydeWindow window) { Window = window; } /// /// Enable the UI autoscale system, this will scale down the UI for lower resolutions /// [ViewVariables] public bool AutoScale { get; set; } = false; /// /// Minimum resolution to start clamping autoscale to 1 /// [ViewVariables] public Vector2i AutoScaleUpperCutoff { get; set; } = new Vector2i(1080, 720); /// /// Maximum resolution to start clamping autos scale to autoscale minimum /// [ViewVariables] public Vector2i AutoScaleLowerCutoff { get; set; } = new Vector2i(520, 520); /// /// The minimum ui scale value that autoscale will scale to /// [ViewVariables] public float AutoScaleMinimum { get; set; } = 0.5f; public override float UIScale => UIScaleSet; internal float UIScaleSet { get; set; } public override IClydeWindow Window { get; } } }