Gamma Init

This commit is contained in:
Serge
2024-02-16 15:55:37 +01:00
parent 42a598f177
commit cf84fa0616
103 changed files with 7907 additions and 41 deletions

View File

@@ -1,4 +1,4 @@
using System.Diagnostics;
using WindowsDisplayAPI;
namespace GHelper.Display
{
@@ -7,6 +7,8 @@ namespace GHelper.Display
public const int MAX_REFRESH = 1000;
public static DisplayGammaRamp? gamma;
public void AutoScreen(bool force = false)
{
if (force || AppConfig.Is("screen_auto"))
@@ -22,6 +24,35 @@ namespace GHelper.Display
}
}
public void SaveGamma()
{
var display = WindowsDisplayAPI.Display.GetDisplays().Where(x => x.DisplayScreen.IsPrimary).FirstOrDefault();
if (display is null) return;
gamma = display.GammaRamp;
Logger.WriteLine("R:" + string.Join("-", display.GammaRamp.Red));
Logger.WriteLine("G:" + string.Join("-", display.GammaRamp.Green));
Logger.WriteLine("B:" + string.Join("-", display.GammaRamp.Blue));
}
public void RestoreGamma()
{
var display = WindowsDisplayAPI.Display.GetDisplays().Where(x => x.DisplayScreen.IsPrimary).FirstOrDefault();
if (gamma is not null) display!.GammaRamp = gamma;
}
public void SetGamma(int brightness = 100, int contrast = 100)
{
var display = WindowsDisplayAPI.Display.GetDisplays().Where(x => x.DisplayScreen.IsPrimary).FirstOrDefault();
var bright = (float)(brightness) / 100;
Logger.WriteLine("Brightness: " + bright.ToString());
display!.GammaRamp = new DisplayGammaRamp(bright, bright, 1);
//ScreenBrightness.Set(60 + (int)(40 * bright));
}
public void SetScreen(int frequency = -1, int overdrive = -1, int miniled = -1)
{
var laptopScreen = ScreenNative.FindLaptopScreen(true);
@@ -71,7 +102,8 @@ namespace GHelper.Display
if (miniled1 >= 0)
{
miniled = (miniled1 == 1) ? 0 : 1;
} else
}
else
{
switch (miniled2)
{