2022-12-19 22:47:10 +01:00
|
|
|
using CommonHelpers;
|
|
|
|
|
|
|
|
|
|
namespace PowerControl.Options
|
|
|
|
|
{
|
|
|
|
|
public static class PerformanceOverlay
|
|
|
|
|
{
|
|
|
|
|
public static Menu.MenuItemWithOptions EnabledInstance = new Menu.MenuItemWithOptions()
|
|
|
|
|
{
|
|
|
|
|
Name = "OSD",
|
|
|
|
|
ApplyDelay = 500,
|
|
|
|
|
OptionsValues = delegate ()
|
|
|
|
|
{
|
2022-12-19 23:36:22 +01:00
|
|
|
return Enum.GetNames<OverlayEnabled>();
|
2022-12-19 22:47:10 +01:00
|
|
|
},
|
|
|
|
|
CurrentValue = delegate ()
|
|
|
|
|
{
|
|
|
|
|
if (SharedData<OverlayModeSetting>.GetExistingValue(out var value))
|
2022-12-19 23:36:22 +01:00
|
|
|
return value.CurrentEnabled.ToString();
|
2022-12-19 22:47:10 +01:00
|
|
|
return null;
|
|
|
|
|
},
|
2022-12-19 23:36:22 +01:00
|
|
|
ApplyValue = (selected) =>
|
2022-12-19 22:47:10 +01:00
|
|
|
{
|
|
|
|
|
if (!SharedData<OverlayModeSetting>.GetExistingValue(out var value))
|
|
|
|
|
return null;
|
2022-12-19 23:36:22 +01:00
|
|
|
value.DesiredEnabled = Enum.Parse<OverlayEnabled>(selected);
|
2022-12-19 22:47:10 +01:00
|
|
|
if (!SharedData<OverlayModeSetting>.SetExistingValue(value))
|
|
|
|
|
return null;
|
|
|
|
|
return selected;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
public static Menu.MenuItemWithOptions ModeInstance = new Menu.MenuItemWithOptions()
|
|
|
|
|
{
|
|
|
|
|
Name = "OSD Mode",
|
|
|
|
|
ApplyDelay = 500,
|
|
|
|
|
OptionsValues = delegate ()
|
|
|
|
|
{
|
2022-12-19 23:36:22 +01:00
|
|
|
return Enum.GetNames<OverlayMode>();
|
2022-12-19 22:47:10 +01:00
|
|
|
},
|
|
|
|
|
CurrentValue = delegate ()
|
|
|
|
|
{
|
|
|
|
|
if (SharedData<OverlayModeSetting>.GetExistingValue(out var value))
|
2022-12-19 23:36:22 +01:00
|
|
|
return value.Current.ToString();
|
2022-12-19 22:47:10 +01:00
|
|
|
return null;
|
|
|
|
|
},
|
2022-12-19 23:36:22 +01:00
|
|
|
ApplyValue = (selected) =>
|
2022-12-19 22:47:10 +01:00
|
|
|
{
|
|
|
|
|
if (!SharedData<OverlayModeSetting>.GetExistingValue(out var value))
|
|
|
|
|
return null;
|
2022-12-19 23:36:22 +01:00
|
|
|
value.Desired = Enum.Parse<OverlayMode>(selected);
|
2022-12-19 22:47:10 +01:00
|
|
|
if (!SharedData<OverlayModeSetting>.SetExistingValue(value))
|
|
|
|
|
return null;
|
|
|
|
|
return selected;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
public static Menu.MenuItemWithOptions KernelDriversInstance = new Menu.MenuItemWithOptions()
|
|
|
|
|
{
|
|
|
|
|
Name = "OSD Kernel Drivers",
|
|
|
|
|
ApplyDelay = 500,
|
|
|
|
|
OptionsValues = delegate ()
|
|
|
|
|
{
|
2022-12-19 23:36:22 +01:00
|
|
|
return Enum.GetNames<KernelDriversLoaded>();
|
2022-12-19 22:47:10 +01:00
|
|
|
},
|
|
|
|
|
CurrentValue = delegate ()
|
|
|
|
|
{
|
|
|
|
|
if (SharedData<OverlayModeSetting>.GetExistingValue(out var value))
|
2022-12-19 23:36:22 +01:00
|
|
|
return value.KernelDriversLoaded.ToString();
|
2022-12-19 22:47:10 +01:00
|
|
|
return null;
|
|
|
|
|
},
|
2022-12-19 23:36:22 +01:00
|
|
|
ApplyValue = (selected) =>
|
2022-12-19 22:47:10 +01:00
|
|
|
{
|
|
|
|
|
if (!SharedData<OverlayModeSetting>.GetExistingValue(out var value))
|
|
|
|
|
return null;
|
2022-12-19 23:36:22 +01:00
|
|
|
value.DesiredKernelDriversLoaded = Enum.Parse<KernelDriversLoaded>(selected);
|
2022-12-19 22:47:10 +01:00
|
|
|
if (!SharedData<OverlayModeSetting>.SetExistingValue(value))
|
|
|
|
|
return null;
|
|
|
|
|
return selected;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|