mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ece5606c27 | ||
|
|
e115e0f82b | ||
|
|
d6fe7f41c1 | ||
|
|
4a0e9d2e41 | ||
|
|
e59142140c | ||
|
|
8ca043de7d | ||
|
|
9543cd400e | ||
|
|
b808aa7619 | ||
|
|
6ca63bb9c5 | ||
|
|
4ba11f1f9f | ||
|
|
382080922d | ||
|
|
d439d20c13 | ||
|
|
24199b3036 | ||
|
|
d45ce23d9a | ||
|
|
34ae2e536d | ||
|
|
64e3b3bbd6 |
@@ -347,7 +347,10 @@ namespace GHelper.AnimeMatrix
|
|||||||
|
|
||||||
int matrixX = AppConfig.Get("matrix_x", 0);
|
int matrixX = AppConfig.Get("matrix_x", 0);
|
||||||
int matrixY = AppConfig.Get("matrix_y", 0);
|
int matrixY = AppConfig.Get("matrix_y", 0);
|
||||||
|
|
||||||
int matrixZoom = AppConfig.Get("matrix_zoom", 100);
|
int matrixZoom = AppConfig.Get("matrix_zoom", 100);
|
||||||
|
int matrixContrast = AppConfig.Get("matrix_contrast", 100);
|
||||||
|
|
||||||
int matrixSpeed = AppConfig.Get("matrix_speed", 50);
|
int matrixSpeed = AppConfig.Get("matrix_speed", 50);
|
||||||
|
|
||||||
MatrixRotation rotation = (MatrixRotation)AppConfig.Get("matrix_rotation", 0);
|
MatrixRotation rotation = (MatrixRotation)AppConfig.Get("matrix_rotation", 0);
|
||||||
@@ -368,9 +371,9 @@ namespace GHelper.AnimeMatrix
|
|||||||
image.SelectActiveFrame(dimension, i);
|
image.SelectActiveFrame(dimension, i);
|
||||||
|
|
||||||
if (rotation == MatrixRotation.Planar)
|
if (rotation == MatrixRotation.Planar)
|
||||||
device.GenerateFrame(image, matrixZoom, matrixX, matrixY, matrixQuality);
|
device.GenerateFrame(image, matrixZoom, matrixX, matrixY, matrixQuality, matrixContrast);
|
||||||
else
|
else
|
||||||
device.GenerateFrameDiagonal(image, matrixZoom, matrixX, matrixY, matrixQuality);
|
device.GenerateFrameDiagonal(image, matrixZoom, matrixX, matrixY, matrixQuality, matrixContrast);
|
||||||
|
|
||||||
device.AddFrame();
|
device.AddFrame();
|
||||||
}
|
}
|
||||||
@@ -385,9 +388,9 @@ namespace GHelper.AnimeMatrix
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (rotation == MatrixRotation.Planar)
|
if (rotation == MatrixRotation.Planar)
|
||||||
device.GenerateFrame(image, matrixZoom, matrixX, matrixY, matrixQuality);
|
device.GenerateFrame(image, matrixZoom, matrixX, matrixY, matrixQuality, matrixContrast);
|
||||||
else
|
else
|
||||||
device.GenerateFrameDiagonal(image, matrixZoom, matrixX, matrixY, matrixQuality);
|
device.GenerateFrameDiagonal(image, matrixZoom, matrixX, matrixY, matrixQuality, matrixContrast);
|
||||||
|
|
||||||
device.Present();
|
device.Present();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -399,21 +399,21 @@ namespace Starlight.AnimeMatrix
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void SetBitmapDiagonal(Bitmap bmp, int deltaX = 0, int deltaY = 0)
|
private void SetBitmapDiagonal(Bitmap bmp, int deltaX = 0, int deltaY = 0, int contrast = 100)
|
||||||
{
|
{
|
||||||
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++)
|
||||||
{
|
{
|
||||||
var pixel = bmp.GetPixel(x, y);
|
var pixel = bmp.GetPixel(x, y);
|
||||||
var color = (pixel.R + pixel.G + pixel.B) / 3;
|
var color = Math.Min((pixel.R + pixel.G + pixel.B) * contrast / 300, 255);
|
||||||
if (color > 20)
|
if (color > 20)
|
||||||
SetLedDiagonal(x, y, (byte)color, deltaX + (FullRows / 2) + 1, deltaY - (FullRows / 2) - 1);
|
SetLedDiagonal(x, y, (byte)color, deltaX + (FullRows / 2) + 1, deltaY - (FullRows / 2) - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetBitmapLinear(Bitmap bmp)
|
private void SetBitmapLinear(Bitmap bmp, int contrast = 100)
|
||||||
{
|
{
|
||||||
for (int y = 0; y < bmp.Height; y++)
|
for (int y = 0; y < bmp.Height; y++)
|
||||||
{
|
{
|
||||||
@@ -421,7 +421,7 @@ namespace Starlight.AnimeMatrix
|
|||||||
if (x % 2 == y % 2)
|
if (x % 2 == y % 2)
|
||||||
{
|
{
|
||||||
var pixel = bmp.GetPixel(x, y);
|
var pixel = bmp.GetPixel(x, y);
|
||||||
var color = (pixel.R + pixel.G + pixel.B) / 3;
|
var color = Math.Min((pixel.R + pixel.G + pixel.B) * contrast / 300, 255);
|
||||||
if (color > 20)
|
if (color > 20)
|
||||||
SetLedPlanar(x / 2, y, (byte)color);
|
SetLedPlanar(x / 2, y, (byte)color);
|
||||||
}
|
}
|
||||||
@@ -468,7 +468,7 @@ namespace Starlight.AnimeMatrix
|
|||||||
Present();
|
Present();
|
||||||
|
|
||||||
}
|
}
|
||||||
public void GenerateFrame(Image image, float zoom = 100, int panX = 0, int panY = 0, InterpolationMode quality = InterpolationMode.Default)
|
public void GenerateFrame(Image image, float zoom = 100, int panX = 0, int panY = 0, InterpolationMode quality = InterpolationMode.Default, int contrast = 100)
|
||||||
{
|
{
|
||||||
int width = MaxColumns / 2 * 6;
|
int width = MaxColumns / 2 * 6;
|
||||||
int height = MaxRows;
|
int height = MaxRows;
|
||||||
@@ -495,11 +495,11 @@ namespace Starlight.AnimeMatrix
|
|||||||
}
|
}
|
||||||
|
|
||||||
Clear();
|
Clear();
|
||||||
SetBitmapLinear(bmp);
|
SetBitmapLinear(bmp, contrast);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void GenerateFrameDiagonal(Image image, float zoom = 100, int panX = 0, int panY = 0, InterpolationMode quality = InterpolationMode.Default)
|
public void GenerateFrameDiagonal(Image image, float zoom = 100, int panX = 0, int panY = 0, InterpolationMode quality = InterpolationMode.Default, int contrast = 100)
|
||||||
{
|
{
|
||||||
int width = MaxRows - FullRows;
|
int width = MaxRows - FullRows;
|
||||||
int height = MaxRows - FullRows*2;
|
int height = MaxRows - FullRows*2;
|
||||||
@@ -523,7 +523,7 @@ namespace Starlight.AnimeMatrix
|
|||||||
}
|
}
|
||||||
|
|
||||||
Clear();
|
Clear();
|
||||||
SetBitmapDiagonal(bmp, -panX, height + panY);
|
SetBitmapDiagonal(bmp, -panX, height + panY, contrast);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -345,7 +345,7 @@ public static class AppConfig
|
|||||||
|
|
||||||
public static bool IsSingleColor()
|
public static bool IsSingleColor()
|
||||||
{
|
{
|
||||||
return ContainsModel("GA401") || ContainsModel("FX517Z") || ContainsModel("FX516P") || ContainsModel("X13");
|
return ContainsModel("GA401") || ContainsModel("FX517Z") || ContainsModel("FX516P") || ContainsModel("X13") || IsARCNM() || ContainsModel("GA502IU");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsStrix()
|
public static bool IsStrix()
|
||||||
@@ -355,7 +355,7 @@ public static class AppConfig
|
|||||||
|
|
||||||
public static bool IsStrixLimitedRGB()
|
public static bool IsStrixLimitedRGB()
|
||||||
{
|
{
|
||||||
return ContainsModel("G614JV") || ContainsModel("G614JZ") || ContainsModel("G512LI") || ContainsModel("G513RS") || ContainsModel("G513RM") || ContainsModel("G713PV") || ContainsModel("G513IE") || ContainsModel("G513QM") || ContainsModel("G713RC");
|
return ContainsModel("G614JV") || ContainsModel("G614JZ") || ContainsModel("G512LI") || ContainsModel("G513R") || ContainsModel("G713PV") || ContainsModel("G513IE") || ContainsModel("G513QM") || ContainsModel("G713RC");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsStrixNumpad()
|
public static bool IsStrixNumpad()
|
||||||
@@ -386,7 +386,7 @@ public static class AppConfig
|
|||||||
|
|
||||||
public static bool NoAutoUltimate()
|
public static bool NoAutoUltimate()
|
||||||
{
|
{
|
||||||
return ContainsModel("G614") || ContainsModel("GU604") || ContainsModel("FX507") || ContainsModel("G513");
|
return ContainsModel("G614") || ContainsModel("GU604") || ContainsModel("FX507") || ContainsModel("G513") || ContainsModel("FA617");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -428,7 +428,7 @@ public static class AppConfig
|
|||||||
|
|
||||||
public static bool IsGPUFixNeeded()
|
public static bool IsGPUFixNeeded()
|
||||||
{
|
{
|
||||||
return ContainsModel("GA402X") || ContainsModel("GV302") || ContainsModel("GV301") || ContainsModel("GZ301") || ContainsModel("FX506") || ContainsModel("GU603V") || ContainsModel("GU603Z");
|
return ContainsModel("GA402X") || ContainsModel("GV302") || ContainsModel("GV301") || ContainsModel("GZ301") || ContainsModel("FX506") || ContainsModel("GU603") || ContainsModel("GU604") || ContainsModel("G614J");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsGPUFix()
|
public static bool IsGPUFix()
|
||||||
|
|||||||
@@ -536,6 +536,7 @@ public class AsusACPI
|
|||||||
|
|
||||||
public bool IsAllAmdPPT()
|
public bool IsAllAmdPPT()
|
||||||
{
|
{
|
||||||
|
//return false;
|
||||||
return DeviceGet(PPT_CPUB0) >= 0 && DeviceGet(PPT_GPUC0) < 0;
|
return DeviceGet(PPT_CPUB0) >= 0 && DeviceGet(PPT_GPUC0) < 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -293,7 +293,7 @@ namespace GHelper
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((!AppConfig.IsStrix() && !AppConfig.IsZ13()) || AppConfig.IsStrixLimitedRGB())
|
if ((!AppConfig.IsStrix() && !AppConfig.IsZ13()) || AppConfig.IsStrixLimitedRGB() || AppConfig.IsARCNM())
|
||||||
{
|
{
|
||||||
labelBacklightLid.Visible = false;
|
labelBacklightLid.Visible = false;
|
||||||
checkAwakeLid.Visible = false;
|
checkAwakeLid.Visible = false;
|
||||||
|
|||||||
127
app/Fans.Designer.cs
generated
127
app/Fans.Designer.cs
generated
@@ -31,14 +31,14 @@ namespace GHelper
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
ChartArea chartArea1 = new ChartArea();
|
ChartArea chartArea17 = new ChartArea();
|
||||||
Title title1 = new Title();
|
Title title17 = new Title();
|
||||||
ChartArea chartArea2 = new ChartArea();
|
ChartArea chartArea18 = new ChartArea();
|
||||||
Title title2 = new Title();
|
Title title18 = new Title();
|
||||||
ChartArea chartArea3 = new ChartArea();
|
ChartArea chartArea19 = new ChartArea();
|
||||||
Title title3 = new Title();
|
Title title19 = new Title();
|
||||||
ChartArea chartArea4 = new ChartArea();
|
ChartArea chartArea20 = new ChartArea();
|
||||||
Title title4 = new Title();
|
Title title20 = new Title();
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Fans));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Fans));
|
||||||
panelFans = new Panel();
|
panelFans = new Panel();
|
||||||
labelTip = new Label();
|
labelTip = new Label();
|
||||||
@@ -141,6 +141,10 @@ namespace GHelper
|
|||||||
buttonAdvanced = new RButton();
|
buttonAdvanced = new RButton();
|
||||||
buttonGPU = new RButton();
|
buttonGPU = new RButton();
|
||||||
buttonCPU = new RButton();
|
buttonCPU = new RButton();
|
||||||
|
panelA3 = new Panel();
|
||||||
|
labelA3 = new Label();
|
||||||
|
labelLeftA3 = new Label();
|
||||||
|
trackA3 = new TrackBar();
|
||||||
panelFans.SuspendLayout();
|
panelFans.SuspendLayout();
|
||||||
tableFanCharts.SuspendLayout();
|
tableFanCharts.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)chartGPU).BeginInit();
|
((System.ComponentModel.ISupportInitialize)chartGPU).BeginInit();
|
||||||
@@ -195,6 +199,8 @@ namespace GHelper
|
|||||||
((System.ComponentModel.ISupportInitialize)pictureGPU).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureGPU).BeginInit();
|
||||||
panelNav.SuspendLayout();
|
panelNav.SuspendLayout();
|
||||||
tableNav.SuspendLayout();
|
tableNav.SuspendLayout();
|
||||||
|
panelA3.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)trackA3).BeginInit();
|
||||||
SuspendLayout();
|
SuspendLayout();
|
||||||
//
|
//
|
||||||
// panelFans
|
// panelFans
|
||||||
@@ -251,8 +257,8 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
// chartGPU
|
// chartGPU
|
||||||
//
|
//
|
||||||
chartArea1.Name = "ChartArea1";
|
chartArea17.Name = "ChartArea1";
|
||||||
chartGPU.ChartAreas.Add(chartArea1);
|
chartGPU.ChartAreas.Add(chartArea17);
|
||||||
chartGPU.Dock = DockStyle.Fill;
|
chartGPU.Dock = DockStyle.Fill;
|
||||||
chartGPU.Location = new Point(12, 493);
|
chartGPU.Location = new Point(12, 493);
|
||||||
chartGPU.Margin = new Padding(2, 10, 2, 10);
|
chartGPU.Margin = new Padding(2, 10, 2, 10);
|
||||||
@@ -260,13 +266,13 @@ namespace GHelper
|
|||||||
chartGPU.Size = new Size(782, 463);
|
chartGPU.Size = new Size(782, 463);
|
||||||
chartGPU.TabIndex = 17;
|
chartGPU.TabIndex = 17;
|
||||||
chartGPU.Text = "chartGPU";
|
chartGPU.Text = "chartGPU";
|
||||||
title1.Name = "Title1";
|
title17.Name = "Title1";
|
||||||
chartGPU.Titles.Add(title1);
|
chartGPU.Titles.Add(title17);
|
||||||
//
|
//
|
||||||
// chartCPU
|
// chartCPU
|
||||||
//
|
//
|
||||||
chartArea2.Name = "ChartArea1";
|
chartArea18.Name = "ChartArea1";
|
||||||
chartCPU.ChartAreas.Add(chartArea2);
|
chartCPU.ChartAreas.Add(chartArea18);
|
||||||
chartCPU.Dock = DockStyle.Fill;
|
chartCPU.Dock = DockStyle.Fill;
|
||||||
chartCPU.Location = new Point(12, 10);
|
chartCPU.Location = new Point(12, 10);
|
||||||
chartCPU.Margin = new Padding(2, 10, 2, 10);
|
chartCPU.Margin = new Padding(2, 10, 2, 10);
|
||||||
@@ -274,13 +280,13 @@ namespace GHelper
|
|||||||
chartCPU.Size = new Size(782, 463);
|
chartCPU.Size = new Size(782, 463);
|
||||||
chartCPU.TabIndex = 14;
|
chartCPU.TabIndex = 14;
|
||||||
chartCPU.Text = "chartCPU";
|
chartCPU.Text = "chartCPU";
|
||||||
title2.Name = "Title1";
|
title18.Name = "Title1";
|
||||||
chartCPU.Titles.Add(title2);
|
chartCPU.Titles.Add(title18);
|
||||||
//
|
//
|
||||||
// chartXGM
|
// chartXGM
|
||||||
//
|
//
|
||||||
chartArea3.Name = "ChartAreaXGM";
|
chartArea19.Name = "ChartAreaXGM";
|
||||||
chartXGM.ChartAreas.Add(chartArea3);
|
chartXGM.ChartAreas.Add(chartArea19);
|
||||||
chartXGM.Dock = DockStyle.Fill;
|
chartXGM.Dock = DockStyle.Fill;
|
||||||
chartXGM.Location = new Point(12, 1459);
|
chartXGM.Location = new Point(12, 1459);
|
||||||
chartXGM.Margin = new Padding(2, 10, 2, 10);
|
chartXGM.Margin = new Padding(2, 10, 2, 10);
|
||||||
@@ -288,14 +294,14 @@ namespace GHelper
|
|||||||
chartXGM.Size = new Size(782, 463);
|
chartXGM.Size = new Size(782, 463);
|
||||||
chartXGM.TabIndex = 14;
|
chartXGM.TabIndex = 14;
|
||||||
chartXGM.Text = "chartXGM";
|
chartXGM.Text = "chartXGM";
|
||||||
title3.Name = "Title4";
|
title19.Name = "Title4";
|
||||||
chartXGM.Titles.Add(title3);
|
chartXGM.Titles.Add(title19);
|
||||||
chartXGM.Visible = false;
|
chartXGM.Visible = false;
|
||||||
//
|
//
|
||||||
// chartMid
|
// chartMid
|
||||||
//
|
//
|
||||||
chartArea4.Name = "ChartArea3";
|
chartArea20.Name = "ChartArea3";
|
||||||
chartMid.ChartAreas.Add(chartArea4);
|
chartMid.ChartAreas.Add(chartArea20);
|
||||||
chartMid.Dock = DockStyle.Fill;
|
chartMid.Dock = DockStyle.Fill;
|
||||||
chartMid.Location = new Point(12, 976);
|
chartMid.Location = new Point(12, 976);
|
||||||
chartMid.Margin = new Padding(2, 10, 2, 10);
|
chartMid.Margin = new Padding(2, 10, 2, 10);
|
||||||
@@ -303,8 +309,8 @@ namespace GHelper
|
|||||||
chartMid.Size = new Size(782, 463);
|
chartMid.Size = new Size(782, 463);
|
||||||
chartMid.TabIndex = 14;
|
chartMid.TabIndex = 14;
|
||||||
chartMid.Text = "chartMid";
|
chartMid.Text = "chartMid";
|
||||||
title4.Name = "Title3";
|
title20.Name = "Title3";
|
||||||
chartMid.Titles.Add(title4);
|
chartMid.Titles.Add(title20);
|
||||||
chartMid.Visible = false;
|
chartMid.Visible = false;
|
||||||
//
|
//
|
||||||
// panelTitleFans
|
// panelTitleFans
|
||||||
@@ -523,7 +529,7 @@ namespace GHelper
|
|||||||
panelAdvanced.Controls.Add(panelTemperature);
|
panelAdvanced.Controls.Add(panelTemperature);
|
||||||
panelAdvanced.Controls.Add(panelTitleTemp);
|
panelAdvanced.Controls.Add(panelTitleTemp);
|
||||||
panelAdvanced.Dock = DockStyle.Top;
|
panelAdvanced.Dock = DockStyle.Top;
|
||||||
panelAdvanced.Location = new Point(10, 1520);
|
panelAdvanced.Location = new Point(10, 1644);
|
||||||
panelAdvanced.Name = "panelAdvanced";
|
panelAdvanced.Name = "panelAdvanced";
|
||||||
panelAdvanced.Size = new Size(520, 888);
|
panelAdvanced.Size = new Size(520, 888);
|
||||||
panelAdvanced.TabIndex = 14;
|
panelAdvanced.TabIndex = 14;
|
||||||
@@ -814,6 +820,7 @@ namespace GHelper
|
|||||||
panelPower.Controls.Add(panelApplyPower);
|
panelPower.Controls.Add(panelApplyPower);
|
||||||
panelPower.Controls.Add(panelB0);
|
panelPower.Controls.Add(panelB0);
|
||||||
panelPower.Controls.Add(panelC1);
|
panelPower.Controls.Add(panelC1);
|
||||||
|
panelPower.Controls.Add(panelA3);
|
||||||
panelPower.Controls.Add(panelA0);
|
panelPower.Controls.Add(panelA0);
|
||||||
panelPower.Controls.Add(panelTitleCPU);
|
panelPower.Controls.Add(panelTitleCPU);
|
||||||
panelPower.Controls.Add(panelBoost);
|
panelPower.Controls.Add(panelBoost);
|
||||||
@@ -824,7 +831,7 @@ namespace GHelper
|
|||||||
panelPower.Location = new Point(10, 764);
|
panelPower.Location = new Point(10, 764);
|
||||||
panelPower.Margin = new Padding(4);
|
panelPower.Margin = new Padding(4);
|
||||||
panelPower.Name = "panelPower";
|
panelPower.Name = "panelPower";
|
||||||
panelPower.Size = new Size(520, 756);
|
panelPower.Size = new Size(520, 880);
|
||||||
panelPower.TabIndex = 43;
|
panelPower.TabIndex = 43;
|
||||||
//
|
//
|
||||||
// panelApplyPower
|
// panelApplyPower
|
||||||
@@ -832,7 +839,7 @@ namespace GHelper
|
|||||||
panelApplyPower.AutoSize = true;
|
panelApplyPower.AutoSize = true;
|
||||||
panelApplyPower.Controls.Add(checkApplyPower);
|
panelApplyPower.Controls.Add(checkApplyPower);
|
||||||
panelApplyPower.Dock = DockStyle.Top;
|
panelApplyPower.Dock = DockStyle.Top;
|
||||||
panelApplyPower.Location = new Point(0, 680);
|
panelApplyPower.Location = new Point(0, 804);
|
||||||
panelApplyPower.Name = "panelApplyPower";
|
panelApplyPower.Name = "panelApplyPower";
|
||||||
panelApplyPower.Padding = new Padding(15);
|
panelApplyPower.Padding = new Padding(15);
|
||||||
panelApplyPower.Size = new Size(520, 76);
|
panelApplyPower.Size = new Size(520, 76);
|
||||||
@@ -859,7 +866,7 @@ namespace GHelper
|
|||||||
panelB0.Controls.Add(labelLeftB0);
|
panelB0.Controls.Add(labelLeftB0);
|
||||||
panelB0.Controls.Add(trackB0);
|
panelB0.Controls.Add(trackB0);
|
||||||
panelB0.Dock = DockStyle.Top;
|
panelB0.Dock = DockStyle.Top;
|
||||||
panelB0.Location = new Point(0, 556);
|
panelB0.Location = new Point(0, 680);
|
||||||
panelB0.Margin = new Padding(4);
|
panelB0.Margin = new Padding(4);
|
||||||
panelB0.MaximumSize = new Size(0, 124);
|
panelB0.MaximumSize = new Size(0, 124);
|
||||||
panelB0.Name = "panelB0";
|
panelB0.Name = "panelB0";
|
||||||
@@ -908,7 +915,7 @@ namespace GHelper
|
|||||||
panelC1.Controls.Add(labelLeftC1);
|
panelC1.Controls.Add(labelLeftC1);
|
||||||
panelC1.Controls.Add(trackC1);
|
panelC1.Controls.Add(trackC1);
|
||||||
panelC1.Dock = DockStyle.Top;
|
panelC1.Dock = DockStyle.Top;
|
||||||
panelC1.Location = new Point(0, 432);
|
panelC1.Location = new Point(0, 556);
|
||||||
panelC1.Margin = new Padding(4);
|
panelC1.Margin = new Padding(4);
|
||||||
panelC1.MaximumSize = new Size(0, 124);
|
panelC1.MaximumSize = new Size(0, 124);
|
||||||
panelC1.Name = "panelC1";
|
panelC1.Name = "panelC1";
|
||||||
@@ -972,7 +979,7 @@ namespace GHelper
|
|||||||
labelA0.Name = "labelA0";
|
labelA0.Name = "labelA0";
|
||||||
labelA0.Size = new Size(116, 32);
|
labelA0.Size = new Size(116, 32);
|
||||||
labelA0.TabIndex = 12;
|
labelA0.TabIndex = 12;
|
||||||
labelA0.Text = "SPPT";
|
labelA0.Text = "SPL";
|
||||||
labelA0.TextAlign = ContentAlignment.TopRight;
|
labelA0.TextAlign = ContentAlignment.TopRight;
|
||||||
//
|
//
|
||||||
// labelLeftA0
|
// labelLeftA0
|
||||||
@@ -981,9 +988,9 @@ namespace GHelper
|
|||||||
labelLeftA0.Location = new Point(10, 10);
|
labelLeftA0.Location = new Point(10, 10);
|
||||||
labelLeftA0.Margin = new Padding(4, 0, 4, 0);
|
labelLeftA0.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelLeftA0.Name = "labelLeftA0";
|
labelLeftA0.Name = "labelLeftA0";
|
||||||
labelLeftA0.Size = new Size(66, 32);
|
labelLeftA0.Size = new Size(51, 32);
|
||||||
labelLeftA0.TabIndex = 11;
|
labelLeftA0.TabIndex = 11;
|
||||||
labelLeftA0.Text = "SPPT";
|
labelLeftA0.Text = "SPL";
|
||||||
//
|
//
|
||||||
// trackA0
|
// trackA0
|
||||||
//
|
//
|
||||||
@@ -1527,6 +1534,55 @@ namespace GHelper
|
|||||||
buttonCPU.TextImageRelation = TextImageRelation.ImageBeforeText;
|
buttonCPU.TextImageRelation = TextImageRelation.ImageBeforeText;
|
||||||
buttonCPU.UseVisualStyleBackColor = false;
|
buttonCPU.UseVisualStyleBackColor = false;
|
||||||
//
|
//
|
||||||
|
// panelA3
|
||||||
|
//
|
||||||
|
panelA3.AutoSize = true;
|
||||||
|
panelA3.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
|
panelA3.Controls.Add(labelA3);
|
||||||
|
panelA3.Controls.Add(labelLeftA3);
|
||||||
|
panelA3.Controls.Add(trackA3);
|
||||||
|
panelA3.Dock = DockStyle.Top;
|
||||||
|
panelA3.Location = new Point(0, 432);
|
||||||
|
panelA3.Margin = new Padding(4);
|
||||||
|
panelA3.MaximumSize = new Size(0, 124);
|
||||||
|
panelA3.Name = "panelA3";
|
||||||
|
panelA3.Size = new Size(520, 124);
|
||||||
|
panelA3.TabIndex = 51;
|
||||||
|
//
|
||||||
|
// labelA3
|
||||||
|
//
|
||||||
|
labelA3.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||||
|
labelA3.Location = new Point(396, 10);
|
||||||
|
labelA3.Margin = new Padding(4, 0, 4, 0);
|
||||||
|
labelA3.Name = "labelA3";
|
||||||
|
labelA3.Size = new Size(116, 32);
|
||||||
|
labelA3.TabIndex = 12;
|
||||||
|
labelA3.Text = "SPPT";
|
||||||
|
labelA3.TextAlign = ContentAlignment.TopRight;
|
||||||
|
//
|
||||||
|
// labelLeftA3
|
||||||
|
//
|
||||||
|
labelLeftA3.AutoSize = true;
|
||||||
|
labelLeftA3.Location = new Point(10, 10);
|
||||||
|
labelLeftA3.Margin = new Padding(4, 0, 4, 0);
|
||||||
|
labelLeftA3.Name = "labelLeftA3";
|
||||||
|
labelLeftA3.Size = new Size(66, 32);
|
||||||
|
labelLeftA3.TabIndex = 11;
|
||||||
|
labelLeftA3.Text = "SPPT";
|
||||||
|
//
|
||||||
|
// trackA3
|
||||||
|
//
|
||||||
|
trackA3.Location = new Point(6, 48);
|
||||||
|
trackA3.Margin = new Padding(4, 2, 4, 2);
|
||||||
|
trackA3.Maximum = 180;
|
||||||
|
trackA3.Minimum = 10;
|
||||||
|
trackA3.Name = "trackA3";
|
||||||
|
trackA3.Size = new Size(508, 90);
|
||||||
|
trackA3.TabIndex = 10;
|
||||||
|
trackA3.TickFrequency = 5;
|
||||||
|
trackA3.TickStyle = TickStyle.TopLeft;
|
||||||
|
trackA3.Value = 125;
|
||||||
|
//
|
||||||
// Fans
|
// Fans
|
||||||
//
|
//
|
||||||
AutoScaleDimensions = new SizeF(192F, 192F);
|
AutoScaleDimensions = new SizeF(192F, 192F);
|
||||||
@@ -1623,6 +1679,9 @@ namespace GHelper
|
|||||||
((System.ComponentModel.ISupportInitialize)pictureGPU).EndInit();
|
((System.ComponentModel.ISupportInitialize)pictureGPU).EndInit();
|
||||||
panelNav.ResumeLayout(false);
|
panelNav.ResumeLayout(false);
|
||||||
tableNav.ResumeLayout(false);
|
tableNav.ResumeLayout(false);
|
||||||
|
panelA3.ResumeLayout(false);
|
||||||
|
panelA3.PerformLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)trackA3).EndInit();
|
||||||
ResumeLayout(false);
|
ResumeLayout(false);
|
||||||
PerformLayout();
|
PerformLayout();
|
||||||
}
|
}
|
||||||
@@ -1730,5 +1789,9 @@ namespace GHelper
|
|||||||
private TrackBar trackGPUClockLimit;
|
private TrackBar trackGPUClockLimit;
|
||||||
private Label labelGPUClockLimitTitle;
|
private Label labelGPUClockLimitTitle;
|
||||||
private RButton buttonCalibrate;
|
private RButton buttonCalibrate;
|
||||||
|
private Panel panelA3;
|
||||||
|
private Label labelA3;
|
||||||
|
private Label labelLeftA3;
|
||||||
|
private TrackBar trackA3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
31
app/Fans.cs
31
app/Fans.cs
@@ -106,6 +106,9 @@ namespace GHelper
|
|||||||
trackA0.Maximum = AsusACPI.MaxTotal;
|
trackA0.Maximum = AsusACPI.MaxTotal;
|
||||||
trackA0.Minimum = AsusACPI.MinTotal;
|
trackA0.Minimum = AsusACPI.MinTotal;
|
||||||
|
|
||||||
|
trackA3.Maximum = AsusACPI.MaxTotal;
|
||||||
|
trackA3.Minimum = AsusACPI.MinTotal;
|
||||||
|
|
||||||
trackB0.Maximum = AsusACPI.MaxCPU;
|
trackB0.Maximum = AsusACPI.MaxCPU;
|
||||||
trackB0.Minimum = AsusACPI.MinCPU;
|
trackB0.Minimum = AsusACPI.MinCPU;
|
||||||
|
|
||||||
@@ -115,10 +118,12 @@ namespace GHelper
|
|||||||
trackC1.Scroll += TrackPower_Scroll;
|
trackC1.Scroll += TrackPower_Scroll;
|
||||||
trackB0.Scroll += TrackPower_Scroll;
|
trackB0.Scroll += TrackPower_Scroll;
|
||||||
trackA0.Scroll += TrackPower_Scroll;
|
trackA0.Scroll += TrackPower_Scroll;
|
||||||
|
trackA3.Scroll += TrackPower_Scroll;
|
||||||
|
|
||||||
trackC1.MouseUp += TrackPower_MouseUp;
|
trackC1.MouseUp += TrackPower_MouseUp;
|
||||||
trackB0.MouseUp += TrackPower_MouseUp;
|
trackB0.MouseUp += TrackPower_MouseUp;
|
||||||
trackA0.MouseUp += TrackPower_MouseUp;
|
trackA0.MouseUp += TrackPower_MouseUp;
|
||||||
|
trackA3.MouseUp += TrackPower_MouseUp;
|
||||||
|
|
||||||
checkApplyFans.Click += CheckApplyFans_Click;
|
checkApplyFans.Click += CheckApplyFans_Click;
|
||||||
checkApplyPower.Click += CheckApplyPower_Click;
|
checkApplyPower.Click += CheckApplyPower_Click;
|
||||||
@@ -800,19 +805,28 @@ namespace GHelper
|
|||||||
labelLeftA0.Text = "Platform (CPU + GPU)";
|
labelLeftA0.Text = "Platform (CPU + GPU)";
|
||||||
labelLeftB0.Text = "CPU";
|
labelLeftB0.Text = "CPU";
|
||||||
panelC1.Visible = false;
|
panelC1.Visible = false;
|
||||||
|
panelA3.Visible = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (RyzenControl.IsAMD())
|
if (RyzenControl.IsAMD())
|
||||||
labelLeftA0.Text = "CPU Slow (SPL + sPPT)";
|
{
|
||||||
|
labelLeftA0.Text = "CPU Sustained (SPL)";
|
||||||
|
labelLeftA3.Text = "CPU Slow (sPPT)";
|
||||||
|
labelLeftC1.Text = "CPU Fast (fPPT)";
|
||||||
|
panelC1.Visible = modeC1;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
labelLeftA0.Text = "CPU (PL1 + PL2)";
|
{
|
||||||
|
labelLeftA0.Text = "CPU Slow (PL1)";
|
||||||
|
labelLeftA3.Text = "CPU Fast (PL2)";
|
||||||
|
panelC1.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
labelLeftC1.Text = "CPU Fast (fPPT)";
|
|
||||||
panelC1.Visible = modeC1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int limit_total;
|
int limit_total;
|
||||||
|
int limit_slow;
|
||||||
int limit_cpu;
|
int limit_cpu;
|
||||||
int limit_fast;
|
int limit_fast;
|
||||||
|
|
||||||
@@ -821,12 +835,14 @@ namespace GHelper
|
|||||||
if (changed)
|
if (changed)
|
||||||
{
|
{
|
||||||
limit_total = trackA0.Value;
|
limit_total = trackA0.Value;
|
||||||
|
limit_slow = trackA3.Value;
|
||||||
limit_cpu = trackB0.Value;
|
limit_cpu = trackB0.Value;
|
||||||
limit_fast = trackC1.Value;
|
limit_fast = trackC1.Value;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
limit_total = AppConfig.GetMode("limit_total");
|
limit_total = AppConfig.GetMode("limit_total");
|
||||||
|
limit_slow = AppConfig.GetMode("limit_slow");
|
||||||
limit_cpu = AppConfig.GetMode("limit_cpu");
|
limit_cpu = AppConfig.GetMode("limit_cpu");
|
||||||
limit_fast = AppConfig.GetMode("limit_fast");
|
limit_fast = AppConfig.GetMode("limit_fast");
|
||||||
}
|
}
|
||||||
@@ -840,21 +856,28 @@ namespace GHelper
|
|||||||
if (limit_cpu < AsusACPI.MinCPU) limit_cpu = AsusACPI.MinCPU;
|
if (limit_cpu < AsusACPI.MinCPU) limit_cpu = AsusACPI.MinCPU;
|
||||||
if (limit_cpu > limit_total) limit_cpu = limit_total;
|
if (limit_cpu > limit_total) limit_cpu = limit_total;
|
||||||
|
|
||||||
|
if (limit_slow < 0) limit_slow = limit_total;
|
||||||
|
if (limit_slow > AsusACPI.MaxTotal) limit_slow = AsusACPI.MaxTotal;
|
||||||
|
if (limit_slow < AsusACPI.MinTotal) limit_slow = AsusACPI.MinTotal;
|
||||||
|
|
||||||
if (limit_fast < 0) limit_fast = AsusACPI.DefaultTotal;
|
if (limit_fast < 0) limit_fast = AsusACPI.DefaultTotal;
|
||||||
if (limit_fast > AsusACPI.MaxTotal) limit_fast = AsusACPI.MaxTotal;
|
if (limit_fast > AsusACPI.MaxTotal) limit_fast = AsusACPI.MaxTotal;
|
||||||
if (limit_fast < AsusACPI.MinTotal) limit_fast = AsusACPI.MinTotal;
|
if (limit_fast < AsusACPI.MinTotal) limit_fast = AsusACPI.MinTotal;
|
||||||
|
|
||||||
trackA0.Value = limit_total;
|
trackA0.Value = limit_total;
|
||||||
|
trackA3.Value = limit_slow;
|
||||||
trackB0.Value = limit_cpu;
|
trackB0.Value = limit_cpu;
|
||||||
trackC1.Value = limit_fast;
|
trackC1.Value = limit_fast;
|
||||||
|
|
||||||
checkApplyPower.Checked = apply;
|
checkApplyPower.Checked = apply;
|
||||||
|
|
||||||
labelA0.Text = trackA0.Value.ToString() + "W";
|
labelA0.Text = trackA0.Value.ToString() + "W";
|
||||||
|
labelA3.Text = trackA3.Value.ToString() + "W";
|
||||||
labelB0.Text = trackB0.Value.ToString() + "W";
|
labelB0.Text = trackB0.Value.ToString() + "W";
|
||||||
labelC1.Text = trackC1.Value.ToString() + "W";
|
labelC1.Text = trackC1.Value.ToString() + "W";
|
||||||
|
|
||||||
AppConfig.SetMode("limit_total", limit_total);
|
AppConfig.SetMode("limit_total", limit_total);
|
||||||
|
AppConfig.SetMode("limit_slow", limit_slow);
|
||||||
AppConfig.SetMode("limit_cpu", limit_cpu);
|
AppConfig.SetMode("limit_cpu", limit_cpu);
|
||||||
AppConfig.SetMode("limit_fast", limit_fast);
|
AppConfig.SetMode("limit_fast", limit_fast);
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||||
<AssemblyVersion>0.136</AssemblyVersion>
|
<AssemblyVersion>0.138</AssemblyVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
|
|||||||
@@ -26,6 +26,38 @@ namespace GHelper.Helpers
|
|||||||
(color1.B + color2.B) / 2);
|
(color1.B + color2.B) / 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Color GetDominantColor(Bitmap bmp)
|
||||||
|
{
|
||||||
|
|
||||||
|
//Used for tally
|
||||||
|
int r = 0;
|
||||||
|
int g = 0;
|
||||||
|
int b = 0;
|
||||||
|
|
||||||
|
int total = 0;
|
||||||
|
|
||||||
|
for (int x = 0; x < bmp.Width; x++)
|
||||||
|
{
|
||||||
|
for (int y = 0; y < bmp.Height; y++)
|
||||||
|
{
|
||||||
|
Color clr = bmp.GetPixel(x, y);
|
||||||
|
|
||||||
|
r += clr.R;
|
||||||
|
g += clr.G;
|
||||||
|
b += clr.B;
|
||||||
|
|
||||||
|
total++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Calculate average
|
||||||
|
r /= total;
|
||||||
|
g /= total;
|
||||||
|
b /= total;
|
||||||
|
|
||||||
|
return Color.FromArgb(r, g, b);
|
||||||
|
}
|
||||||
|
|
||||||
public class HSV
|
public class HSV
|
||||||
{
|
{
|
||||||
public double Hue { get; set; }
|
public double Hue { get; set; }
|
||||||
|
|||||||
67
app/Matrix.Designer.cs
generated
67
app/Matrix.Designer.cs
generated
@@ -35,6 +35,10 @@
|
|||||||
panelMain = new Panel();
|
panelMain = new Panel();
|
||||||
panelButtons = new Panel();
|
panelButtons = new Panel();
|
||||||
buttonReset = new UI.RButton();
|
buttonReset = new UI.RButton();
|
||||||
|
panelContrast = new Panel();
|
||||||
|
labelContrast = new Label();
|
||||||
|
labelContrastTitle = new Label();
|
||||||
|
trackContrast = new TrackBar();
|
||||||
panelRotation = new Panel();
|
panelRotation = new Panel();
|
||||||
comboRotation = new UI.RComboBox();
|
comboRotation = new UI.RComboBox();
|
||||||
labelRotation = new Label();
|
labelRotation = new Label();
|
||||||
@@ -49,6 +53,8 @@
|
|||||||
panelPicture.SuspendLayout();
|
panelPicture.SuspendLayout();
|
||||||
panelMain.SuspendLayout();
|
panelMain.SuspendLayout();
|
||||||
panelButtons.SuspendLayout();
|
panelButtons.SuspendLayout();
|
||||||
|
panelContrast.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)trackContrast).BeginInit();
|
||||||
panelRotation.SuspendLayout();
|
panelRotation.SuspendLayout();
|
||||||
panelScaling.SuspendLayout();
|
panelScaling.SuspendLayout();
|
||||||
panelZoom.SuspendLayout();
|
panelZoom.SuspendLayout();
|
||||||
@@ -111,6 +117,7 @@
|
|||||||
//
|
//
|
||||||
panelMain.AutoSize = true;
|
panelMain.AutoSize = true;
|
||||||
panelMain.Controls.Add(panelButtons);
|
panelMain.Controls.Add(panelButtons);
|
||||||
|
panelMain.Controls.Add(panelContrast);
|
||||||
panelMain.Controls.Add(panelRotation);
|
panelMain.Controls.Add(panelRotation);
|
||||||
panelMain.Controls.Add(panelScaling);
|
panelMain.Controls.Add(panelScaling);
|
||||||
panelMain.Controls.Add(panelZoom);
|
panelMain.Controls.Add(panelZoom);
|
||||||
@@ -118,7 +125,7 @@
|
|||||||
panelMain.Dock = DockStyle.Top;
|
panelMain.Dock = DockStyle.Top;
|
||||||
panelMain.Location = new Point(20, 20);
|
panelMain.Location = new Point(20, 20);
|
||||||
panelMain.Name = "panelMain";
|
panelMain.Name = "panelMain";
|
||||||
panelMain.Size = new Size(834, 814);
|
panelMain.Size = new Size(834, 959);
|
||||||
panelMain.TabIndex = 5;
|
panelMain.TabIndex = 5;
|
||||||
//
|
//
|
||||||
// panelButtons
|
// panelButtons
|
||||||
@@ -126,7 +133,7 @@
|
|||||||
panelButtons.Controls.Add(buttonReset);
|
panelButtons.Controls.Add(buttonReset);
|
||||||
panelButtons.Controls.Add(buttonPicture);
|
panelButtons.Controls.Add(buttonPicture);
|
||||||
panelButtons.Dock = DockStyle.Top;
|
panelButtons.Dock = DockStyle.Top;
|
||||||
panelButtons.Location = new Point(0, 720);
|
panelButtons.Location = new Point(0, 865);
|
||||||
panelButtons.Name = "panelButtons";
|
panelButtons.Name = "panelButtons";
|
||||||
panelButtons.Size = new Size(834, 94);
|
panelButtons.Size = new Size(834, 94);
|
||||||
panelButtons.TabIndex = 6;
|
panelButtons.TabIndex = 6;
|
||||||
@@ -150,6 +157,53 @@
|
|||||||
buttonReset.TextImageRelation = TextImageRelation.ImageBeforeText;
|
buttonReset.TextImageRelation = TextImageRelation.ImageBeforeText;
|
||||||
buttonReset.UseVisualStyleBackColor = false;
|
buttonReset.UseVisualStyleBackColor = false;
|
||||||
//
|
//
|
||||||
|
// panelContrast
|
||||||
|
//
|
||||||
|
panelContrast.AutoSize = true;
|
||||||
|
panelContrast.Controls.Add(labelContrast);
|
||||||
|
panelContrast.Controls.Add(labelContrastTitle);
|
||||||
|
panelContrast.Controls.Add(trackContrast);
|
||||||
|
panelContrast.Dock = DockStyle.Top;
|
||||||
|
panelContrast.Location = new Point(0, 720);
|
||||||
|
panelContrast.Name = "panelContrast";
|
||||||
|
panelContrast.Size = new Size(834, 145);
|
||||||
|
panelContrast.TabIndex = 6;
|
||||||
|
//
|
||||||
|
// labelContrast
|
||||||
|
//
|
||||||
|
labelContrast.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
|
labelContrast.AutoSize = true;
|
||||||
|
labelContrast.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
||||||
|
labelContrast.Location = new Point(705, 17);
|
||||||
|
labelContrast.Name = "labelContrast";
|
||||||
|
labelContrast.Size = new Size(103, 32);
|
||||||
|
labelContrast.TabIndex = 4;
|
||||||
|
labelContrast.Text = "Contrast";
|
||||||
|
//
|
||||||
|
// labelContrastTitle
|
||||||
|
//
|
||||||
|
labelContrastTitle.AutoSize = true;
|
||||||
|
labelContrastTitle.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||||
|
labelContrastTitle.Location = new Point(16, 17);
|
||||||
|
labelContrastTitle.Name = "labelContrastTitle";
|
||||||
|
labelContrastTitle.Size = new Size(111, 32);
|
||||||
|
labelContrastTitle.TabIndex = 3;
|
||||||
|
labelContrastTitle.Text = "Contrast";
|
||||||
|
//
|
||||||
|
// trackContrast
|
||||||
|
//
|
||||||
|
trackContrast.LargeChange = 50;
|
||||||
|
trackContrast.Location = new Point(16, 52);
|
||||||
|
trackContrast.Maximum = 200;
|
||||||
|
trackContrast.Minimum = 10;
|
||||||
|
trackContrast.Name = "trackContrast";
|
||||||
|
trackContrast.Size = new Size(782, 90);
|
||||||
|
trackContrast.SmallChange = 10;
|
||||||
|
trackContrast.TabIndex = 2;
|
||||||
|
trackContrast.TickFrequency = 20;
|
||||||
|
trackContrast.TickStyle = TickStyle.TopLeft;
|
||||||
|
trackContrast.Value = 100;
|
||||||
|
//
|
||||||
// panelRotation
|
// panelRotation
|
||||||
//
|
//
|
||||||
panelRotation.Controls.Add(comboRotation);
|
panelRotation.Controls.Add(comboRotation);
|
||||||
@@ -256,7 +310,7 @@
|
|||||||
AutoScaleDimensions = new SizeF(192F, 192F);
|
AutoScaleDimensions = new SizeF(192F, 192F);
|
||||||
AutoScaleMode = AutoScaleMode.Dpi;
|
AutoScaleMode = AutoScaleMode.Dpi;
|
||||||
AutoSize = true;
|
AutoSize = true;
|
||||||
ClientSize = new Size(874, 978);
|
ClientSize = new Size(874, 1006);
|
||||||
Controls.Add(panelMain);
|
Controls.Add(panelMain);
|
||||||
MaximizeBox = false;
|
MaximizeBox = false;
|
||||||
MinimizeBox = false;
|
MinimizeBox = false;
|
||||||
@@ -272,6 +326,9 @@
|
|||||||
panelMain.ResumeLayout(false);
|
panelMain.ResumeLayout(false);
|
||||||
panelMain.PerformLayout();
|
panelMain.PerformLayout();
|
||||||
panelButtons.ResumeLayout(false);
|
panelButtons.ResumeLayout(false);
|
||||||
|
panelContrast.ResumeLayout(false);
|
||||||
|
panelContrast.PerformLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)trackContrast).EndInit();
|
||||||
panelRotation.ResumeLayout(false);
|
panelRotation.ResumeLayout(false);
|
||||||
panelRotation.PerformLayout();
|
panelRotation.PerformLayout();
|
||||||
panelScaling.ResumeLayout(false);
|
panelScaling.ResumeLayout(false);
|
||||||
@@ -300,5 +357,9 @@
|
|||||||
private Panel panelRotation;
|
private Panel panelRotation;
|
||||||
private UI.RComboBox comboRotation;
|
private UI.RComboBox comboRotation;
|
||||||
private Label labelRotation;
|
private Label labelRotation;
|
||||||
|
private Panel panelContrast;
|
||||||
|
private Label labelContrast;
|
||||||
|
private Label labelContrastTitle;
|
||||||
|
private TrackBar trackContrast;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -37,9 +37,13 @@ namespace GHelper
|
|||||||
|
|
||||||
trackZoom.MouseUp += TrackZoom_MouseUp;
|
trackZoom.MouseUp += TrackZoom_MouseUp;
|
||||||
trackZoom.ValueChanged += TrackZoom_Changed;
|
trackZoom.ValueChanged += TrackZoom_Changed;
|
||||||
|
|
||||||
trackZoom.Value = Math.Min(trackZoom.Maximum, AppConfig.Get("matrix_zoom", 100));
|
trackZoom.Value = Math.Min(trackZoom.Maximum, AppConfig.Get("matrix_zoom", 100));
|
||||||
VisualiseZoom();
|
|
||||||
|
trackContrast.MouseUp += TrackContrast_MouseUp; ;
|
||||||
|
trackContrast.ValueChanged += TrackContrast_ValueChanged; ;
|
||||||
|
trackContrast.Value = Math.Min(trackContrast.Maximum, AppConfig.Get("matrix_contrast", 100));
|
||||||
|
|
||||||
|
VisualiseMatrix();
|
||||||
|
|
||||||
comboScaling.DropDownStyle = ComboBoxStyle.DropDownList;
|
comboScaling.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||||
comboScaling.SelectedIndex = AppConfig.Get("matrix_quality", 0);
|
comboScaling.SelectedIndex = AppConfig.Get("matrix_quality", 0);
|
||||||
@@ -55,6 +59,17 @@ namespace GHelper
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void TrackContrast_ValueChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
VisualiseMatrix();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void TrackContrast_MouseUp(object? sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
AppConfig.Set("matrix_contrast", trackContrast.Value);
|
||||||
|
SetMatrixPicture();
|
||||||
|
}
|
||||||
|
|
||||||
private void ComboRotation_SelectedValueChanged(object? sender, EventArgs e)
|
private void ComboRotation_SelectedValueChanged(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
AppConfig.Set("matrix_rotation", comboRotation.SelectedIndex);
|
AppConfig.Set("matrix_rotation", comboRotation.SelectedIndex);
|
||||||
@@ -77,18 +92,21 @@ namespace GHelper
|
|||||||
GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced);
|
GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void VisualiseZoom()
|
private void VisualiseMatrix()
|
||||||
{
|
{
|
||||||
labelZoom.Text = trackZoom.Value + "%";
|
labelZoom.Text = trackZoom.Value + "%";
|
||||||
|
labelContrast.Text = trackContrast.Value + "%";
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ButtonReset_Click(object? sender, EventArgs e)
|
private void ButtonReset_Click(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
AppConfig.Set("matrix_contrast", 100);
|
||||||
AppConfig.Set("matrix_zoom", 100);
|
AppConfig.Set("matrix_zoom", 100);
|
||||||
AppConfig.Set("matrix_x", 0);
|
AppConfig.Set("matrix_x", 0);
|
||||||
AppConfig.Set("matrix_y", 0);
|
AppConfig.Set("matrix_y", 0);
|
||||||
|
|
||||||
trackZoom.Value = 100;
|
trackZoom.Value = 100;
|
||||||
|
trackContrast.Value = 100;
|
||||||
|
|
||||||
SetMatrixPicture();
|
SetMatrixPicture();
|
||||||
|
|
||||||
@@ -102,7 +120,7 @@ namespace GHelper
|
|||||||
|
|
||||||
private void TrackZoom_Changed(object? sender, EventArgs e)
|
private void TrackZoom_Changed(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
VisualiseZoom();
|
VisualiseMatrix();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -195,7 +213,6 @@ namespace GHelper
|
|||||||
int matrixY = AppConfig.Get("matrix_y", 0);
|
int matrixY = AppConfig.Get("matrix_y", 0);
|
||||||
int matrixZoom = AppConfig.Get("matrix_zoom", 100);
|
int matrixZoom = AppConfig.Get("matrix_zoom", 100);
|
||||||
|
|
||||||
|
|
||||||
float scale = Math.Min((float)panelPicture.Width / (float)width, (float)panelPicture.Height / (float)height) * matrixZoom / 100;
|
float scale = Math.Min((float)panelPicture.Width / (float)width, (float)panelPicture.Height / (float)height) * matrixZoom / 100;
|
||||||
|
|
||||||
pictureMatrix.Width = (int)(width * scale);
|
pictureMatrix.Width = (int)(width * scale);
|
||||||
|
|||||||
@@ -239,10 +239,15 @@ namespace GHelper.Mode
|
|||||||
public void SetPower(bool launchAsAdmin = false)
|
public void SetPower(bool launchAsAdmin = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
bool allAMD = Program.acpi.IsAllAmdPPT();
|
||||||
|
|
||||||
int limit_total = AppConfig.GetMode("limit_total");
|
int limit_total = AppConfig.GetMode("limit_total");
|
||||||
int limit_cpu = AppConfig.GetMode("limit_cpu");
|
int limit_cpu = AppConfig.GetMode("limit_cpu");
|
||||||
|
int limit_slow = AppConfig.GetMode("limit_slow");
|
||||||
int limit_fast = AppConfig.GetMode("limit_fast");
|
int limit_fast = AppConfig.GetMode("limit_fast");
|
||||||
|
|
||||||
|
if (limit_slow < 0 || allAMD) limit_slow = limit_total;
|
||||||
|
|
||||||
if (limit_total > AsusACPI.MaxTotal) return;
|
if (limit_total > AsusACPI.MaxTotal) return;
|
||||||
if (limit_total < AsusACPI.MinTotal) return;
|
if (limit_total < AsusACPI.MinTotal) return;
|
||||||
|
|
||||||
@@ -252,11 +257,14 @@ namespace GHelper.Mode
|
|||||||
if (limit_fast > AsusACPI.MaxTotal) return;
|
if (limit_fast > AsusACPI.MaxTotal) return;
|
||||||
if (limit_fast < AsusACPI.MinTotal) return;
|
if (limit_fast < AsusACPI.MinTotal) return;
|
||||||
|
|
||||||
// SPL + SPPT togeher in one slider
|
if (limit_slow > AsusACPI.MaxTotal) return;
|
||||||
|
if (limit_slow < AsusACPI.MinTotal) return;
|
||||||
|
|
||||||
|
// SPL and SPPT
|
||||||
if (Program.acpi.DeviceGet(AsusACPI.PPT_TotalA0) >= 0)
|
if (Program.acpi.DeviceGet(AsusACPI.PPT_TotalA0) >= 0)
|
||||||
{
|
{
|
||||||
Program.acpi.DeviceSet(AsusACPI.PPT_TotalA0, limit_total, "PowerLimit A0");
|
Program.acpi.DeviceSet(AsusACPI.PPT_TotalA0, limit_total, "PowerLimit A0");
|
||||||
Program.acpi.DeviceSet(AsusACPI.PPT_APUA3, limit_total, "PowerLimit A3");
|
Program.acpi.DeviceSet(AsusACPI.PPT_APUA3, limit_slow, "PowerLimit A3");
|
||||||
customPower = limit_total;
|
customPower = limit_total;
|
||||||
}
|
}
|
||||||
else if (RyzenControl.IsAMD())
|
else if (RyzenControl.IsAMD())
|
||||||
|
|||||||
@@ -39,9 +39,9 @@
|
|||||||
"mode_base",
|
"mode_base",
|
||||||
"mode_name",
|
"mode_name",
|
||||||
"limit_total",
|
"limit_total",
|
||||||
|
"limit_slow",
|
||||||
"limit_fast",
|
"limit_fast",
|
||||||
"limit_cpu",
|
"limit_cpu",
|
||||||
"limit_total",
|
|
||||||
"fan_profile_cpu",
|
"fan_profile_cpu",
|
||||||
"fan_profile_gpu",
|
"fan_profile_gpu",
|
||||||
"fan_profile_mid",
|
"fan_profile_mid",
|
||||||
|
|||||||
@@ -414,7 +414,7 @@ Voulez-vous continuer ?</value>
|
|||||||
<value>Arrêter toutes les applications utilisant la dGPU lors du passage au mode Eco</value>
|
<value>Arrêter toutes les applications utilisant la dGPU lors du passage au mode Eco</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LaptopBacklight" xml:space="preserve">
|
<data name="LaptopBacklight" xml:space="preserve">
|
||||||
<value>Rétroéclairage de l'ordinateur</value>
|
<value>Rétroéclairage du clavier</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LaptopKeyboard" xml:space="preserve">
|
<data name="LaptopKeyboard" xml:space="preserve">
|
||||||
<value>Clavier de l'ordinateur</value>
|
<value>Clavier de l'ordinateur</value>
|
||||||
|
|||||||
@@ -124,10 +124,10 @@
|
|||||||
<value>无法连接到ASUS ACPI。 没有它应用程序将无法运行。 请尝试安装Asus System Control Interface驱动。</value>
|
<value>无法连接到ASUS ACPI。 没有它应用程序将无法运行。 请尝试安装Asus System Control Interface驱动。</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertAPUMemoryRestart" xml:space="preserve">
|
<data name="AlertAPUMemoryRestart" xml:space="preserve">
|
||||||
<value>Restart your device to apply changes</value>
|
<value>重新启动您的设备以应用更改</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertAPUMemoryRestartTitle" xml:space="preserve">
|
<data name="AlertAPUMemoryRestartTitle" xml:space="preserve">
|
||||||
<value>Restart now?</value>
|
<value>现在重启?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertDGPU" xml:space="preserve">
|
<data name="AlertDGPU" xml:space="preserve">
|
||||||
<value>看起来 GPU 正在被重度使用,是否禁用?</value>
|
<value>看起来 GPU 正在被重度使用,是否禁用?</value>
|
||||||
@@ -169,7 +169,7 @@
|
|||||||
<value>自动调整Windows电源模式</value>
|
<value>自动调整Windows电源模式</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="APUMemory" xml:space="preserve">
|
<data name="APUMemory" xml:space="preserve">
|
||||||
<value>Memory Assigned to GPU</value>
|
<value>分配给 GPU 的内存</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AsusServicesRunning" xml:space="preserve">
|
<data name="AsusServicesRunning" xml:space="preserve">
|
||||||
<value>正在运行的 Asus 服务</value>
|
<value>正在运行的 Asus 服务</value>
|
||||||
|
|||||||
@@ -134,7 +134,8 @@ namespace GHelper.USB
|
|||||||
{
|
{
|
||||||
var device = AsusHid.FindDevices(AsusHid.AURA_ID).FirstOrDefault();
|
var device = AsusHid.FindDevices(AsusHid.AURA_ID).FirstOrDefault();
|
||||||
if (device is null) return;
|
if (device is null) return;
|
||||||
Logger.WriteLine($"GA402: {device.ReleaseNumberBcd} {device.ReleaseNumber}");
|
Logger.WriteLine($"USB Version: {device.ReleaseNumberBcd} {device.ReleaseNumber}");
|
||||||
|
|
||||||
if (device.ReleaseNumberBcd >= 22 && device.ReleaseNumberBcd <= 25) isSingleColor = true;
|
if (device.ReleaseNumberBcd >= 22 && device.ReleaseNumberBcd <= 25) isSingleColor = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -632,14 +633,13 @@ namespace GHelper.USB
|
|||||||
bound.Y += bound.Height / 3;
|
bound.Y += bound.Height / 3;
|
||||||
bound.Height -= (int)Math.Round(bound.Height * (0.33f + 0.022f)); // cut 1/3 of the top screen + windows panel
|
bound.Height -= (int)Math.Round(bound.Height * (0.33f + 0.022f)); // cut 1/3 of the top screen + windows panel
|
||||||
|
|
||||||
Bitmap screen_low = screen_low = AmbientData.CamptureScreen(bound, 512, 288); //quality decreases greatly if it is less 512 ;
|
Bitmap screen_low = AmbientData.CamptureScreen(bound, 512, 288); //quality decreases greatly if it is less 512 ;
|
||||||
Bitmap screeb_pxl;
|
Bitmap screeb_pxl = AmbientData.ResizeImage(screen_low, 4, 2); // 4x2 zone. top for keyboard and bot for lightbar;
|
||||||
|
|
||||||
int zones = AURA_ZONES;
|
int zones = AURA_ZONES;
|
||||||
|
|
||||||
if (isStrix) // laptop with lightbar
|
if (isStrix) // laptop with lightbar
|
||||||
{
|
{
|
||||||
screeb_pxl = AmbientData.ResizeImage(screen_low, 4, 2); // 4x2 zone. top for keyboard and bot for lightbar
|
|
||||||
var mid_left = ColorUtils.GetMidColor(screeb_pxl.GetPixel(0, 1), screeb_pxl.GetPixel(1, 1));
|
var mid_left = ColorUtils.GetMidColor(screeb_pxl.GetPixel(0, 1), screeb_pxl.GetPixel(1, 1));
|
||||||
var mid_right = ColorUtils.GetMidColor(screeb_pxl.GetPixel(2, 1), screeb_pxl.GetPixel(3, 1));
|
var mid_right = ColorUtils.GetMidColor(screeb_pxl.GetPixel(2, 1), screeb_pxl.GetPixel(3, 1));
|
||||||
|
|
||||||
@@ -654,12 +654,12 @@ namespace GHelper.USB
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
zones = 1;
|
zones = 1;
|
||||||
screeb_pxl = AmbientData.ResizeImage(screen_low, 1, 1);
|
AmbientData.Colors[0].RGB = ColorUtils.HSV.UpSaturation(ColorUtils.GetDominantColor(screeb_pxl), (float)0.3);
|
||||||
AmbientData.Colors[0].RGB = ColorUtils.HSV.UpSaturation(screeb_pxl.GetPixel(0, 0), (float)0.3);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//screen_low.Save("big.jpg", ImageFormat.Jpeg);
|
||||||
|
//screeb_pxl.Save("small.jpg", ImageFormat.Jpeg);
|
||||||
|
|
||||||
//screeb_pxl.Save("test.jpg", ImageFormat.Jpeg);
|
|
||||||
screen_low.Dispose();
|
screen_low.Dispose();
|
||||||
screeb_pxl.Dispose();
|
screeb_pxl.Dispose();
|
||||||
|
|
||||||
|
|||||||
@@ -80,6 +80,7 @@ Each BIOS mode is paired with matching Windows Power Mode. You can adjust this s
|
|||||||
- ROG Harpe Ace Aim Lab Edition
|
- ROG Harpe Ace Aim Lab Edition
|
||||||
- ROG Keris Wireless
|
- ROG Keris Wireless
|
||||||
- ROG Chakram X (P708)
|
- ROG Chakram X (P708)
|
||||||
|
- ROG Chakram Core (P511)
|
||||||
- ROG Strix III Gladius III Aimpoint Wireless (P711)
|
- ROG Strix III Gladius III Aimpoint Wireless (P711)
|
||||||
- ROG Gladius III
|
- ROG Gladius III
|
||||||
- ROG Gladius III Wireless
|
- ROG Gladius III Wireless
|
||||||
@@ -96,7 +97,7 @@ Stop ``ArmouryCrateControlInterface`` service under windows Services app or you
|
|||||||
|
|
||||||
#### Battery charge limiter is not working
|
#### Battery charge limiter is not working
|
||||||
It could be that Asus services are overwriting this limit after. You may want to stop them by clicking "Stop" in the Asus Services section (under Extra).
|
It could be that Asus services are overwriting this limit after. You may want to stop them by clicking "Stop" in the Asus Services section (under Extra).
|
||||||
Please note: For some devices not every charge limit % may be working. Try to set standard **80%** to be sure.
|
Please note: For some devices not every charge limit % may be working. Some models support only 80% limit, so try to set standard **80%** to be sure.
|
||||||
|
|
||||||
#### I don't see GPU modes section
|
#### I don't see GPU modes section
|
||||||
Some older models (for example G14 2020) don't support disabling GPU on hardware level, therefore GPU section makes no sense for them and will be hidden
|
Some older models (for example G14 2020) don't support disabling GPU on hardware level, therefore GPU section makes no sense for them and will be hidden
|
||||||
|
|||||||
Reference in New Issue
Block a user