blob: 527fa43ab78ec2ae7d2ac1a4f9a1de57912a2791 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
using Avalonia.Controls;
using Avalonia.Media;
namespace Godosa.Desktop;
/// <summary>Window fullscreen and a UI layer's scale (the 3D view stays outside that layer).</summary>
public static class DisplayMode
{
public static void SetFullscreen(Window? window, bool fullscreen)
{
if (window is null) return;
bool full = window.WindowState == WindowState.FullScreen;
if (fullscreen && !full) window.WindowState = WindowState.FullScreen;
else if (!fullscreen && full) window.WindowState = WindowState.Normal;
}
public static void SetUiScale(LayoutTransformControl layer, double factor) =>
layer.LayoutTransform = factor == 1.0 ? null : new ScaleTransform(factor, factor);
}
|