mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dde554eebf |
11
.github/ISSUE_TEMPLATE/bug_report.md
vendored
11
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -25,7 +25,14 @@ If applicable, add screenshots to help explain your problem.
|
|||||||
|
|
||||||
**Desktop (please complete the following information):**
|
**Desktop (please complete the following information):**
|
||||||
- OS: [e.g. iOS]
|
- OS: [e.g. iOS]
|
||||||
- Laptop model
|
- Browser [e.g. chrome, safari]
|
||||||
|
- Version [e.g. 22]
|
||||||
|
|
||||||
|
**Smartphone (please complete the following information):**
|
||||||
|
- Device: [e.g. iPhone6]
|
||||||
|
- OS: [e.g. iOS8.1]
|
||||||
|
- Browser [e.g. stock browser, safari]
|
||||||
|
- Version [e.g. 22]
|
||||||
|
|
||||||
**Additional context**
|
**Additional context**
|
||||||
Add any other context about the problem here.
|
Add any other context about the problem here.
|
||||||
|
|||||||
@@ -20,11 +20,9 @@ public class ASUSWmi
|
|||||||
|
|
||||||
public const uint BatteryLimit = 0x00120057;
|
public const uint BatteryLimit = 0x00120057;
|
||||||
public const uint ScreenOverdrive = 0x00050019;
|
public const uint ScreenOverdrive = 0x00050019;
|
||||||
public const uint ScreenMiniled = 0x0005001E;
|
|
||||||
|
|
||||||
public const uint DevsCPUFanCurve = 0x00110024;
|
public const uint DevsCPUFanCurve = 0x00110024;
|
||||||
public const uint DevsGPUFanCurve = 0x00110025;
|
public const uint DevsGPUFanCurve = 0x00110025;
|
||||||
public const uint DevsMidFanCurve = 0x00110032;
|
|
||||||
|
|
||||||
public const int PPT_TotalA0 = 0x001200A0; // Total PPT on 2022 and CPU PPT on 2021
|
public const int PPT_TotalA0 = 0x001200A0; // Total PPT on 2022 and CPU PPT on 2021
|
||||||
public const int PPT_EDCA1 = 0x001200A1; // CPU EDC
|
public const int PPT_EDCA1 = 0x001200A1; // CPU EDC
|
||||||
@@ -186,25 +184,12 @@ public class ASUSWmi
|
|||||||
if (curve.Length != 16) return;
|
if (curve.Length != 16) return;
|
||||||
if (curve.All(singleByte => singleByte == 0)) return;
|
if (curve.All(singleByte => singleByte == 0)) return;
|
||||||
|
|
||||||
string name;
|
Logger.WriteLine("Fans" + ((device == 1) ? "GPU" : "CPU") + " " + BitConverter.ToString(curve));
|
||||||
|
|
||||||
switch (device)
|
if (device == 1)
|
||||||
{
|
DeviceSet(DevsGPUFanCurve, curve);
|
||||||
case 1:
|
else
|
||||||
DeviceSet(DevsGPUFanCurve, curve);
|
DeviceSet(DevsCPUFanCurve, curve);
|
||||||
name = "GPU";
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
DeviceSet(DevsMidFanCurve, curve);
|
|
||||||
name = "Mid";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
DeviceSet(DevsCPUFanCurve, curve);
|
|
||||||
name = "CPU";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
Logger.WriteLine("Fans" + name + " " + BitConverter.ToString(curve));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public byte[] GetFanCurve(int device, int mode = 0)
|
public byte[] GetFanCurve(int device, int mode = 0)
|
||||||
@@ -219,15 +204,10 @@ public class ASUSWmi
|
|||||||
default: fan_mode = 0; break;
|
default: fan_mode = 0; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (device)
|
if (device == 1)
|
||||||
{
|
return DeviceGetBuffer(DevsGPUFanCurve, fan_mode);
|
||||||
case 1:
|
else
|
||||||
return DeviceGetBuffer(DevsGPUFanCurve, fan_mode);
|
return DeviceGetBuffer(DevsCPUFanCurve, fan_mode);
|
||||||
case 2:
|
|
||||||
return DeviceGetBuffer(DevsMidFanCurve, fan_mode);
|
|
||||||
default:
|
|
||||||
return DeviceGetBuffer(DevsCPUFanCurve, fan_mode);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
using Starlight.Communication;
|
using Starlight.Communication;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Management;
|
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using System.Management;
|
||||||
|
|
||||||
namespace Starlight.AnimeMatrix
|
namespace Starlight.AnimeMatrix
|
||||||
{
|
{
|
||||||
@@ -62,24 +62,25 @@ namespace Starlight.AnimeMatrix
|
|||||||
Off = 0,
|
Off = 0,
|
||||||
Dim = 1,
|
Dim = 1,
|
||||||
Medium = 2,
|
Medium = 2,
|
||||||
Full = 3,
|
Full = 3
|
||||||
Super = 4, //test, doesn't work
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public class AnimeMatrixDevice : Device
|
public class AnimeMatrixDevice : Device
|
||||||
{
|
{
|
||||||
int UpdatePageLength = 490;
|
private const int UpdatePageLength = 0x0278;
|
||||||
int LedCount = 1450;
|
|
||||||
|
|
||||||
byte[] _displayBuffer;
|
public int LedCount => 1450;
|
||||||
List<byte[]> frames = new List<byte[]>();
|
|
||||||
|
private byte[] _displayBuffer = new byte[UpdatePageLength * 3];
|
||||||
|
private List<byte[]> frames = new List<byte[]>();
|
||||||
|
|
||||||
|
private int pages = 3;
|
||||||
|
|
||||||
public int MaxColumns = 34;
|
public int MaxColumns = 34;
|
||||||
public int MaxRows = 61;
|
public int MaxRows = 61;
|
||||||
public int FullRows = 11;
|
|
||||||
|
|
||||||
public int EmptyFirstRow = 1;
|
public int FullRows = 11;
|
||||||
|
|
||||||
private int frameIndex = 0;
|
private int frameIndex = 0;
|
||||||
|
|
||||||
@@ -87,21 +88,15 @@ namespace Starlight.AnimeMatrix
|
|||||||
: base(0x0B05, 0x193B, 640)
|
: base(0x0B05, 0x193B, 640)
|
||||||
{
|
{
|
||||||
string model = GetModel();
|
string model = GetModel();
|
||||||
|
Debug.WriteLine(model);
|
||||||
Logger.WriteLine("Animatrix: " + model);
|
if (model is not null && model.Contains("401"))
|
||||||
|
|
||||||
if (model.Contains("401"))
|
|
||||||
{
|
{
|
||||||
EmptyFirstRow = 1;
|
pages = 2;
|
||||||
|
|
||||||
FullRows = 6;
|
FullRows = 6;
|
||||||
MaxColumns = 33;
|
MaxColumns = 33;
|
||||||
MaxRows = 55;
|
MaxRows = 55;
|
||||||
LedCount = 1214;
|
|
||||||
UpdatePageLength = 410;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_displayBuffer = new byte[LedCount];
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -124,6 +119,7 @@ namespace Starlight.AnimeMatrix
|
|||||||
|
|
||||||
public void PresentNextFrame()
|
public void PresentNextFrame()
|
||||||
{
|
{
|
||||||
|
//Debug.WriteLine(frameIndex);
|
||||||
if (frameIndex >= frames.Count) frameIndex = 0;
|
if (frameIndex >= frames.Count) frameIndex = 0;
|
||||||
_displayBuffer = frames[frameIndex];
|
_displayBuffer = frames[frameIndex];
|
||||||
Present();
|
Present();
|
||||||
@@ -147,25 +143,27 @@ namespace Starlight.AnimeMatrix
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public int XStart(int row)
|
public int EmptyColumns(int row)
|
||||||
{
|
{
|
||||||
return (int)Math.Ceiling(Math.Max(0, row - FullRows) / 2.0);
|
return (int)Math.Ceiling(Math.Max(0, row - FullRows) / 2.0);
|
||||||
}
|
}
|
||||||
|
public int Columns(int row)
|
||||||
public int XEnd(int row)
|
|
||||||
{
|
{
|
||||||
if (row == 0) return MaxColumns - EmptyFirstRow;
|
EnsureRowInRange(row);
|
||||||
return MaxColumns;
|
return MaxColumns - EmptyColumns(row);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int RowToLinearAddress(int row)
|
public int RowToLinearAddress(int row)
|
||||||
{
|
{
|
||||||
EnsureRowInRange(row);
|
EnsureRowInRange(row);
|
||||||
|
|
||||||
int ret = 0;
|
var ret = 0;
|
||||||
|
|
||||||
for (var i = 0; i < row; i++)
|
if (row > 0)
|
||||||
ret += XEnd(i) - XStart(i);
|
{
|
||||||
|
for (var i = 0; i < row; i++)
|
||||||
|
ret += Columns(i);
|
||||||
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@@ -177,13 +175,13 @@ namespace Starlight.AnimeMatrix
|
|||||||
|
|
||||||
public void SetLedLinear(int address, byte value)
|
public void SetLedLinear(int address, byte value)
|
||||||
{
|
{
|
||||||
if (!IsAddressableLed(address)) return;
|
EnsureAddressableLed(address);
|
||||||
_displayBuffer[address] = value;
|
_displayBuffer[address] = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetLedLinearImmediate(int address, byte value)
|
public void SetLedLinearImmediate(int address, byte value)
|
||||||
{
|
{
|
||||||
if (!IsAddressableLed(address)) return;
|
EnsureAddressableLed(address);
|
||||||
_displayBuffer[address] = value;
|
_displayBuffer[address] = value;
|
||||||
|
|
||||||
Set(Packet<AnimeMatrixPacket>(0xC0, 0x02)
|
Set(Packet<AnimeMatrixPacket>(0xC0, 0x02)
|
||||||
@@ -195,20 +193,13 @@ namespace Starlight.AnimeMatrix
|
|||||||
Set(Packet<AnimeMatrixPacket>(0xC0, 0x03));
|
Set(Packet<AnimeMatrixPacket>(0xC0, 0x03));
|
||||||
}
|
}
|
||||||
|
|
||||||
public int SetLedPlanar(int x, int y, byte value)
|
public void SetLedPlanar(int x, int y, byte value)
|
||||||
{
|
{
|
||||||
EnsureRowInRange(y);
|
EnsureRowInRange(y);
|
||||||
var start = RowToLinearAddress(y) - XStart(y);
|
var start = RowToLinearAddress(y) - EmptyColumns(y);
|
||||||
|
|
||||||
if (x >= XStart(y) && x < XEnd(y))
|
if (x > EmptyColumns(y))
|
||||||
{
|
|
||||||
//Debug.Write((start + x).ToString("D4") + ",");
|
|
||||||
SetLedLinear(start + x, value);
|
SetLedLinear(start + x, value);
|
||||||
return start + x;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Debug.Write(" ");
|
|
||||||
return -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Clear(bool present = false)
|
public void Clear(bool present = false)
|
||||||
@@ -223,23 +214,26 @@ namespace Starlight.AnimeMatrix
|
|||||||
public void Present()
|
public void Present()
|
||||||
{
|
{
|
||||||
|
|
||||||
int page = 0;
|
Set(Packet<AnimeMatrixPacket>(0xC0, 0x02)
|
||||||
int start, end;
|
.AppendData(BitConverter.GetBytes((ushort)(UpdatePageLength * 0 + 1)))
|
||||||
|
.AppendData(BitConverter.GetBytes((ushort)UpdatePageLength))
|
||||||
|
.AppendData(_displayBuffer[(UpdatePageLength * 0)..(UpdatePageLength * 1)])
|
||||||
|
);
|
||||||
|
|
||||||
while (page * UpdatePageLength < LedCount)
|
Set(Packet<AnimeMatrixPacket>(0xC0, 0x02)
|
||||||
{
|
.AppendData(BitConverter.GetBytes((ushort)(UpdatePageLength * 1 + 1)))
|
||||||
start = page * UpdatePageLength;
|
.AppendData(BitConverter.GetBytes((ushort)UpdatePageLength))
|
||||||
end = Math.Min(LedCount, (page + 1) * UpdatePageLength);
|
.AppendData(_displayBuffer[(UpdatePageLength * 1)..(UpdatePageLength * 2)])
|
||||||
|
);
|
||||||
|
|
||||||
|
if (pages > 2)
|
||||||
Set(Packet<AnimeMatrixPacket>(0xC0, 0x02)
|
Set(Packet<AnimeMatrixPacket>(0xC0, 0x02)
|
||||||
.AppendData(BitConverter.GetBytes((ushort)(start + 1)))
|
.AppendData(BitConverter.GetBytes((ushort)(UpdatePageLength * 2 + 1)))
|
||||||
.AppendData(BitConverter.GetBytes((ushort)(end - start)))
|
.AppendData(BitConverter.GetBytes((ushort)(LedCount - UpdatePageLength * 2)))
|
||||||
.AppendData(_displayBuffer[start..end])
|
.AppendData(
|
||||||
|
_displayBuffer[(UpdatePageLength * 2)..(UpdatePageLength * 2 + (LedCount - UpdatePageLength * 2))])
|
||||||
);
|
);
|
||||||
|
|
||||||
page++;
|
|
||||||
}
|
|
||||||
|
|
||||||
Set(Packet<AnimeMatrixPacket>(0xC0, 0x03));
|
Set(Packet<AnimeMatrixPacket>(0xC0, 0x03));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -276,11 +270,6 @@ namespace Starlight.AnimeMatrix
|
|||||||
Set(Packet<AnimeMatrixPacket>(0xC5, animation.AsByte));
|
Set(Packet<AnimeMatrixPacket>(0xC5, animation.AsByte));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int GetColor(Bitmap bmp, int x, int y)
|
|
||||||
{
|
|
||||||
var pixel = bmp.GetPixel(Math.Max(0, Math.Min(bmp.Width - 1, x)), Math.Max(0, Math.Min(bmp.Height - 1, y)));
|
|
||||||
return (Math.Max((pixel.R + pixel.G + pixel.B) / 3 - 10, 0));
|
|
||||||
}
|
|
||||||
public void GenerateFrame(Image image)
|
public void GenerateFrame(Image image)
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -300,32 +289,18 @@ namespace Starlight.AnimeMatrix
|
|||||||
graph.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
|
graph.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
|
||||||
graph.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
|
graph.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
|
||||||
|
|
||||||
graph.DrawImage(image, ((int)width - scaleWidth), 0, scaleWidth, scaleHeight);
|
graph.DrawImage(image, ((int)width - scaleWidth), ((int)height - scaleHeight) / 2, scaleWidth, scaleHeight);
|
||||||
|
|
||||||
int addr, counter = 0;
|
Bitmap bmp = new Bitmap(canvas, MaxColumns, MaxRows);
|
||||||
|
|
||||||
Bitmap bmp = new Bitmap(canvas, MaxColumns * 2, MaxRows);
|
|
||||||
|
|
||||||
for (int y = 0; y < bmp.Height; y++)
|
for (int y = 0; y < bmp.Height; y++)
|
||||||
{
|
{
|
||||||
for (int x = 0; x < bmp.Width; x++)
|
for (int x = 0; x < bmp.Width; x++)
|
||||||
{
|
{
|
||||||
if (x % 2 == y % 2)
|
var pixel = bmp.GetPixel(x, y);
|
||||||
{
|
byte color = (byte)(Math.Max((pixel.R + pixel.G + pixel.B) / 3 - 10, 0));
|
||||||
var color = GetColor(bmp, x, y);
|
SetLedPlanar(x, y, color);
|
||||||
//var color2= GetColor(bmp, x+1, y);
|
|
||||||
addr = SetLedPlanar(x / 2, y, (byte)color);
|
|
||||||
if (addr != -1) {
|
|
||||||
if (addr != counter)
|
|
||||||
Debug.Write("ERROR");
|
|
||||||
counter++;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
//Debug.Write("\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -338,9 +313,12 @@ namespace Starlight.AnimeMatrix
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool IsAddressableLed(int address)
|
private void EnsureAddressableLed(int address)
|
||||||
{
|
{
|
||||||
return (address >= 0 && address < LedCount);
|
if (address < 0 || address >= LedCount)
|
||||||
|
{
|
||||||
|
throw new IndexOutOfRangeException($"Linear LED address must be in range of [0, {LedCount - 1}].");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
using System.Management;
|
using System.Text.Json;
|
||||||
using System.Text.Json;
|
|
||||||
|
|
||||||
public class AppConfig
|
public class AppConfig
|
||||||
{
|
{
|
||||||
@@ -7,8 +6,6 @@ public class AppConfig
|
|||||||
public string appPath;
|
public string appPath;
|
||||||
string configFile;
|
string configFile;
|
||||||
|
|
||||||
string _model;
|
|
||||||
|
|
||||||
public Dictionary<string, object> config = new Dictionary<string, object>();
|
public Dictionary<string, object> config = new Dictionary<string, object>();
|
||||||
|
|
||||||
public AppConfig()
|
public AppConfig()
|
||||||
@@ -39,26 +36,6 @@ public class AppConfig
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public bool ContainsModel(string contains)
|
|
||||||
{
|
|
||||||
if (_model is null)
|
|
||||||
{
|
|
||||||
_model = "";
|
|
||||||
using (var searcher = new ManagementObjectSearcher(@"Select * from Win32_ComputerSystem"))
|
|
||||||
{
|
|
||||||
foreach (var process in searcher.Get())
|
|
||||||
{
|
|
||||||
_model = process["Model"].ToString();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return (_model is not null && _model.Contains(contains));
|
|
||||||
|
|
||||||
}
|
|
||||||
private void initConfig()
|
private void initConfig()
|
||||||
{
|
{
|
||||||
config = new Dictionary<string, object>();
|
config = new Dictionary<string, object>();
|
||||||
|
|||||||
@@ -1,182 +0,0 @@
|
|||||||
using CustomControls;
|
|
||||||
using System.Drawing.Drawing2D;
|
|
||||||
using System.Windows.Forms.DataVisualization.Charting;
|
|
||||||
|
|
||||||
public static class ControlHelper
|
|
||||||
{
|
|
||||||
|
|
||||||
static bool _invert = false;
|
|
||||||
static bool _resize = false;
|
|
||||||
|
|
||||||
static float _scale = 1;
|
|
||||||
|
|
||||||
static Color formBack;
|
|
||||||
static Color backMain;
|
|
||||||
static Color foreMain;
|
|
||||||
static Color foreAccent;
|
|
||||||
static Color borderMain;
|
|
||||||
static Color buttonMain;
|
|
||||||
|
|
||||||
public static void Adjust(RForm container, bool darkTheme = false, bool invert = false)
|
|
||||||
{
|
|
||||||
|
|
||||||
if (darkTheme)
|
|
||||||
{
|
|
||||||
formBack = Color.FromArgb(255, 35, 35, 35);
|
|
||||||
backMain = Color.FromArgb(255, 50, 50, 50);
|
|
||||||
foreMain = Color.White;
|
|
||||||
foreAccent = Color.FromArgb(255, 100, 100, 100);
|
|
||||||
borderMain = Color.FromArgb(255, 50, 50, 50);
|
|
||||||
buttonMain = Color.FromArgb(255, 80, 80, 80);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
formBack = SystemColors.Control;
|
|
||||||
backMain = SystemColors.ControlLightLight;
|
|
||||||
foreMain = SystemColors.ControlText;
|
|
||||||
foreAccent = Color.LightGray;
|
|
||||||
borderMain = Color.LightGray;
|
|
||||||
buttonMain = SystemColors.ControlLight;
|
|
||||||
}
|
|
||||||
|
|
||||||
container.BackColor = formBack;
|
|
||||||
container.ForeColor = foreMain;
|
|
||||||
|
|
||||||
_invert = invert;
|
|
||||||
AdjustControls(container.Controls);
|
|
||||||
_invert = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void Resize(RForm container, float baseScale = 2)
|
|
||||||
{
|
|
||||||
_scale = GetDpiScale(container).Value / baseScale;
|
|
||||||
ResizeControls(container.Controls);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void ResizeControls(Control.ControlCollection controls)
|
|
||||||
{
|
|
||||||
foreach (Control control in controls)
|
|
||||||
{
|
|
||||||
var button = control as RButton;
|
|
||||||
if (button != null && button.Image is not null)
|
|
||||||
button.Image = ResizeImage(button.Image);
|
|
||||||
|
|
||||||
var pictureBox = control as PictureBox;
|
|
||||||
if (pictureBox != null && pictureBox.BackgroundImage is not null)
|
|
||||||
pictureBox.BackgroundImage = ResizeImage(pictureBox.BackgroundImage);
|
|
||||||
|
|
||||||
ResizeControls(control.Controls);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private static void AdjustControls(Control.ControlCollection controls)
|
|
||||||
{
|
|
||||||
foreach (Control control in controls)
|
|
||||||
{
|
|
||||||
var button = control as RButton;
|
|
||||||
if (button != null)
|
|
||||||
{
|
|
||||||
button.BackColor = button.Secondary ? buttonMain : backMain;
|
|
||||||
button.ForeColor = foreMain;
|
|
||||||
|
|
||||||
button.FlatStyle = FlatStyle.Flat;
|
|
||||||
button.FlatAppearance.BorderColor = borderMain;
|
|
||||||
|
|
||||||
if (button.Image is not null)
|
|
||||||
button.Image = AdjustImage(button.Image);
|
|
||||||
}
|
|
||||||
|
|
||||||
var pictureBox = control as PictureBox;
|
|
||||||
if (pictureBox != null && pictureBox.BackgroundImage is not null)
|
|
||||||
pictureBox.BackgroundImage = AdjustImage(pictureBox.BackgroundImage);
|
|
||||||
|
|
||||||
|
|
||||||
var combo = control as RComboBox;
|
|
||||||
if (combo != null)
|
|
||||||
{
|
|
||||||
combo.BackColor = backMain;
|
|
||||||
combo.ForeColor = foreMain;
|
|
||||||
combo.BorderColor = backMain;
|
|
||||||
combo.ButtonColor = buttonMain;
|
|
||||||
}
|
|
||||||
|
|
||||||
var gb = control as GroupBox;
|
|
||||||
if (gb != null)
|
|
||||||
{
|
|
||||||
gb.ForeColor = foreMain;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
var chart = control as Chart;
|
|
||||||
if (chart != null)
|
|
||||||
{
|
|
||||||
chart.BackColor = backMain;
|
|
||||||
chart.ChartAreas[0].BackColor = backMain;
|
|
||||||
chart.ChartAreas[0].AxisX.MajorGrid.LineColor = foreAccent;
|
|
||||||
chart.ChartAreas[0].AxisY.MajorGrid.LineColor = foreAccent;
|
|
||||||
|
|
||||||
chart.ChartAreas[0].AxisX.TitleForeColor = foreMain;
|
|
||||||
chart.ChartAreas[0].AxisY.TitleForeColor = foreMain;
|
|
||||||
|
|
||||||
chart.ChartAreas[0].AxisX.LabelStyle.ForeColor = foreMain;
|
|
||||||
chart.ChartAreas[0].AxisY.LabelStyle.ForeColor = foreMain;
|
|
||||||
|
|
||||||
chart.ChartAreas[0].AxisX.MajorTickMark.LineColor = foreMain;
|
|
||||||
chart.ChartAreas[0].AxisY.MajorTickMark.LineColor = foreMain;
|
|
||||||
|
|
||||||
chart.ChartAreas[0].AxisX.LineColor = foreAccent;
|
|
||||||
chart.ChartAreas[0].AxisY.LineColor = foreAccent;
|
|
||||||
|
|
||||||
chart.Titles[0].ForeColor = foreMain;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
AdjustControls(control.Controls);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Lazy<float> GetDpiScale(Control control)
|
|
||||||
{
|
|
||||||
return new Lazy<float>(() =>
|
|
||||||
{
|
|
||||||
using (var graphics = control.CreateGraphics())
|
|
||||||
return graphics.DpiX / 96.0f;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Image ResizeImage(Image image)
|
|
||||||
{
|
|
||||||
var newSize = new Size((int)(image.Width * _scale), (int)(image.Height * _scale));
|
|
||||||
var pic = new Bitmap(newSize.Width, newSize.Height);
|
|
||||||
|
|
||||||
using (var g = Graphics.FromImage(pic))
|
|
||||||
{
|
|
||||||
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
|
|
||||||
g.DrawImage(image, new Rectangle(new Point(), newSize));
|
|
||||||
}
|
|
||||||
return pic;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Image AdjustImage(Image image)
|
|
||||||
{
|
|
||||||
var pic = new Bitmap(image);
|
|
||||||
|
|
||||||
if (_invert)
|
|
||||||
{
|
|
||||||
for (int y = 0; (y <= (pic.Height - 1)); y++)
|
|
||||||
{
|
|
||||||
for (int x = 0; (x <= (pic.Width - 1)); x++)
|
|
||||||
{
|
|
||||||
Color col = pic.GetPixel(x, y);
|
|
||||||
pic.SetPixel(x, y, Color.FromArgb(col.A, (255 - col.R), (255 - col.G), (255 - col.B)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return pic;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,338 +0,0 @@
|
|||||||
using Microsoft.Win32;
|
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Drawing.Drawing2D;
|
|
||||||
using System.Runtime.InteropServices;
|
|
||||||
|
|
||||||
namespace CustomControls
|
|
||||||
{
|
|
||||||
|
|
||||||
public class RForm : Form
|
|
||||||
{
|
|
||||||
|
|
||||||
protected static Color colorEco = Color.FromArgb(255, 6, 180, 138);
|
|
||||||
protected static Color colorStandard = Color.FromArgb(255, 58, 174, 239);
|
|
||||||
protected static Color colorTurbo = Color.FromArgb(255, 255, 32, 32);
|
|
||||||
|
|
||||||
[DllImport("UXTheme.dll", SetLastError = true, EntryPoint = "#138")]
|
|
||||||
public static extern bool CheckSystemDarkModeStatus();
|
|
||||||
|
|
||||||
[DllImport("DwmApi")] //System.Runtime.InteropServices
|
|
||||||
private static extern int DwmSetWindowAttribute(IntPtr hwnd, int attr, int[] attrValue, int attrSize);
|
|
||||||
|
|
||||||
public bool darkTheme = false;
|
|
||||||
|
|
||||||
private static bool IsDarkTheme()
|
|
||||||
{
|
|
||||||
using var key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Themes\Personalize");
|
|
||||||
var registryValueObject = key?.GetValue("AppsUseLightTheme");
|
|
||||||
|
|
||||||
if (registryValueObject == null) return false;
|
|
||||||
return (int)registryValueObject <= 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void InitTheme(bool setDPI = true)
|
|
||||||
{
|
|
||||||
bool newDarkTheme = IsDarkTheme();
|
|
||||||
bool changed = (darkTheme != newDarkTheme);
|
|
||||||
darkTheme = newDarkTheme;
|
|
||||||
|
|
||||||
if (setDPI)
|
|
||||||
ControlHelper.Resize(this);
|
|
||||||
|
|
||||||
DwmSetWindowAttribute(this.Handle, 20, new[] { darkTheme ? 1 : 0 }, 4);
|
|
||||||
ControlHelper.Adjust(this, darkTheme, changed);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public class RTrackBar : TrackBar
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public class RComboBox : ComboBox
|
|
||||||
{
|
|
||||||
private Color borderColor = Color.Gray;
|
|
||||||
[DefaultValue(typeof(Color), "Gray")]
|
|
||||||
public Color BorderColor
|
|
||||||
{
|
|
||||||
get { return borderColor; }
|
|
||||||
set
|
|
||||||
{
|
|
||||||
if (borderColor != value)
|
|
||||||
{
|
|
||||||
borderColor = value;
|
|
||||||
Invalidate();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private Color buttonColor = Color.LightGray;
|
|
||||||
[DefaultValue(typeof(Color), "LightGray")]
|
|
||||||
public Color ButtonColor
|
|
||||||
{
|
|
||||||
get { return buttonColor; }
|
|
||||||
set
|
|
||||||
{
|
|
||||||
if (buttonColor != value)
|
|
||||||
{
|
|
||||||
buttonColor = value;
|
|
||||||
Invalidate();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private Color arrowColor = Color.Black;
|
|
||||||
[DefaultValue(typeof(Color), "Black")]
|
|
||||||
public Color ArrowColor
|
|
||||||
{
|
|
||||||
get { return arrowColor; }
|
|
||||||
set
|
|
||||||
{
|
|
||||||
if (arrowColor != value)
|
|
||||||
{
|
|
||||||
arrowColor = value;
|
|
||||||
Invalidate();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
protected override void WndProc(ref Message m)
|
|
||||||
{
|
|
||||||
if (m.Msg == WM_PAINT && DropDownStyle != ComboBoxStyle.Simple)
|
|
||||||
{
|
|
||||||
var clientRect = ClientRectangle;
|
|
||||||
var dropDownButtonWidth = SystemInformation.HorizontalScrollBarArrowWidth;
|
|
||||||
var outerBorder = new Rectangle(clientRect.Location,
|
|
||||||
new Size(clientRect.Width - 1, clientRect.Height - 1));
|
|
||||||
var innerBorder = new Rectangle(outerBorder.X + 1, outerBorder.Y + 1,
|
|
||||||
outerBorder.Width - dropDownButtonWidth - 2, outerBorder.Height - 2);
|
|
||||||
var innerInnerBorder = new Rectangle(innerBorder.X + 1, innerBorder.Y + 1,
|
|
||||||
innerBorder.Width - 2, innerBorder.Height - 2);
|
|
||||||
var dropDownRect = new Rectangle(innerBorder.Right + 1, innerBorder.Y,
|
|
||||||
dropDownButtonWidth, innerBorder.Height + 1);
|
|
||||||
if (RightToLeft == RightToLeft.Yes)
|
|
||||||
{
|
|
||||||
innerBorder.X = clientRect.Width - innerBorder.Right;
|
|
||||||
innerInnerBorder.X = clientRect.Width - innerInnerBorder.Right;
|
|
||||||
dropDownRect.X = clientRect.Width - dropDownRect.Right;
|
|
||||||
dropDownRect.Width += 1;
|
|
||||||
}
|
|
||||||
var innerBorderColor = Enabled ? BackColor : SystemColors.Control;
|
|
||||||
var outerBorderColor = Enabled ? BorderColor : SystemColors.ControlDark;
|
|
||||||
var buttonColor = Enabled ? ButtonColor : SystemColors.Control;
|
|
||||||
var middle = new Point(dropDownRect.Left + dropDownRect.Width / 2,
|
|
||||||
dropDownRect.Top + dropDownRect.Height / 2);
|
|
||||||
var arrow = new Point[]
|
|
||||||
{
|
|
||||||
new Point(middle.X - 3, middle.Y - 2),
|
|
||||||
new Point(middle.X + 4, middle.Y - 2),
|
|
||||||
new Point(middle.X, middle.Y + 2)
|
|
||||||
};
|
|
||||||
var ps = new PAINTSTRUCT();
|
|
||||||
bool shoulEndPaint = false;
|
|
||||||
IntPtr dc;
|
|
||||||
if (m.WParam == IntPtr.Zero)
|
|
||||||
{
|
|
||||||
dc = BeginPaint(Handle, ref ps);
|
|
||||||
m.WParam = dc;
|
|
||||||
shoulEndPaint = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dc = m.WParam;
|
|
||||||
}
|
|
||||||
var rgn = CreateRectRgn(innerInnerBorder.Left, innerInnerBorder.Top,
|
|
||||||
innerInnerBorder.Right, innerInnerBorder.Bottom);
|
|
||||||
SelectClipRgn(dc, rgn);
|
|
||||||
DefWndProc(ref m);
|
|
||||||
DeleteObject(rgn);
|
|
||||||
rgn = CreateRectRgn(clientRect.Left, clientRect.Top,
|
|
||||||
clientRect.Right, clientRect.Bottom);
|
|
||||||
SelectClipRgn(dc, rgn);
|
|
||||||
using (var g = Graphics.FromHdc(dc))
|
|
||||||
{
|
|
||||||
using (var b = new SolidBrush(buttonColor))
|
|
||||||
{
|
|
||||||
g.FillRectangle(b, dropDownRect);
|
|
||||||
}
|
|
||||||
using (var b = new SolidBrush(arrowColor))
|
|
||||||
{
|
|
||||||
g.FillPolygon(b, arrow);
|
|
||||||
}
|
|
||||||
using (var p = new Pen(innerBorderColor))
|
|
||||||
{
|
|
||||||
g.DrawRectangle(p, innerBorder);
|
|
||||||
g.DrawRectangle(p, innerInnerBorder);
|
|
||||||
}
|
|
||||||
using (var p = new Pen(outerBorderColor))
|
|
||||||
{
|
|
||||||
g.DrawRectangle(p, outerBorder);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (shoulEndPaint)
|
|
||||||
EndPaint(Handle, ref ps);
|
|
||||||
DeleteObject(rgn);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
base.WndProc(ref m);
|
|
||||||
}
|
|
||||||
|
|
||||||
private const int WM_PAINT = 0xF;
|
|
||||||
[StructLayout(LayoutKind.Sequential)]
|
|
||||||
public struct RECT
|
|
||||||
{
|
|
||||||
public int L, T, R, B;
|
|
||||||
}
|
|
||||||
[StructLayout(LayoutKind.Sequential)]
|
|
||||||
public struct PAINTSTRUCT
|
|
||||||
{
|
|
||||||
public IntPtr hdc;
|
|
||||||
public bool fErase;
|
|
||||||
public int rcPaint_left;
|
|
||||||
public int rcPaint_top;
|
|
||||||
public int rcPaint_right;
|
|
||||||
public int rcPaint_bottom;
|
|
||||||
public bool fRestore;
|
|
||||||
public bool fIncUpdate;
|
|
||||||
public int reserved1;
|
|
||||||
public int reserved2;
|
|
||||||
public int reserved3;
|
|
||||||
public int reserved4;
|
|
||||||
public int reserved5;
|
|
||||||
public int reserved6;
|
|
||||||
public int reserved7;
|
|
||||||
public int reserved8;
|
|
||||||
}
|
|
||||||
[DllImport("user32.dll")]
|
|
||||||
private static extern IntPtr BeginPaint(IntPtr hWnd,
|
|
||||||
[In, Out] ref PAINTSTRUCT lpPaint);
|
|
||||||
|
|
||||||
[DllImport("user32.dll")]
|
|
||||||
private static extern bool EndPaint(IntPtr hWnd, ref PAINTSTRUCT lpPaint);
|
|
||||||
|
|
||||||
[DllImport("gdi32.dll")]
|
|
||||||
public static extern int SelectClipRgn(IntPtr hDC, IntPtr hRgn);
|
|
||||||
|
|
||||||
[DllImport("user32.dll")]
|
|
||||||
public static extern int GetUpdateRgn(IntPtr hwnd, IntPtr hrgn, bool fErase);
|
|
||||||
public enum RegionFlags
|
|
||||||
{
|
|
||||||
ERROR = 0,
|
|
||||||
NULLREGION = 1,
|
|
||||||
SIMPLEREGION = 2,
|
|
||||||
COMPLEXREGION = 3,
|
|
||||||
}
|
|
||||||
[DllImport("gdi32.dll")]
|
|
||||||
internal static extern bool DeleteObject(IntPtr hObject);
|
|
||||||
|
|
||||||
[DllImport("gdi32.dll")]
|
|
||||||
private static extern IntPtr CreateRectRgn(int x1, int y1, int x2, int y2);
|
|
||||||
}
|
|
||||||
|
|
||||||
public class RButton : Button
|
|
||||||
{
|
|
||||||
//Fields
|
|
||||||
private int borderSize = 5;
|
|
||||||
private int borderRadius = 5;
|
|
||||||
|
|
||||||
private bool activated = false;
|
|
||||||
private bool secondary = false;
|
|
||||||
|
|
||||||
private Color borderColor = Color.Transparent;
|
|
||||||
|
|
||||||
public Color BorderColor
|
|
||||||
{
|
|
||||||
get { return borderColor; }
|
|
||||||
set
|
|
||||||
{
|
|
||||||
borderColor = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public bool Activated
|
|
||||||
{
|
|
||||||
get { return activated; }
|
|
||||||
set
|
|
||||||
{
|
|
||||||
if (activated != value)
|
|
||||||
this.Invalidate();
|
|
||||||
activated = value;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool Secondary
|
|
||||||
{
|
|
||||||
get { return secondary; }
|
|
||||||
set
|
|
||||||
{
|
|
||||||
secondary = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public RButton()
|
|
||||||
{
|
|
||||||
this.FlatStyle = FlatStyle.Flat;
|
|
||||||
this.FlatAppearance.BorderSize = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private GraphicsPath GetFigurePath(Rectangle rect, int radius)
|
|
||||||
{
|
|
||||||
GraphicsPath path = new GraphicsPath();
|
|
||||||
float curveSize = radius * 2F;
|
|
||||||
|
|
||||||
path.StartFigure();
|
|
||||||
path.AddArc(rect.X, rect.Y, curveSize, curveSize, 180, 90);
|
|
||||||
path.AddArc(rect.Right - curveSize, rect.Y, curveSize, curveSize, 270, 90);
|
|
||||||
path.AddArc(rect.Right - curveSize, rect.Bottom - curveSize, curveSize, curveSize, 0, 90);
|
|
||||||
path.AddArc(rect.X, rect.Bottom - curveSize, curveSize, curveSize, 90, 90);
|
|
||||||
path.CloseFigure();
|
|
||||||
return path;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
protected override void OnPaint(PaintEventArgs pevent)
|
|
||||||
{
|
|
||||||
|
|
||||||
base.OnPaint(pevent);
|
|
||||||
|
|
||||||
float ratio = pevent.Graphics.DpiX / 192.0f;
|
|
||||||
int border = (int)(ratio * borderSize);
|
|
||||||
|
|
||||||
Rectangle rectSurface = this.ClientRectangle;
|
|
||||||
Rectangle rectBorder = Rectangle.Inflate(rectSurface, -border, -border);
|
|
||||||
|
|
||||||
Color borderDrawColor = activated ? borderColor : Color.Transparent;
|
|
||||||
|
|
||||||
using (GraphicsPath pathSurface = GetFigurePath(rectSurface, borderRadius + border))
|
|
||||||
using (GraphicsPath pathBorder = GetFigurePath(rectBorder, borderRadius))
|
|
||||||
using (Pen penSurface = new Pen(this.Parent.BackColor, border))
|
|
||||||
using (Pen penBorder = new Pen(borderDrawColor, border))
|
|
||||||
{
|
|
||||||
penBorder.Alignment = PenAlignment.Outset;
|
|
||||||
pevent.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
|
|
||||||
this.Region = new Region(pathSurface);
|
|
||||||
pevent.Graphics.DrawPath(penSurface, pathSurface);
|
|
||||||
pevent.Graphics.DrawPath(penBorder, pathBorder);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!Enabled && ForeColor != SystemColors.ControlText)
|
|
||||||
{
|
|
||||||
var rect = pevent.ClipRectangle;
|
|
||||||
if (Image is not null)
|
|
||||||
{
|
|
||||||
rect.Y += Image.Height;
|
|
||||||
rect.Height -= Image.Height;
|
|
||||||
}
|
|
||||||
TextFormatFlags flags = TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter | TextFormatFlags.WordBreak;
|
|
||||||
TextRenderer.DrawText(pevent.Graphics, this.Text, this.Font, rect, Color.Gray, flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,120 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<root>
|
|
||||||
<!--
|
|
||||||
Microsoft ResX Schema
|
|
||||||
|
|
||||||
Version 2.0
|
|
||||||
|
|
||||||
The primary goals of this format is to allow a simple XML format
|
|
||||||
that is mostly human readable. The generation and parsing of the
|
|
||||||
various data types are done through the TypeConverter classes
|
|
||||||
associated with the data types.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
... ado.net/XML headers & schema ...
|
|
||||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
|
||||||
<resheader name="version">2.0</resheader>
|
|
||||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
|
||||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
|
||||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
|
||||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
|
||||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
|
||||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
|
||||||
</data>
|
|
||||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
|
||||||
<comment>This is a comment</comment>
|
|
||||||
</data>
|
|
||||||
|
|
||||||
There are any number of "resheader" rows that contain simple
|
|
||||||
name/value pairs.
|
|
||||||
|
|
||||||
Each data row contains a name, and value. The row also contains a
|
|
||||||
type or mimetype. Type corresponds to a .NET class that support
|
|
||||||
text/value conversion through the TypeConverter architecture.
|
|
||||||
Classes that don't support this are serialized and stored with the
|
|
||||||
mimetype set.
|
|
||||||
|
|
||||||
The mimetype is used for serialized objects, and tells the
|
|
||||||
ResXResourceReader how to depersist the object. This is currently not
|
|
||||||
extensible. For a given mimetype the value must be set accordingly:
|
|
||||||
|
|
||||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
|
||||||
that the ResXResourceWriter will generate, however the reader can
|
|
||||||
read any of the formats listed below.
|
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.binary.base64
|
|
||||||
value : The object must be serialized with
|
|
||||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
|
||||||
: and then encoded with base64 encoding.
|
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.soap.base64
|
|
||||||
value : The object must be serialized with
|
|
||||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
|
||||||
: and then encoded with base64 encoding.
|
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
|
||||||
value : The object must be serialized into a byte array
|
|
||||||
: using a System.ComponentModel.TypeConverter
|
|
||||||
: and then encoded with base64 encoding.
|
|
||||||
-->
|
|
||||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
|
||||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
|
||||||
<xsd:element name="root" msdata:IsDataSet="true">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:choice maxOccurs="unbounded">
|
|
||||||
<xsd:element name="metadata">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:sequence>
|
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
|
||||||
</xsd:sequence>
|
|
||||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
|
||||||
<xsd:attribute name="type" type="xsd:string" />
|
|
||||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
|
||||||
<xsd:attribute ref="xml:space" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
<xsd:element name="assembly">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:attribute name="alias" type="xsd:string" />
|
|
||||||
<xsd:attribute name="name" type="xsd:string" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
<xsd:element name="data">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:sequence>
|
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
|
||||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
|
||||||
</xsd:sequence>
|
|
||||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
|
||||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
|
||||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
|
||||||
<xsd:attribute ref="xml:space" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
<xsd:element name="resheader">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:sequence>
|
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
|
||||||
</xsd:sequence>
|
|
||||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
</xsd:choice>
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
</xsd:schema>
|
|
||||||
<resheader name="resmimetype">
|
|
||||||
<value>text/microsoft-resx</value>
|
|
||||||
</resheader>
|
|
||||||
<resheader name="version">
|
|
||||||
<value>2.0</value>
|
|
||||||
</resheader>
|
|
||||||
<resheader name="reader">
|
|
||||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</resheader>
|
|
||||||
<resheader name="writer">
|
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</resheader>
|
|
||||||
</root>
|
|
||||||
93
app/Fans.Designer.cs
generated
93
app/Fans.Designer.cs
generated
@@ -1,7 +1,4 @@
|
|||||||
using CustomControls;
|
namespace GHelper
|
||||||
using System.Windows.Forms.DataVisualization.Charting;
|
|
||||||
|
|
||||||
namespace GHelper
|
|
||||||
{
|
{
|
||||||
partial class Fans
|
partial class Fans
|
||||||
{
|
{
|
||||||
@@ -31,30 +28,25 @@ namespace GHelper
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
ChartArea chartArea1 = new ChartArea();
|
System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
|
||||||
Title title1 = new Title();
|
System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea2 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
|
||||||
ChartArea chartArea2 = new ChartArea();
|
|
||||||
Title title2 = new Title();
|
|
||||||
ChartArea chartArea3 = new ChartArea();
|
|
||||||
Title title3 = new Title();
|
|
||||||
panelFans = new Panel();
|
panelFans = new Panel();
|
||||||
labelTip = new Label();
|
labelTip = new Label();
|
||||||
labelBoost = new Label();
|
labelBoost = new Label();
|
||||||
comboBoost = new RComboBox();
|
comboBoost = new ComboBox();
|
||||||
picturePerf = new PictureBox();
|
picturePerf = new PictureBox();
|
||||||
tableFanCharts = new TableLayoutPanel();
|
tableFanCharts = new TableLayoutPanel();
|
||||||
chartGPU = new Chart();
|
chartGPU = new System.Windows.Forms.DataVisualization.Charting.Chart();
|
||||||
chartCPU = new Chart();
|
chartCPU = new System.Windows.Forms.DataVisualization.Charting.Chart();
|
||||||
chartMid = new Chart();
|
|
||||||
labelFans = new Label();
|
labelFans = new Label();
|
||||||
checkAuto = new CheckBox();
|
checkAuto = new CheckBox();
|
||||||
buttonReset = new RButton();
|
buttonReset = new Button();
|
||||||
buttonApply = new RButton();
|
buttonApply = new Button();
|
||||||
panelPower = new Panel();
|
panelPower = new Panel();
|
||||||
pictureBox1 = new PictureBox();
|
pictureBox1 = new PictureBox();
|
||||||
labelPowerLimits = new Label();
|
labelPowerLimits = new Label();
|
||||||
checkApplyPower = new CheckBox();
|
checkApplyPower = new CheckBox();
|
||||||
buttonApplyPower = new RButton();
|
buttonApplyPower = new Button();
|
||||||
panelCPU = new Panel();
|
panelCPU = new Panel();
|
||||||
labelCPU = new Label();
|
labelCPU = new Label();
|
||||||
label2 = new Label();
|
label2 = new Label();
|
||||||
@@ -71,7 +63,6 @@ namespace GHelper
|
|||||||
tableFanCharts.SuspendLayout();
|
tableFanCharts.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)chartGPU).BeginInit();
|
((System.ComponentModel.ISupportInitialize)chartGPU).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)chartCPU).BeginInit();
|
((System.ComponentModel.ISupportInitialize)chartCPU).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)chartMid).BeginInit();
|
|
||||||
panelPower.SuspendLayout();
|
panelPower.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit();
|
||||||
panelCPU.SuspendLayout();
|
panelCPU.SuspendLayout();
|
||||||
@@ -123,7 +114,6 @@ namespace GHelper
|
|||||||
// comboBoost
|
// comboBoost
|
||||||
//
|
//
|
||||||
comboBoost.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
|
comboBoost.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
|
||||||
comboBoost.BorderColor = Color.White;
|
|
||||||
comboBoost.DropDownStyle = ComboBoxStyle.DropDownList;
|
comboBoost.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||||
comboBoost.FormattingEnabled = true;
|
comboBoost.FormattingEnabled = true;
|
||||||
comboBoost.Items.AddRange(new object[] { "Disabled", "Enabled", "Aggressive", "Efficient Enabled", "Efficient Aggressive" });
|
comboBoost.Items.AddRange(new object[] { "Disabled", "Enabled", "Aggressive", "Efficient Enabled", "Efficient Aggressive" });
|
||||||
@@ -151,14 +141,14 @@ namespace GHelper
|
|||||||
tableFanCharts.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
|
tableFanCharts.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
|
||||||
tableFanCharts.Controls.Add(chartGPU, 0, 1);
|
tableFanCharts.Controls.Add(chartGPU, 0, 1);
|
||||||
tableFanCharts.Controls.Add(chartCPU, 0, 0);
|
tableFanCharts.Controls.Add(chartCPU, 0, 0);
|
||||||
tableFanCharts.Controls.Add(chartMid, 0, 2);
|
|
||||||
tableFanCharts.Location = new Point(28, 64);
|
tableFanCharts.Location = new Point(28, 64);
|
||||||
tableFanCharts.Margin = new Padding(6);
|
tableFanCharts.Margin = new Padding(6);
|
||||||
tableFanCharts.Name = "tableFanCharts";
|
tableFanCharts.Name = "tableFanCharts";
|
||||||
tableFanCharts.RowCount = 2;
|
tableFanCharts.RowCount = 2;
|
||||||
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Percent, 33F));
|
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
|
||||||
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Percent, 33F));
|
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
|
||||||
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Percent, 33F));
|
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Absolute, 40F));
|
||||||
|
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Absolute, 40F));
|
||||||
tableFanCharts.Size = new Size(764, 992);
|
tableFanCharts.Size = new Size(764, 992);
|
||||||
tableFanCharts.TabIndex = 36;
|
tableFanCharts.TabIndex = 36;
|
||||||
//
|
//
|
||||||
@@ -167,14 +157,12 @@ namespace GHelper
|
|||||||
chartArea1.Name = "ChartArea1";
|
chartArea1.Name = "ChartArea1";
|
||||||
chartGPU.ChartAreas.Add(chartArea1);
|
chartGPU.ChartAreas.Add(chartArea1);
|
||||||
chartGPU.Dock = DockStyle.Fill;
|
chartGPU.Dock = DockStyle.Fill;
|
||||||
chartGPU.Location = new Point(2, 340);
|
chartGPU.Location = new Point(2, 506);
|
||||||
chartGPU.Margin = new Padding(2, 10, 2, 10);
|
chartGPU.Margin = new Padding(2, 10, 2, 10);
|
||||||
chartGPU.Name = "chartGPU";
|
chartGPU.Name = "chartGPU";
|
||||||
chartGPU.Size = new Size(760, 310);
|
chartGPU.Size = new Size(760, 476);
|
||||||
chartGPU.TabIndex = 17;
|
chartGPU.TabIndex = 17;
|
||||||
chartGPU.Text = "chartGPU";
|
chartGPU.Text = "chart1";
|
||||||
title1.Name = "Title1";
|
|
||||||
chartGPU.Titles.Add(title1);
|
|
||||||
//
|
//
|
||||||
// chartCPU
|
// chartCPU
|
||||||
//
|
//
|
||||||
@@ -184,25 +172,9 @@ namespace GHelper
|
|||||||
chartCPU.Location = new Point(2, 10);
|
chartCPU.Location = new Point(2, 10);
|
||||||
chartCPU.Margin = new Padding(2, 10, 2, 10);
|
chartCPU.Margin = new Padding(2, 10, 2, 10);
|
||||||
chartCPU.Name = "chartCPU";
|
chartCPU.Name = "chartCPU";
|
||||||
chartCPU.Size = new Size(760, 310);
|
chartCPU.Size = new Size(760, 476);
|
||||||
chartCPU.TabIndex = 14;
|
chartCPU.TabIndex = 14;
|
||||||
chartCPU.Text = "chartCPU";
|
chartCPU.Text = "chartCPU";
|
||||||
title2.Name = "Title1";
|
|
||||||
chartCPU.Titles.Add(title2);
|
|
||||||
//
|
|
||||||
// chartMid
|
|
||||||
//
|
|
||||||
chartArea3.Name = "ChartArea3";
|
|
||||||
chartMid.ChartAreas.Add(chartArea3);
|
|
||||||
chartMid.Dock = DockStyle.Fill;
|
|
||||||
chartMid.Location = new Point(2, 670);
|
|
||||||
chartMid.Margin = new Padding(2, 10, 2, 10);
|
|
||||||
chartMid.Name = "chartMid";
|
|
||||||
chartMid.Size = new Size(760, 312);
|
|
||||||
chartMid.TabIndex = 14;
|
|
||||||
chartMid.Text = "chartMid";
|
|
||||||
title3.Name = "Title3";
|
|
||||||
chartMid.Titles.Add(title3);
|
|
||||||
//
|
//
|
||||||
// labelFans
|
// labelFans
|
||||||
//
|
//
|
||||||
@@ -229,35 +201,25 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
// buttonReset
|
// buttonReset
|
||||||
//
|
//
|
||||||
buttonReset.Activated = false;
|
|
||||||
buttonReset.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
|
buttonReset.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
|
||||||
buttonReset.BackColor = SystemColors.ControlLight;
|
|
||||||
buttonReset.BorderColor = Color.Transparent;
|
|
||||||
buttonReset.FlatStyle = FlatStyle.Flat;
|
|
||||||
buttonReset.Location = new Point(30, 1081);
|
buttonReset.Location = new Point(30, 1081);
|
||||||
buttonReset.Margin = new Padding(4, 2, 4, 2);
|
buttonReset.Margin = new Padding(4, 2, 4, 2);
|
||||||
buttonReset.Name = "buttonReset";
|
buttonReset.Name = "buttonReset";
|
||||||
buttonReset.Secondary = true;
|
|
||||||
buttonReset.Size = new Size(232, 44);
|
buttonReset.Size = new Size(232, 44);
|
||||||
buttonReset.TabIndex = 15;
|
buttonReset.TabIndex = 15;
|
||||||
buttonReset.Text = "Factory Defaults";
|
buttonReset.Text = "Factory Defaults";
|
||||||
buttonReset.UseVisualStyleBackColor = false;
|
buttonReset.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// buttonApply
|
// buttonApply
|
||||||
//
|
//
|
||||||
buttonApply.Activated = false;
|
|
||||||
buttonApply.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
|
buttonApply.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
|
||||||
buttonApply.BackColor = SystemColors.ControlLight;
|
|
||||||
buttonApply.BorderColor = Color.Transparent;
|
|
||||||
buttonApply.FlatStyle = FlatStyle.Flat;
|
|
||||||
buttonApply.Location = new Point(542, 1081);
|
buttonApply.Location = new Point(542, 1081);
|
||||||
buttonApply.Margin = new Padding(4, 2, 4, 2);
|
buttonApply.Margin = new Padding(4, 2, 4, 2);
|
||||||
buttonApply.Name = "buttonApply";
|
buttonApply.Name = "buttonApply";
|
||||||
buttonApply.Secondary = true;
|
|
||||||
buttonApply.Size = new Size(248, 44);
|
buttonApply.Size = new Size(248, 44);
|
||||||
buttonApply.TabIndex = 14;
|
buttonApply.TabIndex = 14;
|
||||||
buttonApply.Text = "Apply Fan Curve";
|
buttonApply.Text = "Apply Fan Curve";
|
||||||
buttonApply.UseVisualStyleBackColor = false;
|
buttonApply.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// panelPower
|
// panelPower
|
||||||
//
|
//
|
||||||
@@ -315,19 +277,14 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
// buttonApplyPower
|
// buttonApplyPower
|
||||||
//
|
//
|
||||||
buttonApplyPower.Activated = false;
|
|
||||||
buttonApplyPower.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
|
buttonApplyPower.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
|
||||||
buttonApplyPower.BackColor = SystemColors.ControlLight;
|
|
||||||
buttonApplyPower.BorderColor = Color.Transparent;
|
|
||||||
buttonApplyPower.FlatStyle = FlatStyle.Flat;
|
|
||||||
buttonApplyPower.Location = new Point(20, 1081);
|
buttonApplyPower.Location = new Point(20, 1081);
|
||||||
buttonApplyPower.Margin = new Padding(4, 2, 4, 2);
|
buttonApplyPower.Margin = new Padding(4, 2, 4, 2);
|
||||||
buttonApplyPower.Name = "buttonApplyPower";
|
buttonApplyPower.Name = "buttonApplyPower";
|
||||||
buttonApplyPower.Secondary = true;
|
|
||||||
buttonApplyPower.Size = new Size(324, 44);
|
buttonApplyPower.Size = new Size(324, 44);
|
||||||
buttonApplyPower.TabIndex = 24;
|
buttonApplyPower.TabIndex = 24;
|
||||||
buttonApplyPower.Text = "Apply Power Limits";
|
buttonApplyPower.Text = "Apply Power Limits";
|
||||||
buttonApplyPower.UseVisualStyleBackColor = false;
|
buttonApplyPower.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// panelCPU
|
// panelCPU
|
||||||
//
|
//
|
||||||
@@ -483,7 +440,6 @@ namespace GHelper
|
|||||||
tableFanCharts.ResumeLayout(false);
|
tableFanCharts.ResumeLayout(false);
|
||||||
((System.ComponentModel.ISupportInitialize)chartGPU).EndInit();
|
((System.ComponentModel.ISupportInitialize)chartGPU).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)chartCPU).EndInit();
|
((System.ComponentModel.ISupportInitialize)chartCPU).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)chartMid).EndInit();
|
|
||||||
panelPower.ResumeLayout(false);
|
panelPower.ResumeLayout(false);
|
||||||
panelPower.PerformLayout();
|
panelPower.PerformLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit();
|
((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit();
|
||||||
@@ -500,11 +456,11 @@ namespace GHelper
|
|||||||
#endregion
|
#endregion
|
||||||
private Panel panelFans;
|
private Panel panelFans;
|
||||||
private CheckBox checkAuto;
|
private CheckBox checkAuto;
|
||||||
private RButton buttonReset;
|
private Button buttonReset;
|
||||||
private RButton buttonApply;
|
private Button buttonApply;
|
||||||
private Panel panelPower;
|
private Panel panelPower;
|
||||||
private CheckBox checkApplyPower;
|
private CheckBox checkApplyPower;
|
||||||
private RButton buttonApplyPower;
|
private Button buttonApplyPower;
|
||||||
private Panel panelCPU;
|
private Panel panelCPU;
|
||||||
private Label labelCPU;
|
private Label labelCPU;
|
||||||
private Label label2;
|
private Label label2;
|
||||||
@@ -520,11 +476,10 @@ namespace GHelper
|
|||||||
private TableLayoutPanel tableFanCharts;
|
private TableLayoutPanel tableFanCharts;
|
||||||
private System.Windows.Forms.DataVisualization.Charting.Chart chartGPU;
|
private System.Windows.Forms.DataVisualization.Charting.Chart chartGPU;
|
||||||
private System.Windows.Forms.DataVisualization.Charting.Chart chartCPU;
|
private System.Windows.Forms.DataVisualization.Charting.Chart chartCPU;
|
||||||
private System.Windows.Forms.DataVisualization.Charting.Chart chartMid;
|
|
||||||
private Label labelFans;
|
private Label labelFans;
|
||||||
private PictureBox picturePerf;
|
private PictureBox picturePerf;
|
||||||
private PictureBox pictureBox1;
|
private PictureBox pictureBox1;
|
||||||
private RComboBox comboBoost;
|
private ComboBox comboBoost;
|
||||||
private Label labelBoost;
|
private Label labelBoost;
|
||||||
private Label labelTip;
|
private Label labelTip;
|
||||||
}
|
}
|
||||||
|
|||||||
63
app/Fans.cs
63
app/Fans.cs
@@ -1,24 +1,19 @@
|
|||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Windows.Forms.DataVisualization.Charting;
|
using System.Windows.Forms.DataVisualization.Charting;
|
||||||
using CustomControls;
|
|
||||||
|
|
||||||
namespace GHelper
|
namespace GHelper
|
||||||
{
|
{
|
||||||
public partial class Fans : RForm
|
public partial class Fans : Form
|
||||||
{
|
{
|
||||||
|
|
||||||
DataPoint curPoint = null;
|
DataPoint curPoint = null;
|
||||||
Series seriesCPU;
|
Series seriesCPU;
|
||||||
Series seriesGPU;
|
Series seriesGPU;
|
||||||
Series seriesMid;
|
|
||||||
|
|
||||||
static int MinRPM, MaxRPM;
|
|
||||||
|
|
||||||
static string ChartPercToRPM(int percentage, string unit = "")
|
static string ChartPercToRPM(int percentage, string unit = "")
|
||||||
{
|
{
|
||||||
if (percentage == 0) return "OFF";
|
if (percentage == 0) return "OFF";
|
||||||
|
return (1800 + 200 * Math.Floor(percentage * 0.2)).ToString() + unit;
|
||||||
return (200 * Math.Round((float)(MinRPM + (MaxRPM - MinRPM) * percentage * 0.01) / 200)).ToString() + unit;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetChart(Chart chart, int device)
|
void SetChart(Chart chart, int device)
|
||||||
@@ -28,15 +23,19 @@ namespace GHelper
|
|||||||
|
|
||||||
if (device == 1)
|
if (device == 1)
|
||||||
title = "GPU Fan Profile";
|
title = "GPU Fan Profile";
|
||||||
else if (device == 2)
|
|
||||||
title = "Middle Fan Profile";
|
|
||||||
else
|
else
|
||||||
title = "CPU Fan Profile";
|
title = "CPU Fan Profile";
|
||||||
|
|
||||||
if (Program.settingsForm.perfName.Length > 0)
|
if (Program.settingsForm.perfName.Length > 0)
|
||||||
labelFans.Text = "Fan Profiles: " + Program.settingsForm.perfName;
|
labelFans.Text = "Fan Profiles: " + Program.settingsForm.perfName;
|
||||||
|
|
||||||
chart.Titles[0].Text = title;
|
if (chart.Titles.Count > 0)
|
||||||
|
chart.Titles[0].Text = title;
|
||||||
|
else
|
||||||
|
chart.Titles.Add(title);
|
||||||
|
|
||||||
|
chart.ChartAreas[0].AxisX.MajorGrid.LineColor = Color.LightGray;
|
||||||
|
chart.ChartAreas[0].AxisY.MajorGrid.LineColor = Color.LightGray;
|
||||||
|
|
||||||
chart.ChartAreas[0].AxisX.Minimum = 10;
|
chart.ChartAreas[0].AxisX.Minimum = 10;
|
||||||
chart.ChartAreas[0].AxisX.Maximum = 100;
|
chart.ChartAreas[0].AxisX.Maximum = 100;
|
||||||
@@ -80,18 +79,6 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
|
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
InitTheme();
|
|
||||||
|
|
||||||
MinRPM = 1800;
|
|
||||||
|
|
||||||
if (Program.config.ContainsModel("401"))
|
|
||||||
MaxRPM = 7200;
|
|
||||||
else if (Program.config.ContainsModel("503"))
|
|
||||||
MaxRPM = 6800;
|
|
||||||
else
|
|
||||||
MaxRPM = 5800;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
labelTip.Visible = false;
|
labelTip.Visible = false;
|
||||||
labelTip.BackColor = Color.Transparent;
|
labelTip.BackColor = Color.Transparent;
|
||||||
@@ -100,11 +87,9 @@ namespace GHelper
|
|||||||
|
|
||||||
seriesCPU = chartCPU.Series.Add("CPU");
|
seriesCPU = chartCPU.Series.Add("CPU");
|
||||||
seriesGPU = chartGPU.Series.Add("GPU");
|
seriesGPU = chartGPU.Series.Add("GPU");
|
||||||
seriesMid = chartMid.Series.Add("Mid");
|
|
||||||
|
|
||||||
seriesCPU.Color = colorStandard;
|
seriesCPU.Color = Color.Blue;
|
||||||
seriesGPU.Color = colorTurbo;
|
seriesGPU.Color = Color.Red;
|
||||||
seriesMid.Color = colorEco;
|
|
||||||
|
|
||||||
chartCPU.MouseMove += ChartCPU_MouseMove;
|
chartCPU.MouseMove += ChartCPU_MouseMove;
|
||||||
chartCPU.MouseUp += ChartCPU_MouseUp;
|
chartCPU.MouseUp += ChartCPU_MouseUp;
|
||||||
@@ -112,9 +97,6 @@ namespace GHelper
|
|||||||
chartGPU.MouseMove += ChartCPU_MouseMove;
|
chartGPU.MouseMove += ChartCPU_MouseMove;
|
||||||
chartGPU.MouseUp += ChartCPU_MouseUp;
|
chartGPU.MouseUp += ChartCPU_MouseUp;
|
||||||
|
|
||||||
chartMid.MouseMove += ChartCPU_MouseMove;
|
|
||||||
chartMid.MouseUp += ChartCPU_MouseUp;
|
|
||||||
|
|
||||||
buttonReset.Click += ButtonReset_Click;
|
buttonReset.Click += ButtonReset_Click;
|
||||||
buttonApply.Click += ButtonApply_Click;
|
buttonApply.Click += ButtonApply_Click;
|
||||||
|
|
||||||
@@ -258,12 +240,12 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
if (applied)
|
if (applied)
|
||||||
{
|
{
|
||||||
labelApplied.ForeColor = colorStandard;
|
labelApplied.ForeColor = Color.Blue;
|
||||||
labelApplied.Text = "Applied";
|
labelApplied.Text = "Applied";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
labelApplied.ForeColor = colorTurbo;
|
labelApplied.ForeColor = Color.Red;
|
||||||
labelApplied.Text = "Not Applied";
|
labelApplied.Text = "Not Applied";
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -272,21 +254,6 @@ namespace GHelper
|
|||||||
public void InitFans()
|
public void InitFans()
|
||||||
{
|
{
|
||||||
|
|
||||||
byte[] curve = Program.wmi.GetFanCurve(2);
|
|
||||||
|
|
||||||
if (curve.All(singleByte => singleByte == 0))
|
|
||||||
{
|
|
||||||
Program.config.setConfig("mid_fan", 0);
|
|
||||||
chartMid.Visible = false;
|
|
||||||
|
|
||||||
} else
|
|
||||||
{
|
|
||||||
Program.config.setConfig("mid_fan", 1);
|
|
||||||
SetChart(chartMid, 2);
|
|
||||||
LoadProfile(seriesMid, 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
SetChart(chartCPU, 0);
|
SetChart(chartCPU, 0);
|
||||||
SetChart(chartGPU, 1);
|
SetChart(chartGPU, 1);
|
||||||
|
|
||||||
@@ -351,8 +318,6 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
ApplyProfile(seriesCPU, 0);
|
ApplyProfile(seriesCPU, 0);
|
||||||
ApplyProfile(seriesGPU, 1);
|
ApplyProfile(seriesGPU, 1);
|
||||||
if (Program.config.getConfig("mid_fan") == 1)
|
|
||||||
ApplyProfile(seriesMid, 2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ButtonReset_Click(object? sender, EventArgs e)
|
private void ButtonReset_Click(object? sender, EventArgs e)
|
||||||
@@ -360,8 +325,6 @@ namespace GHelper
|
|||||||
|
|
||||||
LoadProfile(seriesCPU, 0, 1);
|
LoadProfile(seriesCPU, 0, 1);
|
||||||
LoadProfile(seriesGPU, 1, 1);
|
LoadProfile(seriesGPU, 1, 1);
|
||||||
if (Program.config.getConfig("mid_fan") == 1)
|
|
||||||
LoadProfile(seriesMid, 2, 1);
|
|
||||||
|
|
||||||
checkAuto.Checked = false;
|
checkAuto.Checked = false;
|
||||||
checkApplyPower.Checked = false;
|
checkApplyPower.Checked = false;
|
||||||
|
|||||||
@@ -16,7 +16,24 @@
|
|||||||
<PlatformTarget>x64</PlatformTarget>
|
<PlatformTarget>x64</PlatformTarget>
|
||||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||||
<AssemblyVersion>0.35</AssemblyVersion>
|
<AssemblyVersion>0.31</AssemblyVersion>
|
||||||
|
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
|
<DebugType>none</DebugType>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||||
|
<DebugType>none</DebugType>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<DebugType>none</DebugType>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<DebugType>none</DebugType>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@@ -51,6 +68,15 @@
|
|||||||
<PackageReference Include="WinForms.DataVisualization" Version="1.7.0" />
|
<PackageReference Include="WinForms.DataVisualization" Version="1.7.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Microsoft.Management.Infrastructure">
|
||||||
|
<HintPath>..\..\.nuget\packages\microsoft.management.infrastructure\2.0.0\ref\net451\Microsoft.Management.Infrastructure.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Management.Infrastructure.Native">
|
||||||
|
<HintPath>..\..\.nuget\packages\microsoft.management.infrastructure.runtime.win\2.0.0\runtimes\win10-x64\lib\netstandard1.6\Microsoft.Management.Infrastructure.Native.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="Resources\eco.ico">
|
<Content Include="Resources\eco.ico">
|
||||||
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
||||||
@@ -99,4 +125,8 @@
|
|||||||
</None>
|
</None>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
|
||||||
|
<Exec Command="call post-build.bat $(TargetPath)
" />
|
||||||
|
</Target>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
@@ -58,36 +58,28 @@ public static class HardwareMonitor
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void RecreateGpuTemperatureProvider() {
|
public static void RecreateGpuTemperatureProvider() {
|
||||||
try
|
try {
|
||||||
{
|
|
||||||
GpuTemperatureProvider?.Dispose();
|
GpuTemperatureProvider?.Dispose();
|
||||||
|
|
||||||
// Detect valid GPU temperature provider.
|
// Detect valid GPU temperature provider.
|
||||||
// We start with NVIDIA because there's always at least an integrated AMD GPU
|
// We start with NVIDIA because there's always at least an integrated AMD GPU
|
||||||
IGpuTemperatureProvider gpuTemperatureProvider = new NvidiaGpuTemperatureProvider();
|
IGpuTemperatureProvider gpuTemperatureProvider = new NvidiaGpuTemperatureProvider();
|
||||||
if (gpuTemperatureProvider.IsValid)
|
if (gpuTemperatureProvider.IsValid) {
|
||||||
{
|
|
||||||
GpuTemperatureProvider = gpuTemperatureProvider;
|
GpuTemperatureProvider = gpuTemperatureProvider;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
gpuTemperatureProvider.Dispose();
|
gpuTemperatureProvider.Dispose();
|
||||||
gpuTemperatureProvider = new AmdGpuTemperatureProvider();
|
gpuTemperatureProvider = new AmdGpuTemperatureProvider();
|
||||||
if (gpuTemperatureProvider.IsValid)
|
if (gpuTemperatureProvider.IsValid) {
|
||||||
{
|
|
||||||
GpuTemperatureProvider = gpuTemperatureProvider;
|
GpuTemperatureProvider = gpuTemperatureProvider;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
gpuTemperatureProvider.Dispose();
|
gpuTemperatureProvider.Dispose();
|
||||||
|
|
||||||
GpuTemperatureProvider = null;
|
GpuTemperatureProvider = null;
|
||||||
}
|
} finally {
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
Logger.WriteLine($"GpuTemperatureProvider: {GpuTemperatureProvider?.GetType().Name}");
|
Logger.WriteLine($"GpuTemperatureProvider: {GpuTemperatureProvider?.GetType().Name}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
67
app/HighDpiHelper.cs
Normal file
67
app/HighDpiHelper.cs
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
using System.Drawing.Drawing2D;
|
||||||
|
|
||||||
|
public static class HighDpiHelper
|
||||||
|
{
|
||||||
|
public static void AdjustControlImagesDpiScale(Control container, float baseScale = 2)
|
||||||
|
{
|
||||||
|
var dpiScale = GetDpiScale(container).Value;
|
||||||
|
AdjustControlImagesDpiScale(container.Controls, dpiScale / baseScale);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void AdjustButtonDpiScale(ButtonBase button, float dpiScale)
|
||||||
|
{
|
||||||
|
var image = button.Image;
|
||||||
|
|
||||||
|
if (image == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
button.Image = ScaleImage(image, dpiScale);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void AdjustControlImagesDpiScale(Control.ControlCollection controls, float dpiScale)
|
||||||
|
{
|
||||||
|
foreach (Control control in controls)
|
||||||
|
{
|
||||||
|
var button = control as ButtonBase;
|
||||||
|
if (button != null)
|
||||||
|
AdjustButtonDpiScale(button, dpiScale);
|
||||||
|
|
||||||
|
AdjustControlImagesDpiScale(control.Controls, dpiScale);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Lazy<float> GetDpiScale(Control control)
|
||||||
|
{
|
||||||
|
return new Lazy<float>(() =>
|
||||||
|
{
|
||||||
|
using (var graphics = control.CreateGraphics())
|
||||||
|
return graphics.DpiX / 96.0f;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Image ScaleImage(Image image, float dpiScale)
|
||||||
|
{
|
||||||
|
var newSize = ScaleSize(image.Size, dpiScale);
|
||||||
|
var newBitmap = new Bitmap(newSize.Width, newSize.Height);
|
||||||
|
|
||||||
|
using (var g = Graphics.FromImage(newBitmap))
|
||||||
|
{
|
||||||
|
// According to this blog post http://blogs.msdn.com/b/visualstudio/archive/2014/03/19/improving-high-dpi-support-for-visual-studio-2013.aspx
|
||||||
|
// NearestNeighbor is more adapted for 200% and 200%+ DPI
|
||||||
|
|
||||||
|
var interpolationMode = InterpolationMode.HighQualityBicubic;
|
||||||
|
if (dpiScale >= 2.0f)
|
||||||
|
interpolationMode = InterpolationMode.NearestNeighbor;
|
||||||
|
|
||||||
|
g.InterpolationMode = interpolationMode;
|
||||||
|
g.DrawImage(image, new Rectangle(new Point(), newSize));
|
||||||
|
}
|
||||||
|
|
||||||
|
return newBitmap;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Size ScaleSize(Size size, float scale)
|
||||||
|
{
|
||||||
|
return new Size((int)(size.Width * scale), (int)(size.Height * scale));
|
||||||
|
}
|
||||||
|
}
|
||||||
16
app/Keyboard.Designer.cs
generated
16
app/Keyboard.Designer.cs
generated
@@ -1,6 +1,4 @@
|
|||||||
using CustomControls;
|
namespace GHelper
|
||||||
|
|
||||||
namespace GHelper
|
|
||||||
{
|
{
|
||||||
partial class Keyboard
|
partial class Keyboard
|
||||||
{
|
{
|
||||||
@@ -33,12 +31,12 @@ namespace GHelper
|
|||||||
groupBox1 = new GroupBox();
|
groupBox1 = new GroupBox();
|
||||||
textM4 = new TextBox();
|
textM4 = new TextBox();
|
||||||
textM3 = new TextBox();
|
textM3 = new TextBox();
|
||||||
comboM4 = new RComboBox();
|
comboM4 = new ComboBox();
|
||||||
labelM4 = new Label();
|
labelM4 = new Label();
|
||||||
comboM3 = new RComboBox();
|
comboM3 = new ComboBox();
|
||||||
labelM3 = new Label();
|
labelM3 = new Label();
|
||||||
textFNF4 = new TextBox();
|
textFNF4 = new TextBox();
|
||||||
comboFNF4 = new RComboBox();
|
comboFNF4 = new ComboBox();
|
||||||
labelFNF4 = new Label();
|
labelFNF4 = new Label();
|
||||||
groupBox1.SuspendLayout();
|
groupBox1.SuspendLayout();
|
||||||
SuspendLayout();
|
SuspendLayout();
|
||||||
@@ -163,13 +161,13 @@ namespace GHelper
|
|||||||
|
|
||||||
private GroupBox groupBox1;
|
private GroupBox groupBox1;
|
||||||
private Label labelM3;
|
private Label labelM3;
|
||||||
private RComboBox comboM3;
|
private ComboBox comboM3;
|
||||||
private RComboBox comboM4;
|
private ComboBox comboM4;
|
||||||
private Label labelM4;
|
private Label labelM4;
|
||||||
private TextBox textM4;
|
private TextBox textM4;
|
||||||
private TextBox textM3;
|
private TextBox textM3;
|
||||||
private TextBox textFNF4;
|
private TextBox textFNF4;
|
||||||
private RComboBox comboFNF4;
|
private ComboBox comboFNF4;
|
||||||
private Label labelFNF4;
|
private Label labelFNF4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,8 +1,6 @@
|
|||||||
using CustomControls;
|
namespace GHelper
|
||||||
|
|
||||||
namespace GHelper
|
|
||||||
{
|
{
|
||||||
public partial class Keyboard : RForm
|
public partial class Keyboard : Form
|
||||||
{
|
{
|
||||||
|
|
||||||
Dictionary<string, string> customActions = new Dictionary<string, string>
|
Dictionary<string, string> customActions = new Dictionary<string, string>
|
||||||
@@ -53,7 +51,6 @@ namespace GHelper
|
|||||||
public Keyboard()
|
public Keyboard()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
InitTheme();
|
|
||||||
|
|
||||||
SetKeyCombo(comboM3, textM3, "m3");
|
SetKeyCombo(comboM3, textM3, "m3");
|
||||||
SetKeyCombo(comboM4, textM4, "m4");
|
SetKeyCombo(comboM4, textM4, "m4");
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ namespace GHelper
|
|||||||
private static IntPtr ds;
|
private static IntPtr ds;
|
||||||
|
|
||||||
private static long lastAuto;
|
private static long lastAuto;
|
||||||
private static long lastTheme;
|
|
||||||
|
|
||||||
// The main entry point for the application
|
// The main entry point for the application
|
||||||
public static void Main()
|
public static void Main()
|
||||||
@@ -49,9 +48,6 @@ namespace GHelper
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SystemEvents.UserPreferenceChanged += new
|
|
||||||
UserPreferenceChangedEventHandler(SystemEvents_UserPreferenceChanged);
|
|
||||||
|
|
||||||
Application.EnableVisualStyles();
|
Application.EnableVisualStyles();
|
||||||
|
|
||||||
ds = settingsForm.Handle;
|
ds = settingsForm.Handle;
|
||||||
@@ -81,31 +77,6 @@ namespace GHelper
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void SystemEvents_UserPreferenceChanged(object sender, UserPreferenceChangedEventArgs e)
|
|
||||||
{
|
|
||||||
|
|
||||||
if (Math.Abs(DateTimeOffset.Now.ToUnixTimeMilliseconds() - lastTheme) < 2000) return;
|
|
||||||
lastTheme = DateTimeOffset.Now.ToUnixTimeMilliseconds();
|
|
||||||
|
|
||||||
switch (e.Category)
|
|
||||||
{
|
|
||||||
case UserPreferenceCategory.General:
|
|
||||||
Debug.WriteLine("Theme Changed");
|
|
||||||
Thread.Sleep(500);
|
|
||||||
settingsForm.InitTheme(false);
|
|
||||||
|
|
||||||
if (settingsForm.fans is not null && settingsForm.fans.Text != "")
|
|
||||||
settingsForm.fans.InitTheme(false);
|
|
||||||
|
|
||||||
if (settingsForm.keyb is not null && settingsForm.keyb.Text != "")
|
|
||||||
settingsForm.keyb.InitTheme(false);
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static async void CheckForUpdates()
|
static async void CheckForUpdates()
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -141,7 +112,7 @@ namespace GHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static void SetAutoModes(bool wait = false)
|
public static void SetAutoModes()
|
||||||
{
|
{
|
||||||
|
|
||||||
if (Math.Abs(DateTimeOffset.Now.ToUnixTimeMilliseconds() - lastAuto) < 1000) return;
|
if (Math.Abs(DateTimeOffset.Now.ToUnixTimeMilliseconds() - lastAuto) < 1000) return;
|
||||||
@@ -155,9 +126,6 @@ namespace GHelper
|
|||||||
|
|
||||||
settingsForm.AutoPerformance(isPlugged);
|
settingsForm.AutoPerformance(isPlugged);
|
||||||
|
|
||||||
// waiting a bit before turning off dGPU
|
|
||||||
// if (wait && isPlugged != PowerLineStatus.Online) Thread.Sleep(3000);
|
|
||||||
|
|
||||||
bool switched = settingsForm.AutoGPUMode(isPlugged);
|
bool switched = settingsForm.AutoGPUMode(isPlugged);
|
||||||
if (!switched) settingsForm.AutoScreen(isPlugged);
|
if (!switched) settingsForm.AutoScreen(isPlugged);
|
||||||
|
|
||||||
@@ -167,7 +135,7 @@ namespace GHelper
|
|||||||
private static void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
|
private static void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
|
||||||
{
|
{
|
||||||
Logger.WriteLine("Windows - Power Mode Changed");
|
Logger.WriteLine("Windows - Power Mode Changed");
|
||||||
SetAutoModes(true);
|
SetAutoModes();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
83
app/RoundedButton.cs
Normal file
83
app/RoundedButton.cs
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
using System.Drawing.Drawing2D;
|
||||||
|
|
||||||
|
namespace CustomControls
|
||||||
|
{
|
||||||
|
public class RoundedButton : Button
|
||||||
|
{
|
||||||
|
//Fields
|
||||||
|
private int borderSize = 5;
|
||||||
|
private int borderRadius = 5;
|
||||||
|
private bool activated = false;
|
||||||
|
private Color borderColor = Color.Transparent;
|
||||||
|
|
||||||
|
public Color BorderColor
|
||||||
|
{
|
||||||
|
get { return borderColor; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
borderColor = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public bool Activated
|
||||||
|
{
|
||||||
|
get { return activated; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (activated != value)
|
||||||
|
this.Invalidate();
|
||||||
|
activated = value;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public RoundedButton()
|
||||||
|
{
|
||||||
|
this.FlatStyle = FlatStyle.Flat;
|
||||||
|
this.FlatAppearance.BorderSize = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
private GraphicsPath GetFigurePath(Rectangle rect, int radius)
|
||||||
|
{
|
||||||
|
GraphicsPath path = new GraphicsPath();
|
||||||
|
float curveSize = radius * 2F;
|
||||||
|
|
||||||
|
path.StartFigure();
|
||||||
|
path.AddArc(rect.X, rect.Y, curveSize, curveSize, 180, 90);
|
||||||
|
path.AddArc(rect.Right - curveSize, rect.Y, curveSize, curveSize, 270, 90);
|
||||||
|
path.AddArc(rect.Right - curveSize, rect.Bottom - curveSize, curveSize, curveSize, 0, 90);
|
||||||
|
path.AddArc(rect.X, rect.Bottom - curveSize, curveSize, curveSize, 90, 90);
|
||||||
|
path.CloseFigure();
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected override void OnPaint(PaintEventArgs pevent)
|
||||||
|
{
|
||||||
|
base.OnPaint(pevent);
|
||||||
|
|
||||||
|
float ratio = pevent.Graphics.DpiX / 192.0f;
|
||||||
|
int border = (int)(ratio * borderSize);
|
||||||
|
|
||||||
|
Rectangle rectSurface = this.ClientRectangle;
|
||||||
|
Rectangle rectBorder = Rectangle.Inflate(rectSurface, -border, -border);
|
||||||
|
|
||||||
|
Color borderDrawColor = activated ? borderColor : Color.Transparent;
|
||||||
|
|
||||||
|
using (GraphicsPath pathSurface = GetFigurePath(rectSurface, borderRadius + border))
|
||||||
|
using (GraphicsPath pathBorder = GetFigurePath(rectBorder, borderRadius))
|
||||||
|
using (Pen penSurface = new Pen(this.Parent.BackColor, border))
|
||||||
|
using (Pen penBorder = new Pen(borderDrawColor, border))
|
||||||
|
{
|
||||||
|
penBorder.Alignment = PenAlignment.Outset;
|
||||||
|
pevent.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
|
||||||
|
this.Region = new Region(pathSurface);
|
||||||
|
pevent.Graphics.DrawPath(penSurface, pathSurface);
|
||||||
|
pevent.Graphics.DrawPath(penBorder, pathBorder);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
252
app/Settings.Designer.cs
generated
252
app/Settings.Designer.cs
generated
@@ -34,9 +34,9 @@ namespace GHelper
|
|||||||
panelMatrix = new Panel();
|
panelMatrix = new Panel();
|
||||||
checkMatrix = new CheckBox();
|
checkMatrix = new CheckBox();
|
||||||
tableLayoutMatrix = new TableLayoutPanel();
|
tableLayoutMatrix = new TableLayoutPanel();
|
||||||
comboMatrix = new RComboBox();
|
comboMatrix = new ComboBox();
|
||||||
buttonMatrix = new RButton();
|
buttonMatrix = new Button();
|
||||||
comboMatrixRunning = new RComboBox();
|
comboMatrixRunning = new ComboBox();
|
||||||
pictureMatrix = new PictureBox();
|
pictureMatrix = new PictureBox();
|
||||||
labelMatrix = new Label();
|
labelMatrix = new Label();
|
||||||
panelBattery = new Panel();
|
panelBattery = new Panel();
|
||||||
@@ -46,46 +46,45 @@ namespace GHelper
|
|||||||
labelBatteryTitle = new Label();
|
labelBatteryTitle = new Label();
|
||||||
trackBattery = new TrackBar();
|
trackBattery = new TrackBar();
|
||||||
panelFooter = new Panel();
|
panelFooter = new Panel();
|
||||||
buttonQuit = new RButton();
|
buttonQuit = new Button();
|
||||||
checkStartup = new CheckBox();
|
checkStartup = new CheckBox();
|
||||||
panelPerformance = new Panel();
|
panelPerformance = new Panel();
|
||||||
picturePerf = new PictureBox();
|
picturePerf = new PictureBox();
|
||||||
labelPerf = new Label();
|
labelPerf = new Label();
|
||||||
labelCPUFan = new Label();
|
labelCPUFan = new Label();
|
||||||
tablePerf = new TableLayoutPanel();
|
tablePerf = new TableLayoutPanel();
|
||||||
buttonSilent = new RButton();
|
buttonSilent = new RoundedButton();
|
||||||
buttonBalanced = new RButton();
|
buttonBalanced = new RoundedButton();
|
||||||
buttonTurbo = new RButton();
|
buttonTurbo = new RoundedButton();
|
||||||
buttonFans = new RButton();
|
buttonFans = new Button();
|
||||||
panelGPU = new Panel();
|
panelGPU = new Panel();
|
||||||
labelTipGPU = new Label();
|
labelTipGPU = new Label();
|
||||||
pictureGPU = new PictureBox();
|
pictureGPU = new PictureBox();
|
||||||
labelGPU = new Label();
|
labelGPU = new Label();
|
||||||
labelGPUFan = new Label();
|
labelGPUFan = new Label();
|
||||||
tableGPU = new TableLayoutPanel();
|
tableGPU = new TableLayoutPanel();
|
||||||
buttonEco = new RButton();
|
buttonEco = new RoundedButton();
|
||||||
buttonStandard = new RButton();
|
buttonStandard = new RoundedButton();
|
||||||
buttonOptimized = new RButton();
|
buttonOptimized = new RoundedButton();
|
||||||
buttonUltimate = new RButton();
|
buttonUltimate = new RoundedButton();
|
||||||
panelScreen = new Panel();
|
panelScreen = new Panel();
|
||||||
labelTipScreen = new Label();
|
labelTipScreen = new Label();
|
||||||
tableScreen = new TableLayoutPanel();
|
tableScreen = new TableLayoutPanel();
|
||||||
buttonScreenAuto = new RButton();
|
buttonScreenAuto = new RoundedButton();
|
||||||
button60Hz = new RButton();
|
button60Hz = new RoundedButton();
|
||||||
button120Hz = new RButton();
|
button120Hz = new RoundedButton();
|
||||||
pictureScreen = new PictureBox();
|
pictureScreen = new PictureBox();
|
||||||
labelSreen = new Label();
|
labelSreen = new Label();
|
||||||
panelKeyboard = new Panel();
|
panelKeyboard = new Panel();
|
||||||
tableLayoutKeyboard = new TableLayoutPanel();
|
tableLayoutKeyboard = new TableLayoutPanel();
|
||||||
buttonKeyboard = new RButton();
|
buttonKeyboard = new Button();
|
||||||
comboKeyboard = new RComboBox();
|
comboKeyboard = new ComboBox();
|
||||||
panelColor = new Panel();
|
panelColor = new Panel();
|
||||||
pictureColor2 = new PictureBox();
|
pictureColor2 = new PictureBox();
|
||||||
pictureColor = new PictureBox();
|
pictureColor = new PictureBox();
|
||||||
buttonKeyboardColor = new RButton();
|
buttonKeyboardColor = new Button();
|
||||||
pictureKeyboard = new PictureBox();
|
pictureKeyboard = new PictureBox();
|
||||||
labelKeyboard = new Label();
|
labelKeyboard = new Label();
|
||||||
buttonMiniled = new RButton();
|
|
||||||
panelMatrix.SuspendLayout();
|
panelMatrix.SuspendLayout();
|
||||||
tableLayoutMatrix.SuspendLayout();
|
tableLayoutMatrix.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureMatrix).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureMatrix).BeginInit();
|
||||||
@@ -123,7 +122,7 @@ namespace GHelper
|
|||||||
panelMatrix.Margin = new Padding(8);
|
panelMatrix.Margin = new Padding(8);
|
||||||
panelMatrix.Name = "panelMatrix";
|
panelMatrix.Name = "panelMatrix";
|
||||||
panelMatrix.Padding = new Padding(0, 0, 0, 12);
|
panelMatrix.Padding = new Padding(0, 0, 0, 12);
|
||||||
panelMatrix.Size = new Size(810, 168);
|
panelMatrix.Size = new Size(816, 168);
|
||||||
panelMatrix.TabIndex = 33;
|
panelMatrix.TabIndex = 33;
|
||||||
//
|
//
|
||||||
// checkMatrix
|
// checkMatrix
|
||||||
@@ -156,13 +155,11 @@ namespace GHelper
|
|||||||
tableLayoutMatrix.Name = "tableLayoutMatrix";
|
tableLayoutMatrix.Name = "tableLayoutMatrix";
|
||||||
tableLayoutMatrix.RowCount = 1;
|
tableLayoutMatrix.RowCount = 1;
|
||||||
tableLayoutMatrix.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
|
tableLayoutMatrix.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
|
||||||
tableLayoutMatrix.Size = new Size(772, 60);
|
tableLayoutMatrix.Size = new Size(780, 60);
|
||||||
tableLayoutMatrix.TabIndex = 43;
|
tableLayoutMatrix.TabIndex = 43;
|
||||||
//
|
//
|
||||||
// comboMatrix
|
// comboMatrix
|
||||||
//
|
//
|
||||||
comboMatrix.BorderColor = Color.White;
|
|
||||||
comboMatrix.ButtonColor = SystemColors.ControlLight;
|
|
||||||
comboMatrix.Dock = DockStyle.Top;
|
comboMatrix.Dock = DockStyle.Top;
|
||||||
comboMatrix.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
comboMatrix.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
||||||
comboMatrix.FormattingEnabled = true;
|
comboMatrix.FormattingEnabled = true;
|
||||||
@@ -171,40 +168,34 @@ namespace GHelper
|
|||||||
comboMatrix.Location = new Point(4, 10);
|
comboMatrix.Location = new Point(4, 10);
|
||||||
comboMatrix.Margin = new Padding(4, 10, 4, 8);
|
comboMatrix.Margin = new Padding(4, 10, 4, 8);
|
||||||
comboMatrix.Name = "comboMatrix";
|
comboMatrix.Name = "comboMatrix";
|
||||||
comboMatrix.Size = new Size(185, 40);
|
comboMatrix.Size = new Size(187, 40);
|
||||||
comboMatrix.TabIndex = 41;
|
comboMatrix.TabIndex = 41;
|
||||||
comboMatrix.TabStop = false;
|
comboMatrix.TabStop = false;
|
||||||
//
|
//
|
||||||
// buttonMatrix
|
// buttonMatrix
|
||||||
//
|
//
|
||||||
buttonMatrix.Activated = false;
|
buttonMatrix.BackColor = SystemColors.ButtonFace;
|
||||||
buttonMatrix.BackColor = SystemColors.ControlLight;
|
|
||||||
buttonMatrix.BorderColor = Color.Transparent;
|
|
||||||
buttonMatrix.Dock = DockStyle.Top;
|
buttonMatrix.Dock = DockStyle.Top;
|
||||||
buttonMatrix.FlatAppearance.BorderSize = 0;
|
buttonMatrix.FlatAppearance.BorderSize = 0;
|
||||||
buttonMatrix.FlatStyle = FlatStyle.Flat;
|
buttonMatrix.Location = new Point(394, 8);
|
||||||
buttonMatrix.Location = new Point(390, 8);
|
|
||||||
buttonMatrix.Margin = new Padding(4, 8, 4, 8);
|
buttonMatrix.Margin = new Padding(4, 8, 4, 8);
|
||||||
buttonMatrix.Name = "buttonMatrix";
|
buttonMatrix.Name = "buttonMatrix";
|
||||||
buttonMatrix.Secondary = true;
|
buttonMatrix.Size = new Size(187, 44);
|
||||||
buttonMatrix.Size = new Size(185, 44);
|
|
||||||
buttonMatrix.TabIndex = 43;
|
buttonMatrix.TabIndex = 43;
|
||||||
buttonMatrix.Text = "Picture / Gif";
|
buttonMatrix.Text = "Picture / Gif";
|
||||||
buttonMatrix.UseVisualStyleBackColor = false;
|
buttonMatrix.UseVisualStyleBackColor = false;
|
||||||
//
|
//
|
||||||
// comboMatrixRunning
|
// comboMatrixRunning
|
||||||
//
|
//
|
||||||
comboMatrixRunning.BorderColor = Color.White;
|
|
||||||
comboMatrixRunning.ButtonColor = SystemColors.ControlLight;
|
|
||||||
comboMatrixRunning.Dock = DockStyle.Top;
|
comboMatrixRunning.Dock = DockStyle.Top;
|
||||||
comboMatrixRunning.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
comboMatrixRunning.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
||||||
comboMatrixRunning.FormattingEnabled = true;
|
comboMatrixRunning.FormattingEnabled = true;
|
||||||
comboMatrixRunning.ItemHeight = 32;
|
comboMatrixRunning.ItemHeight = 32;
|
||||||
comboMatrixRunning.Items.AddRange(new object[] { "Binary Banner", "Rog Logo", "Picture" });
|
comboMatrixRunning.Items.AddRange(new object[] { "Binary Banner", "Rog Logo", "Picture" });
|
||||||
comboMatrixRunning.Location = new Point(197, 10);
|
comboMatrixRunning.Location = new Point(199, 10);
|
||||||
comboMatrixRunning.Margin = new Padding(4, 10, 4, 8);
|
comboMatrixRunning.Margin = new Padding(4, 10, 4, 8);
|
||||||
comboMatrixRunning.Name = "comboMatrixRunning";
|
comboMatrixRunning.Name = "comboMatrixRunning";
|
||||||
comboMatrixRunning.Size = new Size(185, 40);
|
comboMatrixRunning.Size = new Size(187, 40);
|
||||||
comboMatrixRunning.TabIndex = 42;
|
comboMatrixRunning.TabIndex = 42;
|
||||||
comboMatrixRunning.TabStop = false;
|
comboMatrixRunning.TabStop = false;
|
||||||
//
|
//
|
||||||
@@ -244,7 +235,7 @@ namespace GHelper
|
|||||||
panelBattery.Margin = new Padding(8);
|
panelBattery.Margin = new Padding(8);
|
||||||
panelBattery.Name = "panelBattery";
|
panelBattery.Name = "panelBattery";
|
||||||
panelBattery.Padding = new Padding(0, 0, 0, 12);
|
panelBattery.Padding = new Padding(0, 0, 0, 12);
|
||||||
panelBattery.Size = new Size(810, 158);
|
panelBattery.Size = new Size(816, 158);
|
||||||
panelBattery.TabIndex = 34;
|
panelBattery.TabIndex = 34;
|
||||||
//
|
//
|
||||||
// labelVersion
|
// labelVersion
|
||||||
@@ -262,7 +253,7 @@ namespace GHelper
|
|||||||
// labelBattery
|
// labelBattery
|
||||||
//
|
//
|
||||||
labelBattery.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
labelBattery.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
labelBattery.Location = new Point(422, 9);
|
labelBattery.Location = new Point(428, 9);
|
||||||
labelBattery.Margin = new Padding(8, 0, 8, 0);
|
labelBattery.Margin = new Padding(8, 0, 8, 0);
|
||||||
labelBattery.Name = "labelBattery";
|
labelBattery.Name = "labelBattery";
|
||||||
labelBattery.Size = new Size(364, 44);
|
labelBattery.Size = new Size(364, 44);
|
||||||
@@ -300,7 +291,7 @@ namespace GHelper
|
|||||||
trackBattery.Maximum = 100;
|
trackBattery.Maximum = 100;
|
||||||
trackBattery.Minimum = 50;
|
trackBattery.Minimum = 50;
|
||||||
trackBattery.Name = "trackBattery";
|
trackBattery.Name = "trackBattery";
|
||||||
trackBattery.Size = new Size(766, 90);
|
trackBattery.Size = new Size(772, 90);
|
||||||
trackBattery.SmallChange = 5;
|
trackBattery.SmallChange = 5;
|
||||||
trackBattery.TabIndex = 33;
|
trackBattery.TabIndex = 33;
|
||||||
trackBattery.TickFrequency = 10;
|
trackBattery.TickFrequency = 10;
|
||||||
@@ -318,20 +309,16 @@ namespace GHelper
|
|||||||
panelFooter.Margin = new Padding(8);
|
panelFooter.Margin = new Padding(8);
|
||||||
panelFooter.Name = "panelFooter";
|
panelFooter.Name = "panelFooter";
|
||||||
panelFooter.Padding = new Padding(0, 0, 0, 10);
|
panelFooter.Padding = new Padding(0, 0, 0, 10);
|
||||||
panelFooter.Size = new Size(810, 74);
|
panelFooter.Size = new Size(816, 74);
|
||||||
panelFooter.TabIndex = 35;
|
panelFooter.TabIndex = 35;
|
||||||
//
|
//
|
||||||
// buttonQuit
|
// buttonQuit
|
||||||
//
|
//
|
||||||
buttonQuit.Activated = false;
|
|
||||||
buttonQuit.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
buttonQuit.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
buttonQuit.BackColor = SystemColors.ControlLight;
|
buttonQuit.BackColor = SystemColors.ButtonFace;
|
||||||
buttonQuit.BorderColor = Color.Transparent;
|
buttonQuit.Location = new Point(584, 16);
|
||||||
buttonQuit.FlatStyle = FlatStyle.Flat;
|
|
||||||
buttonQuit.Location = new Point(578, 16);
|
|
||||||
buttonQuit.Margin = new Padding(8, 4, 8, 4);
|
buttonQuit.Margin = new Padding(8, 4, 8, 4);
|
||||||
buttonQuit.Name = "buttonQuit";
|
buttonQuit.Name = "buttonQuit";
|
||||||
buttonQuit.Secondary = true;
|
|
||||||
buttonQuit.Size = new Size(208, 44);
|
buttonQuit.Size = new Size(208, 44);
|
||||||
buttonQuit.TabIndex = 18;
|
buttonQuit.TabIndex = 18;
|
||||||
buttonQuit.Text = "Quit";
|
buttonQuit.Text = "Quit";
|
||||||
@@ -361,7 +348,7 @@ namespace GHelper
|
|||||||
panelPerformance.Margin = new Padding(0);
|
panelPerformance.Margin = new Padding(0);
|
||||||
panelPerformance.Name = "panelPerformance";
|
panelPerformance.Name = "panelPerformance";
|
||||||
panelPerformance.Padding = new Padding(0, 0, 0, 12);
|
panelPerformance.Padding = new Padding(0, 0, 0, 12);
|
||||||
panelPerformance.Size = new Size(810, 200);
|
panelPerformance.Size = new Size(816, 200);
|
||||||
panelPerformance.TabIndex = 36;
|
panelPerformance.TabIndex = 36;
|
||||||
//
|
//
|
||||||
// picturePerf
|
// picturePerf
|
||||||
@@ -390,10 +377,10 @@ namespace GHelper
|
|||||||
// labelCPUFan
|
// labelCPUFan
|
||||||
//
|
//
|
||||||
labelCPUFan.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
labelCPUFan.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
labelCPUFan.Location = new Point(384, 15);
|
labelCPUFan.Location = new Point(456, 16);
|
||||||
labelCPUFan.Margin = new Padding(8, 0, 8, 0);
|
labelCPUFan.Margin = new Padding(8, 0, 8, 0);
|
||||||
labelCPUFan.Name = "labelCPUFan";
|
labelCPUFan.Name = "labelCPUFan";
|
||||||
labelCPUFan.Size = new Size(400, 36);
|
labelCPUFan.Size = new Size(336, 36);
|
||||||
labelCPUFan.TabIndex = 30;
|
labelCPUFan.TabIndex = 30;
|
||||||
labelCPUFan.Text = " ";
|
labelCPUFan.Text = " ";
|
||||||
labelCPUFan.TextAlign = ContentAlignment.TopRight;
|
labelCPUFan.TextAlign = ContentAlignment.TopRight;
|
||||||
@@ -417,7 +404,7 @@ namespace GHelper
|
|||||||
tablePerf.Name = "tablePerf";
|
tablePerf.Name = "tablePerf";
|
||||||
tablePerf.RowCount = 1;
|
tablePerf.RowCount = 1;
|
||||||
tablePerf.RowStyles.Add(new RowStyle(SizeType.Absolute, 128F));
|
tablePerf.RowStyles.Add(new RowStyle(SizeType.Absolute, 128F));
|
||||||
tablePerf.Size = new Size(772, 128);
|
tablePerf.Size = new Size(780, 128);
|
||||||
tablePerf.TabIndex = 29;
|
tablePerf.TabIndex = 29;
|
||||||
//
|
//
|
||||||
// buttonSilent
|
// buttonSilent
|
||||||
@@ -436,8 +423,7 @@ namespace GHelper
|
|||||||
buttonSilent.Location = new Point(4, 4);
|
buttonSilent.Location = new Point(4, 4);
|
||||||
buttonSilent.Margin = new Padding(4);
|
buttonSilent.Margin = new Padding(4);
|
||||||
buttonSilent.Name = "buttonSilent";
|
buttonSilent.Name = "buttonSilent";
|
||||||
buttonSilent.Secondary = false;
|
buttonSilent.Size = new Size(187, 120);
|
||||||
buttonSilent.Size = new Size(185, 120);
|
|
||||||
buttonSilent.TabIndex = 0;
|
buttonSilent.TabIndex = 0;
|
||||||
buttonSilent.Text = "Silent";
|
buttonSilent.Text = "Silent";
|
||||||
buttonSilent.TextImageRelation = TextImageRelation.ImageAboveText;
|
buttonSilent.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||||
@@ -454,11 +440,10 @@ namespace GHelper
|
|||||||
buttonBalanced.ForeColor = SystemColors.ControlText;
|
buttonBalanced.ForeColor = SystemColors.ControlText;
|
||||||
buttonBalanced.Image = Properties.Resources.icons8_fiat_500_48;
|
buttonBalanced.Image = Properties.Resources.icons8_fiat_500_48;
|
||||||
buttonBalanced.ImageAlign = ContentAlignment.BottomCenter;
|
buttonBalanced.ImageAlign = ContentAlignment.BottomCenter;
|
||||||
buttonBalanced.Location = new Point(197, 4);
|
buttonBalanced.Location = new Point(199, 4);
|
||||||
buttonBalanced.Margin = new Padding(4);
|
buttonBalanced.Margin = new Padding(4);
|
||||||
buttonBalanced.Name = "buttonBalanced";
|
buttonBalanced.Name = "buttonBalanced";
|
||||||
buttonBalanced.Secondary = false;
|
buttonBalanced.Size = new Size(187, 120);
|
||||||
buttonBalanced.Size = new Size(185, 120);
|
|
||||||
buttonBalanced.TabIndex = 1;
|
buttonBalanced.TabIndex = 1;
|
||||||
buttonBalanced.Text = "Balanced";
|
buttonBalanced.Text = "Balanced";
|
||||||
buttonBalanced.TextImageRelation = TextImageRelation.ImageAboveText;
|
buttonBalanced.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||||
@@ -475,11 +460,10 @@ namespace GHelper
|
|||||||
buttonTurbo.ForeColor = SystemColors.ControlText;
|
buttonTurbo.ForeColor = SystemColors.ControlText;
|
||||||
buttonTurbo.Image = Properties.Resources.icons8_rocket_48;
|
buttonTurbo.Image = Properties.Resources.icons8_rocket_48;
|
||||||
buttonTurbo.ImageAlign = ContentAlignment.BottomCenter;
|
buttonTurbo.ImageAlign = ContentAlignment.BottomCenter;
|
||||||
buttonTurbo.Location = new Point(390, 4);
|
buttonTurbo.Location = new Point(394, 4);
|
||||||
buttonTurbo.Margin = new Padding(4);
|
buttonTurbo.Margin = new Padding(4);
|
||||||
buttonTurbo.Name = "buttonTurbo";
|
buttonTurbo.Name = "buttonTurbo";
|
||||||
buttonTurbo.Secondary = false;
|
buttonTurbo.Size = new Size(187, 120);
|
||||||
buttonTurbo.Size = new Size(185, 120);
|
|
||||||
buttonTurbo.TabIndex = 2;
|
buttonTurbo.TabIndex = 2;
|
||||||
buttonTurbo.Text = "Turbo";
|
buttonTurbo.Text = "Turbo";
|
||||||
buttonTurbo.TextImageRelation = TextImageRelation.ImageAboveText;
|
buttonTurbo.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||||
@@ -487,19 +471,15 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
// buttonFans
|
// buttonFans
|
||||||
//
|
//
|
||||||
buttonFans.Activated = false;
|
buttonFans.BackColor = SystemColors.ButtonFace;
|
||||||
buttonFans.BackColor = SystemColors.ControlLight;
|
|
||||||
buttonFans.BorderColor = Color.Transparent;
|
|
||||||
buttonFans.Dock = DockStyle.Fill;
|
buttonFans.Dock = DockStyle.Fill;
|
||||||
buttonFans.FlatAppearance.BorderSize = 0;
|
buttonFans.FlatAppearance.BorderSize = 0;
|
||||||
buttonFans.FlatStyle = FlatStyle.Flat;
|
|
||||||
buttonFans.Image = Properties.Resources.icons8_fan_48;
|
buttonFans.Image = Properties.Resources.icons8_fan_48;
|
||||||
buttonFans.ImageAlign = ContentAlignment.BottomCenter;
|
buttonFans.ImageAlign = ContentAlignment.BottomCenter;
|
||||||
buttonFans.Location = new Point(583, 4);
|
buttonFans.Location = new Point(589, 4);
|
||||||
buttonFans.Margin = new Padding(4);
|
buttonFans.Margin = new Padding(4);
|
||||||
buttonFans.Name = "buttonFans";
|
buttonFans.Name = "buttonFans";
|
||||||
buttonFans.Secondary = true;
|
buttonFans.Size = new Size(187, 120);
|
||||||
buttonFans.Size = new Size(185, 120);
|
|
||||||
buttonFans.TabIndex = 35;
|
buttonFans.TabIndex = 35;
|
||||||
buttonFans.Text = "Fans + Power";
|
buttonFans.Text = "Fans + Power";
|
||||||
buttonFans.TextImageRelation = TextImageRelation.ImageAboveText;
|
buttonFans.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||||
@@ -519,7 +499,7 @@ namespace GHelper
|
|||||||
panelGPU.Margin = new Padding(8);
|
panelGPU.Margin = new Padding(8);
|
||||||
panelGPU.Name = "panelGPU";
|
panelGPU.Name = "panelGPU";
|
||||||
panelGPU.Padding = new Padding(0, 0, 0, 10);
|
panelGPU.Padding = new Padding(0, 0, 0, 10);
|
||||||
panelGPU.Size = new Size(810, 237);
|
panelGPU.Size = new Size(816, 237);
|
||||||
panelGPU.TabIndex = 37;
|
panelGPU.TabIndex = 37;
|
||||||
//
|
//
|
||||||
// labelTipGPU
|
// labelTipGPU
|
||||||
@@ -536,7 +516,7 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
pictureGPU.BackgroundImage = (Image)resources.GetObject("pictureGPU.BackgroundImage");
|
pictureGPU.BackgroundImage = (Image)resources.GetObject("pictureGPU.BackgroundImage");
|
||||||
pictureGPU.BackgroundImageLayout = ImageLayout.Zoom;
|
pictureGPU.BackgroundImageLayout = ImageLayout.Zoom;
|
||||||
pictureGPU.Location = new Point(24, 21);
|
pictureGPU.Location = new Point(24, 20);
|
||||||
pictureGPU.Margin = new Padding(4);
|
pictureGPU.Margin = new Padding(4);
|
||||||
pictureGPU.Name = "pictureGPU";
|
pictureGPU.Name = "pictureGPU";
|
||||||
pictureGPU.Size = new Size(32, 32);
|
pictureGPU.Size = new Size(32, 32);
|
||||||
@@ -547,7 +527,7 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
labelGPU.AutoSize = true;
|
labelGPU.AutoSize = true;
|
||||||
labelGPU.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
labelGPU.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||||
labelGPU.Location = new Point(60, 21);
|
labelGPU.Location = new Point(60, 20);
|
||||||
labelGPU.Margin = new Padding(8, 0, 8, 0);
|
labelGPU.Margin = new Padding(8, 0, 8, 0);
|
||||||
labelGPU.Name = "labelGPU";
|
labelGPU.Name = "labelGPU";
|
||||||
labelGPU.Size = new Size(136, 32);
|
labelGPU.Size = new Size(136, 32);
|
||||||
@@ -557,10 +537,10 @@ namespace GHelper
|
|||||||
// labelGPUFan
|
// labelGPUFan
|
||||||
//
|
//
|
||||||
labelGPUFan.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
labelGPUFan.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
labelGPUFan.Location = new Point(384, 21);
|
labelGPUFan.Location = new Point(244, 12);
|
||||||
labelGPUFan.Margin = new Padding(8, 0, 8, 0);
|
labelGPUFan.Margin = new Padding(8, 0, 8, 0);
|
||||||
labelGPUFan.Name = "labelGPUFan";
|
labelGPUFan.Name = "labelGPUFan";
|
||||||
labelGPUFan.Size = new Size(400, 34);
|
labelGPUFan.Size = new Size(548, 44);
|
||||||
labelGPUFan.TabIndex = 17;
|
labelGPUFan.TabIndex = 17;
|
||||||
labelGPUFan.Text = " ";
|
labelGPUFan.Text = " ";
|
||||||
labelGPUFan.TextAlign = ContentAlignment.TopRight;
|
labelGPUFan.TextAlign = ContentAlignment.TopRight;
|
||||||
@@ -584,7 +564,7 @@ namespace GHelper
|
|||||||
tableGPU.Name = "tableGPU";
|
tableGPU.Name = "tableGPU";
|
||||||
tableGPU.RowCount = 1;
|
tableGPU.RowCount = 1;
|
||||||
tableGPU.RowStyles.Add(new RowStyle(SizeType.Absolute, 128F));
|
tableGPU.RowStyles.Add(new RowStyle(SizeType.Absolute, 128F));
|
||||||
tableGPU.Size = new Size(772, 128);
|
tableGPU.Size = new Size(780, 128);
|
||||||
tableGPU.TabIndex = 16;
|
tableGPU.TabIndex = 16;
|
||||||
//
|
//
|
||||||
// buttonEco
|
// buttonEco
|
||||||
@@ -602,8 +582,7 @@ namespace GHelper
|
|||||||
buttonEco.Location = new Point(4, 4);
|
buttonEco.Location = new Point(4, 4);
|
||||||
buttonEco.Margin = new Padding(4);
|
buttonEco.Margin = new Padding(4);
|
||||||
buttonEco.Name = "buttonEco";
|
buttonEco.Name = "buttonEco";
|
||||||
buttonEco.Secondary = false;
|
buttonEco.Size = new Size(187, 120);
|
||||||
buttonEco.Size = new Size(185, 120);
|
|
||||||
buttonEco.TabIndex = 0;
|
buttonEco.TabIndex = 0;
|
||||||
buttonEco.Text = "Eco";
|
buttonEco.Text = "Eco";
|
||||||
buttonEco.TextImageRelation = TextImageRelation.ImageAboveText;
|
buttonEco.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||||
@@ -620,11 +599,10 @@ namespace GHelper
|
|||||||
buttonStandard.ForeColor = SystemColors.ControlText;
|
buttonStandard.ForeColor = SystemColors.ControlText;
|
||||||
buttonStandard.Image = Properties.Resources.icons8_spa_flower_48;
|
buttonStandard.Image = Properties.Resources.icons8_spa_flower_48;
|
||||||
buttonStandard.ImageAlign = ContentAlignment.BottomCenter;
|
buttonStandard.ImageAlign = ContentAlignment.BottomCenter;
|
||||||
buttonStandard.Location = new Point(197, 4);
|
buttonStandard.Location = new Point(199, 4);
|
||||||
buttonStandard.Margin = new Padding(4);
|
buttonStandard.Margin = new Padding(4);
|
||||||
buttonStandard.Name = "buttonStandard";
|
buttonStandard.Name = "buttonStandard";
|
||||||
buttonStandard.Secondary = false;
|
buttonStandard.Size = new Size(187, 120);
|
||||||
buttonStandard.Size = new Size(185, 120);
|
|
||||||
buttonStandard.TabIndex = 1;
|
buttonStandard.TabIndex = 1;
|
||||||
buttonStandard.Text = "Standard";
|
buttonStandard.Text = "Standard";
|
||||||
buttonStandard.TextImageRelation = TextImageRelation.ImageAboveText;
|
buttonStandard.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||||
@@ -641,11 +619,10 @@ namespace GHelper
|
|||||||
buttonOptimized.ForeColor = SystemColors.ControlText;
|
buttonOptimized.ForeColor = SystemColors.ControlText;
|
||||||
buttonOptimized.Image = Properties.Resources.icons8_project_management_48__1_;
|
buttonOptimized.Image = Properties.Resources.icons8_project_management_48__1_;
|
||||||
buttonOptimized.ImageAlign = ContentAlignment.BottomCenter;
|
buttonOptimized.ImageAlign = ContentAlignment.BottomCenter;
|
||||||
buttonOptimized.Location = new Point(583, 4);
|
buttonOptimized.Location = new Point(589, 4);
|
||||||
buttonOptimized.Margin = new Padding(4);
|
buttonOptimized.Margin = new Padding(4);
|
||||||
buttonOptimized.Name = "buttonOptimized";
|
buttonOptimized.Name = "buttonOptimized";
|
||||||
buttonOptimized.Secondary = false;
|
buttonOptimized.Size = new Size(187, 120);
|
||||||
buttonOptimized.Size = new Size(185, 120);
|
|
||||||
buttonOptimized.TabIndex = 3;
|
buttonOptimized.TabIndex = 3;
|
||||||
buttonOptimized.Text = "Optimized";
|
buttonOptimized.Text = "Optimized";
|
||||||
buttonOptimized.TextImageRelation = TextImageRelation.ImageAboveText;
|
buttonOptimized.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||||
@@ -662,11 +639,10 @@ namespace GHelper
|
|||||||
buttonUltimate.ForeColor = SystemColors.ControlText;
|
buttonUltimate.ForeColor = SystemColors.ControlText;
|
||||||
buttonUltimate.Image = Properties.Resources.icons8_game_controller_48;
|
buttonUltimate.Image = Properties.Resources.icons8_game_controller_48;
|
||||||
buttonUltimate.ImageAlign = ContentAlignment.BottomCenter;
|
buttonUltimate.ImageAlign = ContentAlignment.BottomCenter;
|
||||||
buttonUltimate.Location = new Point(390, 4);
|
buttonUltimate.Location = new Point(394, 4);
|
||||||
buttonUltimate.Margin = new Padding(4);
|
buttonUltimate.Margin = new Padding(4);
|
||||||
buttonUltimate.Name = "buttonUltimate";
|
buttonUltimate.Name = "buttonUltimate";
|
||||||
buttonUltimate.Secondary = false;
|
buttonUltimate.Size = new Size(187, 120);
|
||||||
buttonUltimate.Size = new Size(185, 120);
|
|
||||||
buttonUltimate.TabIndex = 2;
|
buttonUltimate.TabIndex = 2;
|
||||||
buttonUltimate.Text = "Ultimate";
|
buttonUltimate.Text = "Ultimate";
|
||||||
buttonUltimate.TextImageRelation = TextImageRelation.ImageAboveText;
|
buttonUltimate.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||||
@@ -685,7 +661,7 @@ namespace GHelper
|
|||||||
panelScreen.Margin = new Padding(8);
|
panelScreen.Margin = new Padding(8);
|
||||||
panelScreen.Name = "panelScreen";
|
panelScreen.Name = "panelScreen";
|
||||||
panelScreen.Padding = new Padding(0, 0, 0, 10);
|
panelScreen.Padding = new Padding(0, 0, 0, 10);
|
||||||
panelScreen.Size = new Size(810, 181);
|
panelScreen.Size = new Size(816, 181);
|
||||||
panelScreen.TabIndex = 38;
|
panelScreen.TabIndex = 38;
|
||||||
//
|
//
|
||||||
// labelTipScreen
|
// labelTipScreen
|
||||||
@@ -710,14 +686,12 @@ namespace GHelper
|
|||||||
tableScreen.Controls.Add(buttonScreenAuto, 0, 0);
|
tableScreen.Controls.Add(buttonScreenAuto, 0, 0);
|
||||||
tableScreen.Controls.Add(button60Hz, 1, 0);
|
tableScreen.Controls.Add(button60Hz, 1, 0);
|
||||||
tableScreen.Controls.Add(button120Hz, 2, 0);
|
tableScreen.Controls.Add(button120Hz, 2, 0);
|
||||||
tableScreen.Controls.Add(buttonMiniled, 3, 0);
|
|
||||||
|
|
||||||
tableScreen.Location = new Point(16, 51);
|
tableScreen.Location = new Point(16, 51);
|
||||||
tableScreen.Margin = new Padding(8, 4, 8, 4);
|
tableScreen.Margin = new Padding(8, 4, 8, 4);
|
||||||
tableScreen.Name = "tableScreen";
|
tableScreen.Name = "tableScreen";
|
||||||
tableScreen.RowCount = 1;
|
tableScreen.RowCount = 1;
|
||||||
tableScreen.RowStyles.Add(new RowStyle(SizeType.Absolute, 80F));
|
tableScreen.RowStyles.Add(new RowStyle(SizeType.Absolute, 80F));
|
||||||
tableScreen.Size = new Size(772, 80);
|
tableScreen.Size = new Size(780, 80);
|
||||||
tableScreen.TabIndex = 23;
|
tableScreen.TabIndex = 23;
|
||||||
//
|
//
|
||||||
// buttonScreenAuto
|
// buttonScreenAuto
|
||||||
@@ -732,8 +706,7 @@ namespace GHelper
|
|||||||
buttonScreenAuto.Location = new Point(4, 4);
|
buttonScreenAuto.Location = new Point(4, 4);
|
||||||
buttonScreenAuto.Margin = new Padding(4);
|
buttonScreenAuto.Margin = new Padding(4);
|
||||||
buttonScreenAuto.Name = "buttonScreenAuto";
|
buttonScreenAuto.Name = "buttonScreenAuto";
|
||||||
buttonScreenAuto.Secondary = false;
|
buttonScreenAuto.Size = new Size(187, 72);
|
||||||
buttonScreenAuto.Size = new Size(185, 72);
|
|
||||||
buttonScreenAuto.TabIndex = 0;
|
buttonScreenAuto.TabIndex = 0;
|
||||||
buttonScreenAuto.Text = "Auto";
|
buttonScreenAuto.Text = "Auto";
|
||||||
buttonScreenAuto.UseVisualStyleBackColor = false;
|
buttonScreenAuto.UseVisualStyleBackColor = false;
|
||||||
@@ -748,11 +721,10 @@ namespace GHelper
|
|||||||
button60Hz.FlatAppearance.BorderSize = 0;
|
button60Hz.FlatAppearance.BorderSize = 0;
|
||||||
button60Hz.FlatStyle = FlatStyle.Flat;
|
button60Hz.FlatStyle = FlatStyle.Flat;
|
||||||
button60Hz.ForeColor = SystemColors.ControlText;
|
button60Hz.ForeColor = SystemColors.ControlText;
|
||||||
button60Hz.Location = new Point(197, 4);
|
button60Hz.Location = new Point(199, 4);
|
||||||
button60Hz.Margin = new Padding(4);
|
button60Hz.Margin = new Padding(4);
|
||||||
button60Hz.Name = "button60Hz";
|
button60Hz.Name = "button60Hz";
|
||||||
button60Hz.Secondary = false;
|
button60Hz.Size = new Size(187, 72);
|
||||||
button60Hz.Size = new Size(185, 72);
|
|
||||||
button60Hz.TabIndex = 1;
|
button60Hz.TabIndex = 1;
|
||||||
button60Hz.Text = "60Hz";
|
button60Hz.Text = "60Hz";
|
||||||
button60Hz.UseVisualStyleBackColor = false;
|
button60Hz.UseVisualStyleBackColor = false;
|
||||||
@@ -766,11 +738,10 @@ namespace GHelper
|
|||||||
button120Hz.FlatAppearance.BorderSize = 0;
|
button120Hz.FlatAppearance.BorderSize = 0;
|
||||||
button120Hz.FlatStyle = FlatStyle.Flat;
|
button120Hz.FlatStyle = FlatStyle.Flat;
|
||||||
button120Hz.ForeColor = SystemColors.ControlText;
|
button120Hz.ForeColor = SystemColors.ControlText;
|
||||||
button120Hz.Location = new Point(390, 4);
|
button120Hz.Location = new Point(394, 4);
|
||||||
button120Hz.Margin = new Padding(4);
|
button120Hz.Margin = new Padding(4);
|
||||||
button120Hz.Name = "button120Hz";
|
button120Hz.Name = "button120Hz";
|
||||||
button120Hz.Secondary = false;
|
button120Hz.Size = new Size(187, 72);
|
||||||
button120Hz.Size = new Size(185, 72);
|
|
||||||
button120Hz.TabIndex = 2;
|
button120Hz.TabIndex = 2;
|
||||||
button120Hz.Text = "120Hz + OD";
|
button120Hz.Text = "120Hz + OD";
|
||||||
button120Hz.UseVisualStyleBackColor = false;
|
button120Hz.UseVisualStyleBackColor = false;
|
||||||
@@ -809,7 +780,7 @@ namespace GHelper
|
|||||||
panelKeyboard.Margin = new Padding(8);
|
panelKeyboard.Margin = new Padding(8);
|
||||||
panelKeyboard.Name = "panelKeyboard";
|
panelKeyboard.Name = "panelKeyboard";
|
||||||
panelKeyboard.Padding = new Padding(0, 0, 0, 12);
|
panelKeyboard.Padding = new Padding(0, 0, 0, 12);
|
||||||
panelKeyboard.Size = new Size(810, 130);
|
panelKeyboard.Size = new Size(816, 130);
|
||||||
panelKeyboard.TabIndex = 39;
|
panelKeyboard.TabIndex = 39;
|
||||||
//
|
//
|
||||||
// tableLayoutKeyboard
|
// tableLayoutKeyboard
|
||||||
@@ -830,32 +801,25 @@ namespace GHelper
|
|||||||
tableLayoutKeyboard.Name = "tableLayoutKeyboard";
|
tableLayoutKeyboard.Name = "tableLayoutKeyboard";
|
||||||
tableLayoutKeyboard.RowCount = 1;
|
tableLayoutKeyboard.RowCount = 1;
|
||||||
tableLayoutKeyboard.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
|
tableLayoutKeyboard.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
|
||||||
tableLayoutKeyboard.Size = new Size(772, 60);
|
tableLayoutKeyboard.Size = new Size(780, 60);
|
||||||
tableLayoutKeyboard.TabIndex = 39;
|
tableLayoutKeyboard.TabIndex = 39;
|
||||||
//
|
//
|
||||||
// buttonKeyboard
|
// buttonKeyboard
|
||||||
//
|
//
|
||||||
buttonKeyboard.Activated = false;
|
buttonKeyboard.BackColor = SystemColors.ButtonFace;
|
||||||
buttonKeyboard.BackColor = SystemColors.ControlLight;
|
|
||||||
buttonKeyboard.BorderColor = Color.Transparent;
|
|
||||||
buttonKeyboard.Dock = DockStyle.Top;
|
buttonKeyboard.Dock = DockStyle.Top;
|
||||||
buttonKeyboard.FlatAppearance.BorderSize = 0;
|
buttonKeyboard.FlatAppearance.BorderSize = 0;
|
||||||
buttonKeyboard.FlatStyle = FlatStyle.Flat;
|
buttonKeyboard.Location = new Point(394, 8);
|
||||||
buttonKeyboard.Location = new Point(390, 8);
|
|
||||||
buttonKeyboard.Margin = new Padding(4, 8, 4, 8);
|
buttonKeyboard.Margin = new Padding(4, 8, 4, 8);
|
||||||
buttonKeyboard.Name = "buttonKeyboard";
|
buttonKeyboard.Name = "buttonKeyboard";
|
||||||
buttonKeyboard.Secondary = true;
|
buttonKeyboard.Size = new Size(187, 44);
|
||||||
buttonKeyboard.Size = new Size(185, 44);
|
|
||||||
buttonKeyboard.TabIndex = 37;
|
buttonKeyboard.TabIndex = 37;
|
||||||
buttonKeyboard.Text = "Extra";
|
buttonKeyboard.Text = "Extra";
|
||||||
buttonKeyboard.UseVisualStyleBackColor = false;
|
buttonKeyboard.UseVisualStyleBackColor = false;
|
||||||
//
|
//
|
||||||
// comboKeyboard
|
// comboKeyboard
|
||||||
//
|
//
|
||||||
comboKeyboard.BorderColor = Color.White;
|
|
||||||
comboKeyboard.ButtonColor = SystemColors.ControlLight;
|
|
||||||
comboKeyboard.Dock = DockStyle.Top;
|
comboKeyboard.Dock = DockStyle.Top;
|
||||||
comboKeyboard.FlatStyle = FlatStyle.Flat;
|
|
||||||
comboKeyboard.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
comboKeyboard.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
||||||
comboKeyboard.FormattingEnabled = true;
|
comboKeyboard.FormattingEnabled = true;
|
||||||
comboKeyboard.ItemHeight = 32;
|
comboKeyboard.ItemHeight = 32;
|
||||||
@@ -863,7 +827,7 @@ namespace GHelper
|
|||||||
comboKeyboard.Location = new Point(4, 10);
|
comboKeyboard.Location = new Point(4, 10);
|
||||||
comboKeyboard.Margin = new Padding(4, 10, 4, 8);
|
comboKeyboard.Margin = new Padding(4, 10, 4, 8);
|
||||||
comboKeyboard.Name = "comboKeyboard";
|
comboKeyboard.Name = "comboKeyboard";
|
||||||
comboKeyboard.Size = new Size(185, 40);
|
comboKeyboard.Size = new Size(187, 40);
|
||||||
comboKeyboard.TabIndex = 35;
|
comboKeyboard.TabIndex = 35;
|
||||||
comboKeyboard.TabStop = false;
|
comboKeyboard.TabStop = false;
|
||||||
//
|
//
|
||||||
@@ -874,16 +838,16 @@ namespace GHelper
|
|||||||
panelColor.Controls.Add(pictureColor);
|
panelColor.Controls.Add(pictureColor);
|
||||||
panelColor.Controls.Add(buttonKeyboardColor);
|
panelColor.Controls.Add(buttonKeyboardColor);
|
||||||
panelColor.Dock = DockStyle.Fill;
|
panelColor.Dock = DockStyle.Fill;
|
||||||
panelColor.Location = new Point(197, 8);
|
panelColor.Location = new Point(199, 8);
|
||||||
panelColor.Margin = new Padding(4, 8, 4, 8);
|
panelColor.Margin = new Padding(4, 8, 4, 8);
|
||||||
panelColor.Name = "panelColor";
|
panelColor.Name = "panelColor";
|
||||||
panelColor.Size = new Size(185, 44);
|
panelColor.Size = new Size(187, 44);
|
||||||
panelColor.TabIndex = 36;
|
panelColor.TabIndex = 36;
|
||||||
//
|
//
|
||||||
// pictureColor2
|
// pictureColor2
|
||||||
//
|
//
|
||||||
pictureColor2.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
pictureColor2.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
pictureColor2.Location = new Point(123, 12);
|
pictureColor2.Location = new Point(125, 12);
|
||||||
pictureColor2.Margin = new Padding(8);
|
pictureColor2.Margin = new Padding(8);
|
||||||
pictureColor2.Name = "pictureColor2";
|
pictureColor2.Name = "pictureColor2";
|
||||||
pictureColor2.Size = new Size(20, 20);
|
pictureColor2.Size = new Size(20, 20);
|
||||||
@@ -893,7 +857,7 @@ namespace GHelper
|
|||||||
// pictureColor
|
// pictureColor
|
||||||
//
|
//
|
||||||
pictureColor.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
pictureColor.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
pictureColor.Location = new Point(151, 12);
|
pictureColor.Location = new Point(153, 12);
|
||||||
pictureColor.Margin = new Padding(8);
|
pictureColor.Margin = new Padding(8);
|
||||||
pictureColor.Name = "pictureColor";
|
pictureColor.Name = "pictureColor";
|
||||||
pictureColor.Size = new Size(20, 20);
|
pictureColor.Size = new Size(20, 20);
|
||||||
@@ -902,17 +866,15 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
// buttonKeyboardColor
|
// buttonKeyboardColor
|
||||||
//
|
//
|
||||||
buttonKeyboardColor.Activated = false;
|
|
||||||
buttonKeyboardColor.BackColor = SystemColors.ButtonHighlight;
|
buttonKeyboardColor.BackColor = SystemColors.ButtonHighlight;
|
||||||
buttonKeyboardColor.BorderColor = Color.Transparent;
|
|
||||||
buttonKeyboardColor.Dock = DockStyle.Top;
|
buttonKeyboardColor.Dock = DockStyle.Top;
|
||||||
buttonKeyboardColor.FlatStyle = FlatStyle.Flat;
|
buttonKeyboardColor.FlatAppearance.BorderColor = Color.Red;
|
||||||
|
buttonKeyboardColor.FlatAppearance.BorderSize = 2;
|
||||||
buttonKeyboardColor.ForeColor = SystemColors.ControlText;
|
buttonKeyboardColor.ForeColor = SystemColors.ControlText;
|
||||||
buttonKeyboardColor.Location = new Point(0, 0);
|
buttonKeyboardColor.Location = new Point(0, 0);
|
||||||
buttonKeyboardColor.Margin = new Padding(4, 8, 4, 8);
|
buttonKeyboardColor.Margin = new Padding(4, 8, 4, 8);
|
||||||
buttonKeyboardColor.Name = "buttonKeyboardColor";
|
buttonKeyboardColor.Name = "buttonKeyboardColor";
|
||||||
buttonKeyboardColor.Secondary = false;
|
buttonKeyboardColor.Size = new Size(187, 44);
|
||||||
buttonKeyboardColor.Size = new Size(185, 44);
|
|
||||||
buttonKeyboardColor.TabIndex = 39;
|
buttonKeyboardColor.TabIndex = 39;
|
||||||
buttonKeyboardColor.Text = "Color ";
|
buttonKeyboardColor.Text = "Color ";
|
||||||
buttonKeyboardColor.UseVisualStyleBackColor = false;
|
buttonKeyboardColor.UseVisualStyleBackColor = false;
|
||||||
@@ -939,32 +901,13 @@ namespace GHelper
|
|||||||
labelKeyboard.TabIndex = 32;
|
labelKeyboard.TabIndex = 32;
|
||||||
labelKeyboard.Text = "Laptop Keyboard";
|
labelKeyboard.Text = "Laptop Keyboard";
|
||||||
//
|
//
|
||||||
// buttonMiniled
|
|
||||||
//
|
|
||||||
buttonMiniled.Activated = false;
|
|
||||||
buttonMiniled.BackColor = SystemColors.ControlLightLight;
|
|
||||||
buttonMiniled.BorderColor = Color.Transparent;
|
|
||||||
buttonMiniled.CausesValidation = false;
|
|
||||||
buttonMiniled.Dock = DockStyle.Fill;
|
|
||||||
buttonMiniled.FlatAppearance.BorderSize = 0;
|
|
||||||
buttonMiniled.FlatStyle = FlatStyle.Flat;
|
|
||||||
buttonMiniled.ForeColor = SystemColors.ControlText;
|
|
||||||
buttonMiniled.Location = new Point(197, 4);
|
|
||||||
buttonMiniled.Margin = new Padding(4);
|
|
||||||
buttonMiniled.Name = "buttonMiniled";
|
|
||||||
buttonMiniled.Secondary = false;
|
|
||||||
buttonMiniled.Size = new Size(185, 72);
|
|
||||||
buttonMiniled.TabIndex = 3;
|
|
||||||
buttonMiniled.Text = "Miniled";
|
|
||||||
buttonMiniled.UseVisualStyleBackColor = false;
|
|
||||||
//
|
|
||||||
// SettingsForm
|
// SettingsForm
|
||||||
//
|
//
|
||||||
AutoScaleDimensions = new SizeF(192F, 192F);
|
AutoScaleDimensions = new SizeF(192F, 192F);
|
||||||
AutoScaleMode = AutoScaleMode.Dpi;
|
AutoScaleMode = AutoScaleMode.Dpi;
|
||||||
AutoSize = true;
|
AutoSize = true;
|
||||||
AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
ClientSize = new Size(830, 1173);
|
ClientSize = new Size(800, 1173);
|
||||||
Controls.Add(panelFooter);
|
Controls.Add(panelFooter);
|
||||||
Controls.Add(panelBattery);
|
Controls.Add(panelBattery);
|
||||||
Controls.Add(panelMatrix);
|
Controls.Add(panelMatrix);
|
||||||
@@ -976,7 +919,7 @@ namespace GHelper
|
|||||||
MaximizeBox = false;
|
MaximizeBox = false;
|
||||||
MdiChildrenMinimizedAnchorBottom = false;
|
MdiChildrenMinimizedAnchorBottom = false;
|
||||||
MinimizeBox = false;
|
MinimizeBox = false;
|
||||||
MinimumSize = new Size(830, 71);
|
MinimumSize = new Size(800, 71);
|
||||||
Name = "SettingsForm";
|
Name = "SettingsForm";
|
||||||
Padding = new Padding(10);
|
Padding = new Padding(10);
|
||||||
ShowIcon = false;
|
ShowIcon = false;
|
||||||
@@ -1028,50 +971,49 @@ namespace GHelper
|
|||||||
private Label labelBatteryTitle;
|
private Label labelBatteryTitle;
|
||||||
private TrackBar trackBattery;
|
private TrackBar trackBattery;
|
||||||
private Panel panelFooter;
|
private Panel panelFooter;
|
||||||
private RButton buttonQuit;
|
private Button buttonQuit;
|
||||||
private CheckBox checkStartup;
|
private CheckBox checkStartup;
|
||||||
private Panel panelPerformance;
|
private Panel panelPerformance;
|
||||||
private PictureBox picturePerf;
|
private PictureBox picturePerf;
|
||||||
private Label labelPerf;
|
private Label labelPerf;
|
||||||
private Label labelCPUFan;
|
private Label labelCPUFan;
|
||||||
private TableLayoutPanel tablePerf;
|
private TableLayoutPanel tablePerf;
|
||||||
private RButton buttonTurbo;
|
private RoundedButton buttonTurbo;
|
||||||
private RButton buttonBalanced;
|
private RoundedButton buttonBalanced;
|
||||||
private RButton buttonSilent;
|
private RoundedButton buttonSilent;
|
||||||
private Panel panelGPU;
|
private Panel panelGPU;
|
||||||
private PictureBox pictureGPU;
|
private PictureBox pictureGPU;
|
||||||
private Label labelGPU;
|
private Label labelGPU;
|
||||||
private Label labelGPUFan;
|
private Label labelGPUFan;
|
||||||
private TableLayoutPanel tableGPU;
|
private TableLayoutPanel tableGPU;
|
||||||
private RButton buttonUltimate;
|
private RoundedButton buttonUltimate;
|
||||||
private RButton buttonStandard;
|
private RoundedButton buttonStandard;
|
||||||
private RButton buttonEco;
|
private RoundedButton buttonEco;
|
||||||
private Panel panelScreen;
|
private Panel panelScreen;
|
||||||
private TableLayoutPanel tableScreen;
|
private TableLayoutPanel tableScreen;
|
||||||
private RButton buttonScreenAuto;
|
private RoundedButton buttonScreenAuto;
|
||||||
private RButton button60Hz;
|
private RoundedButton button60Hz;
|
||||||
private PictureBox pictureScreen;
|
private PictureBox pictureScreen;
|
||||||
private Label labelSreen;
|
private Label labelSreen;
|
||||||
private Panel panelKeyboard;
|
private Panel panelKeyboard;
|
||||||
private PictureBox pictureKeyboard;
|
private PictureBox pictureKeyboard;
|
||||||
private Label labelKeyboard;
|
private Label labelKeyboard;
|
||||||
private TableLayoutPanel tableLayoutMatrix;
|
private TableLayoutPanel tableLayoutMatrix;
|
||||||
private RComboBox comboMatrixRunning;
|
private Button buttonMatrix;
|
||||||
private RComboBox comboMatrix;
|
private ComboBox comboMatrixRunning;
|
||||||
|
private ComboBox comboMatrix;
|
||||||
private TableLayoutPanel tableLayoutKeyboard;
|
private TableLayoutPanel tableLayoutKeyboard;
|
||||||
private RComboBox comboKeyboard;
|
private Button buttonKeyboard;
|
||||||
|
private ComboBox comboKeyboard;
|
||||||
private Panel panelColor;
|
private Panel panelColor;
|
||||||
private PictureBox pictureColor2;
|
private PictureBox pictureColor2;
|
||||||
private PictureBox pictureColor;
|
private PictureBox pictureColor;
|
||||||
|
private Button buttonKeyboardColor;
|
||||||
private CheckBox checkMatrix;
|
private CheckBox checkMatrix;
|
||||||
private RButton button120Hz;
|
private RoundedButton button120Hz;
|
||||||
private RButton buttonOptimized;
|
private Button buttonFans;
|
||||||
|
private RoundedButton buttonOptimized;
|
||||||
private Label labelTipGPU;
|
private Label labelTipGPU;
|
||||||
private Label labelTipScreen;
|
private Label labelTipScreen;
|
||||||
private RButton buttonMiniled;
|
|
||||||
private RButton buttonMatrix;
|
|
||||||
private RButton buttonKeyboard;
|
|
||||||
private RButton buttonKeyboardColor;
|
|
||||||
private RButton buttonFans;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
115
app/Settings.cs
115
app/Settings.cs
@@ -1,5 +1,4 @@
|
|||||||
using CustomControls;
|
using Starlight.AnimeMatrix;
|
||||||
using Starlight.AnimeMatrix;
|
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Drawing.Imaging;
|
using System.Drawing.Imaging;
|
||||||
using System.Timers;
|
using System.Timers;
|
||||||
@@ -7,9 +6,13 @@ using System.Timers;
|
|||||||
namespace GHelper
|
namespace GHelper
|
||||||
{
|
{
|
||||||
|
|
||||||
public partial class SettingsForm : RForm
|
public partial class SettingsForm : Form
|
||||||
{
|
{
|
||||||
|
|
||||||
|
static Color colorEco = Color.FromArgb(255, 6, 180, 138);
|
||||||
|
static Color colorStandard = Color.FromArgb(255, 58, 174, 239);
|
||||||
|
static Color colorTurbo = Color.FromArgb(255, 255, 32, 32);
|
||||||
|
|
||||||
static System.Timers.Timer aTimer = default!;
|
static System.Timers.Timer aTimer = default!;
|
||||||
static System.Timers.Timer matrixTimer = default!;
|
static System.Timers.Timer matrixTimer = default!;
|
||||||
|
|
||||||
@@ -17,15 +20,16 @@ namespace GHelper
|
|||||||
|
|
||||||
public string perfName = "Balanced";
|
public string perfName = "Balanced";
|
||||||
|
|
||||||
public Fans fans;
|
Fans fans;
|
||||||
public Keyboard keyb;
|
Keyboard keyb;
|
||||||
|
|
||||||
static AnimeMatrixDevice mat;
|
static AnimeMatrixDevice mat;
|
||||||
|
|
||||||
public SettingsForm()
|
public SettingsForm()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
InitTheme();
|
|
||||||
|
HighDpiHelper.AdjustControlImagesDpiScale(this, 2);
|
||||||
|
|
||||||
FormClosing += SettingsForm_FormClosing;
|
FormClosing += SettingsForm_FormClosing;
|
||||||
|
|
||||||
@@ -41,7 +45,6 @@ namespace GHelper
|
|||||||
button60Hz.BorderColor = SystemColors.ActiveBorder;
|
button60Hz.BorderColor = SystemColors.ActiveBorder;
|
||||||
button120Hz.BorderColor = SystemColors.ActiveBorder;
|
button120Hz.BorderColor = SystemColors.ActiveBorder;
|
||||||
buttonScreenAuto.BorderColor = SystemColors.ActiveBorder;
|
buttonScreenAuto.BorderColor = SystemColors.ActiveBorder;
|
||||||
buttonMiniled.BorderColor = colorTurbo;
|
|
||||||
|
|
||||||
buttonOptimized.Click += ButtonOptimized_Click;
|
buttonOptimized.Click += ButtonOptimized_Click;
|
||||||
buttonSilent.Click += ButtonSilent_Click;
|
buttonSilent.Click += ButtonSilent_Click;
|
||||||
@@ -59,7 +62,6 @@ namespace GHelper
|
|||||||
button60Hz.Click += Button60Hz_Click;
|
button60Hz.Click += Button60Hz_Click;
|
||||||
button120Hz.Click += Button120Hz_Click;
|
button120Hz.Click += Button120Hz_Click;
|
||||||
buttonScreenAuto.Click += ButtonScreenAuto_Click;
|
buttonScreenAuto.Click += ButtonScreenAuto_Click;
|
||||||
buttonMiniled.Click += ButtonMiniled_Click;
|
|
||||||
|
|
||||||
buttonQuit.Click += ButtonQuit_Click;
|
buttonQuit.Click += ButtonQuit_Click;
|
||||||
|
|
||||||
@@ -91,7 +93,6 @@ namespace GHelper
|
|||||||
checkStartup.CheckedChanged += CheckStartup_CheckedChanged;
|
checkStartup.CheckedChanged += CheckStartup_CheckedChanged;
|
||||||
|
|
||||||
labelVersion.Click += LabelVersion_Click;
|
labelVersion.Click += LabelVersion_Click;
|
||||||
labelVersion.ForeColor = Color.FromArgb(128, Color.Gray);
|
|
||||||
|
|
||||||
buttonOptimized.MouseMove += ButtonOptimized_MouseHover;
|
buttonOptimized.MouseMove += ButtonOptimized_MouseHover;
|
||||||
buttonOptimized.MouseLeave += ButtonGPU_MouseLeave;
|
buttonOptimized.MouseLeave += ButtonGPU_MouseLeave;
|
||||||
@@ -120,7 +121,6 @@ namespace GHelper
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void Button120Hz_MouseHover(object? sender, EventArgs e)
|
private void Button120Hz_MouseHover(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
labelTipScreen.Text = "Max refresh rate + screen overdrive for lower latency";
|
labelTipScreen.Text = "Max refresh rate + screen overdrive for lower latency";
|
||||||
@@ -532,8 +532,8 @@ namespace GHelper
|
|||||||
int brightness = Program.config.getConfig("matrix_brightness");
|
int brightness = Program.config.getConfig("matrix_brightness");
|
||||||
int running = Program.config.getConfig("matrix_running");
|
int running = Program.config.getConfig("matrix_running");
|
||||||
|
|
||||||
comboMatrix.SelectedIndex = (brightness != -1) ? Math.Min(brightness, comboMatrix.Items.Count-1) : 0;
|
comboMatrix.SelectedIndex = (brightness != -1) ? brightness : 0;
|
||||||
comboMatrixRunning.SelectedIndex = (running != -1) ? Math.Min(running, comboMatrixRunning.Items.Count - 1) : 0;
|
comboMatrixRunning.SelectedIndex = (running != -1) ? running : 0;
|
||||||
|
|
||||||
checkMatrix.Checked = (Program.config.getConfig("matrix_auto") == 1);
|
checkMatrix.Checked = (Program.config.getConfig("matrix_auto") == 1);
|
||||||
|
|
||||||
@@ -614,17 +614,13 @@ namespace GHelper
|
|||||||
SetScreen(60, 0);
|
SetScreen(60, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ButtonMiniled_Click(object? sender, EventArgs e)
|
|
||||||
{
|
|
||||||
int miniled = (Program.config.getConfig("miniled") == 1) ? 0 : 1;
|
|
||||||
Program.config.setConfig("miniled", miniled);
|
|
||||||
SetScreen(-1, -1, miniled);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetScreen(int frequency = -1, int overdrive = -1, int miniled = -1)
|
public void SetScreen(int frequency = -1, int overdrive = -1)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (NativeMethods.GetRefreshRate() < 0) // Laptop screen not detected or has unknown refresh rate
|
int currentFrequency = NativeMethods.GetRefreshRate();
|
||||||
|
|
||||||
|
if (currentFrequency < 0) // Laptop screen not detected or has unknown refresh rate
|
||||||
{
|
{
|
||||||
InitScreen();
|
InitScreen();
|
||||||
return;
|
return;
|
||||||
@@ -633,26 +629,20 @@ namespace GHelper
|
|||||||
if (frequency >= 1000)
|
if (frequency >= 1000)
|
||||||
{
|
{
|
||||||
frequency = Program.config.getConfig("max_frequency");
|
frequency = Program.config.getConfig("max_frequency");
|
||||||
if (frequency <= 60) frequency = 120;
|
if (frequency <= 60)
|
||||||
|
frequency = 120;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (frequency > 0)
|
if (frequency <= 0) return;
|
||||||
{
|
|
||||||
NativeMethods.SetRefreshRate(frequency);
|
|
||||||
Logger.WriteLine("Screen " + frequency.ToString() + "Hz");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
NativeMethods.SetRefreshRate(frequency);
|
||||||
if (overdrive >= 0)
|
if (overdrive >= 0)
|
||||||
Program.wmi.DeviceSet(ASUSWmi.ScreenOverdrive, overdrive);
|
Program.wmi.DeviceSet(ASUSWmi.ScreenOverdrive, overdrive);
|
||||||
|
|
||||||
if (miniled >= 0)
|
|
||||||
{
|
|
||||||
Program.wmi.DeviceSet(ASUSWmi.ScreenMiniled, miniled);
|
|
||||||
Debug.WriteLine("Miniled " + miniled);
|
|
||||||
}
|
|
||||||
|
|
||||||
InitScreen();
|
InitScreen();
|
||||||
|
|
||||||
|
Logger.WriteLine("Screen " + frequency.ToString() + "Hz");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InitScreen()
|
public void InitScreen()
|
||||||
@@ -663,19 +653,37 @@ namespace GHelper
|
|||||||
|
|
||||||
bool screenAuto = (Program.config.getConfig("screen_auto") == 1);
|
bool screenAuto = (Program.config.getConfig("screen_auto") == 1);
|
||||||
|
|
||||||
int overdrive = Program.wmi.DeviceGet(ASUSWmi.ScreenOverdrive);
|
int overdrive = 0;
|
||||||
int miniled = Program.wmi.DeviceGet(ASUSWmi.ScreenMiniled);
|
try
|
||||||
|
{
|
||||||
|
overdrive = Program.wmi.DeviceGet(ASUSWmi.ScreenOverdrive);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
Logger.WriteLine("Screen Overdrive not supported");
|
||||||
|
}
|
||||||
|
|
||||||
bool screenEnabled = (frequency >= 0);
|
if (frequency < 0)
|
||||||
|
{
|
||||||
|
button60Hz.Enabled = false;
|
||||||
|
button120Hz.Enabled = false;
|
||||||
|
buttonScreenAuto.Enabled = false;
|
||||||
|
labelSreen.Text = "Laptop Screen: Turned off";
|
||||||
|
button60Hz.BackColor = SystemColors.ControlLight;
|
||||||
|
button120Hz.BackColor = SystemColors.ControlLight;
|
||||||
|
buttonScreenAuto.BackColor = SystemColors.ControlLight;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
button60Hz.Enabled = true;
|
||||||
|
button120Hz.Enabled = true;
|
||||||
|
buttonScreenAuto.Enabled = true;
|
||||||
|
button60Hz.BackColor = SystemColors.ControlLightLight;
|
||||||
|
button120Hz.BackColor = SystemColors.ControlLightLight;
|
||||||
|
buttonScreenAuto.BackColor = SystemColors.ControlLightLight;
|
||||||
|
labelSreen.Text = "Laptop Screen: " + frequency + "Hz" + ((overdrive == 1) ? " + Overdrive" : "");
|
||||||
|
}
|
||||||
|
|
||||||
ButtonEnabled(button60Hz, screenEnabled);
|
|
||||||
ButtonEnabled(button120Hz, screenEnabled);
|
|
||||||
ButtonEnabled(buttonScreenAuto, screenEnabled);
|
|
||||||
ButtonEnabled(buttonMiniled, screenEnabled);
|
|
||||||
|
|
||||||
labelSreen.Text = screenEnabled
|
|
||||||
? "Laptop Screen: " + frequency + "Hz" + ((overdrive == 1) ? " + Overdrive" : "")
|
|
||||||
: "Laptop Screen: Turned off";
|
|
||||||
|
|
||||||
button60Hz.Activated = false;
|
button60Hz.Activated = false;
|
||||||
button120Hz.Activated = false;
|
button120Hz.Activated = false;
|
||||||
@@ -703,15 +711,6 @@ namespace GHelper
|
|||||||
button120Hz.Text = maxFrequency.ToString() + "Hz + OD";
|
button120Hz.Text = maxFrequency.ToString() + "Hz + OD";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (miniled >= 0)
|
|
||||||
{
|
|
||||||
buttonMiniled.Activated = (miniled == 1);
|
|
||||||
Program.config.setConfig("miniled", miniled);
|
|
||||||
} else
|
|
||||||
{
|
|
||||||
buttonMiniled.Visible = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
Program.config.setConfig("frequency", frequency);
|
Program.config.setConfig("frequency", frequency);
|
||||||
Program.config.setConfig("overdrive", overdrive);
|
Program.config.setConfig("overdrive", overdrive);
|
||||||
}
|
}
|
||||||
@@ -852,9 +851,6 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
Program.wmi.SetFanCurve(0, Program.config.getFanConfig(0));
|
Program.wmi.SetFanCurve(0, Program.config.getFanConfig(0));
|
||||||
Program.wmi.SetFanCurve(1, Program.config.getFanConfig(1));
|
Program.wmi.SetFanCurve(1, Program.config.getFanConfig(1));
|
||||||
|
|
||||||
if (Program.config.getConfig("mid_fan") == 1)
|
|
||||||
Program.wmi.SetFanCurve(2, Program.config.getFanConfig(2));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Program.config.getConfigPerf("auto_apply_power") == 1)
|
if (Program.config.getConfigPerf("auto_apply_power") == 1)
|
||||||
@@ -1035,13 +1031,12 @@ namespace GHelper
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Program.config.setConfig("gpu_mode", GpuMode);
|
|
||||||
|
|
||||||
ButtonEnabled(buttonOptimized, true);
|
ButtonEnabled(buttonOptimized, true);
|
||||||
ButtonEnabled(buttonEco, true);
|
ButtonEnabled(buttonEco, true);
|
||||||
ButtonEnabled(buttonStandard, true);
|
ButtonEnabled(buttonStandard, true);
|
||||||
ButtonEnabled(buttonUltimate, true);
|
ButtonEnabled(buttonUltimate, true);
|
||||||
|
|
||||||
|
Program.config.setConfig("gpu_mode", GpuMode);
|
||||||
VisualiseGPUMode(GpuMode);
|
VisualiseGPUMode(GpuMode);
|
||||||
|
|
||||||
return GpuMode;
|
return GpuMode;
|
||||||
@@ -1065,7 +1060,7 @@ namespace GHelper
|
|||||||
|
|
||||||
if (eco == 1)
|
if (eco == 1)
|
||||||
{
|
{
|
||||||
string[] tokill = { "EADesktop", "RadeonSoftware" };
|
string[] tokill = { "EADesktop" };
|
||||||
foreach (string kill in tokill)
|
foreach (string kill in tokill)
|
||||||
foreach (var process in Process.GetProcessesByName(kill)) process.Kill();
|
foreach (var process in Process.GetProcessesByName(kill)) process.Kill();
|
||||||
}
|
}
|
||||||
@@ -1209,10 +1204,10 @@ namespace GHelper
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ButtonEnabled(RButton but, bool enabled)
|
public void ButtonEnabled(Button but, bool enabled)
|
||||||
{
|
{
|
||||||
but.Enabled = enabled;
|
but.Enabled = enabled;
|
||||||
but.BackColor = but.Enabled ? Color.FromArgb(255, but.BackColor) : Color.FromArgb(100, but.BackColor);
|
but.BackColor = enabled ? SystemColors.ControlLightLight : SystemColors.ControlLight;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetStartupCheck(bool status)
|
public void SetStartupCheck(bool status)
|
||||||
|
|||||||
3
app/post-build.bat
Normal file
3
app/post-build.bat
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
cd bin\Release\net7.0-windows8.0\publish\
|
||||||
|
del GHelper.zip
|
||||||
|
rem "C:\Program Files\7-Zip\7z.exe" a GHelper.zip GHelper.exe
|
||||||
@@ -1,10 +1,11 @@
|
|||||||
# [G-Helper (GHelper)](https://github.com/seerge/g-helper)
|
# [G-Helper (GHelper)](https://github.com/seerge/g-helper)
|
||||||
|
|
||||||
[](https://GitHub.com/seerge/g-helper/releases/) [](https://GitHub.com/seerge/g-helper/releases/) [](https://GitHub.com/seerge/g-helper/stargazers/)
|
[](https://GitHub.com/seerge/g-helper/releases/) [](https://GitHub.com/seerge/g-helper/releases/) [](https://github.com/seerge/g-helper/blob/master/LICENSE)
|
||||||
|
[](https://GitHub.com/seerge/g-helper/stargazers/)
|
||||||
|
|
||||||
## Open source Armoury Crate alternative for Asus ROG Zephyrus G14, G15, Flow X13, Flow X16, and other models
|
## Open source Armory Crate alternative for Asus ROG Zephyrus G14, G15, Flow X13, Flow X16, and other models
|
||||||
|
|
||||||
A small utility that allows you to do almost everything you could do with Armoury Crate but without extra bloat and unnecessary services.
|
A small utility that allows you to do almost everything you could do with Armory Crate but without extra bloat and unnecessary services.
|
||||||
|
|
||||||
### :gift: Main advantages
|
### :gift: Main advantages
|
||||||
|
|
||||||
@@ -14,14 +15,14 @@ A small utility that allows you to do almost everything you could do with Armour
|
|||||||
|
|
||||||
### [:floppy_disk: Download latest release](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
|
### [:floppy_disk: Download latest release](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
|
||||||
|
|
||||||
If you like this app, please [star :star: it on Github](https://github.com/seerge/g-helper) and spread a word about it!
|
If you like this app, please star :star: it on Github and spread a word about it!
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### :zap: Main features
|
### :zap: Main features
|
||||||
|
|
||||||
1. Built-in **Performance modes**: Silent - Balanced - Turbo (with default fan curves)
|
1. Built-in **Performance modes**: Silent - Balanced - Turbo (with default fan curves)
|
||||||
2. **GPU modes**: Eco - Standard - Ultimate - Optimized
|
2. **GPU modes**: Eco -Standard - Ultimate
|
||||||
3. Laptop screen refresh rate 60hz or 120hz (144hz, etc depending on the model) with display overdrive (OD)
|
3. Laptop screen refresh rate 60hz or 120hz (144hz, etc depending on the model) with display overdrive (OD)
|
||||||
4. Default and custom fan profiles for every performance mode
|
4. Default and custom fan profiles for every performance mode
|
||||||
5. Power limits (PPT) for every performance mode
|
5. Power limits (PPT) for every performance mode
|
||||||
@@ -35,8 +36,8 @@ If you like this app, please [star :star: it on Github](https://github.com/seerg
|
|||||||
|
|
||||||
### :apple: Automatic switching of modes when on battery or plugged in
|
### :apple: Automatic switching of modes when on battery or plugged in
|
||||||
- Performance modes (app remembers last mode used on battery or when plugged)
|
- Performance modes (app remembers last mode used on battery or when plugged)
|
||||||
- Optimized GPU mode - disables dGPU on battery and enables when plugged
|
- GPU modes (eco on battery, stanard when plugged)
|
||||||
- Auto Screen refresh rate (60hz on battery, 120+ hz when plugged)
|
- Screen refresh rate (60hz on battery, 120+ hz when plugged)
|
||||||
|
|
||||||
To keep auto switching and hotkeys working the app needs to stay in running in the tray. It doesn't consume any resources.
|
To keep auto switching and hotkeys working the app needs to stay in running in the tray. It doesn't consume any resources.
|
||||||
|
|
||||||
@@ -55,7 +56,6 @@ PPTs are shown for G14 2022, for other models PPTs will be different as they are
|
|||||||
1. Eco mode : only low power integrated GPU enabled, iGPU drives built in display
|
1. Eco mode : only low power integrated GPU enabled, iGPU drives built in display
|
||||||
2. Standard mode (Windows Hybrid) : iGPU and dGPU enabled, iGPU drives built in display
|
2. Standard mode (Windows Hybrid) : iGPU and dGPU enabled, iGPU drives built in display
|
||||||
3. Ultimate mode: iGPU and dGPU enabled, but dGPU drives built in display (supported only on G14 2022 model)
|
3. Ultimate mode: iGPU and dGPU enabled, but dGPU drives built in display (supported only on G14 2022 model)
|
||||||
4. Optimized (formely existed as a checkbox): disables dGPU on battery (Eco) and enables when plugged (Standard)
|
|
||||||
|
|
||||||
### :question: FAQ
|
### :question: FAQ
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.3 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 4.2 MiB After Width: | Height: | Size: 3.6 MiB |
Reference in New Issue
Block a user