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; }
}
}