Files
ColorControl/Shared/Contracts/VirtualResolution.cs
T

63 lines
1.6 KiB
C#

namespace ColorControl.Shared.Contracts;
public class VirtualResolution
{
public uint ActiveWidth { get; set; }
public uint ActiveHeight { get; set; }
public uint VirtualWidth { get; set; }
public uint VirtualHeight { get; set; }
public VirtualResolution(uint activeWidth, uint activeHeight)
{
ActiveWidth = activeWidth;
ActiveHeight = activeHeight;
VirtualWidth = activeWidth;
VirtualHeight = activeHeight;
}
public VirtualResolution()
{
}
public VirtualResolution(VirtualResolution resolution)
{
ActiveWidth = resolution.ActiveWidth;
ActiveHeight = resolution.ActiveHeight;
VirtualWidth = resolution.VirtualWidth;
VirtualHeight = resolution.VirtualHeight;
}
public override string ToString()
{
if (ActiveWidth == 0 && ActiveHeight == 0)
{
return "Not set";
}
if (VirtualWidth == 0 && VirtualHeight == 0)
{
return GetActiveString();
}
return ActiveWidth == VirtualWidth && ActiveHeight == VirtualHeight ?
GetActiveString() :
$"{GetVirtualString()} ({GetActiveString()})";
}
public string GetActiveString()
{
return $"{ActiveWidth}x{ActiveHeight}";
}
public string GetVirtualString()
{
return $"{VirtualWidth}x{VirtualHeight}";
}
public bool IsDifferent(VirtualResolution resolution)
{
return ActiveWidth != resolution.ActiveWidth || ActiveHeight != resolution.ActiveHeight || VirtualWidth != resolution.VirtualWidth || VirtualHeight != resolution.VirtualHeight;
}
}