mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8af8823ee4 | ||
|
|
ec0a1b710e | ||
|
|
2ac2e84161 | ||
|
|
14dc1741f7 | ||
|
|
fbed195194 | ||
|
|
0d002edf65 | ||
|
|
28a17562a8 |
@@ -1,9 +1,8 @@
|
|||||||
// Source thanks to https://github.com/vddCore/Starlight with some adjustments from me
|
// Source thanks to https://github.com/vddCore/Starlight with some adjustments from me
|
||||||
|
|
||||||
using Starlight.Communication;
|
using Starlight.Communication;
|
||||||
using System.Diagnostics;
|
|
||||||
using System.Management;
|
using System.Management;
|
||||||
using System.Runtime.CompilerServices;
|
using System.Drawing.Drawing2D;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace Starlight.AnimeMatrix
|
namespace Starlight.AnimeMatrix
|
||||||
@@ -104,13 +103,14 @@ namespace Starlight.AnimeMatrix
|
|||||||
_model = AnimeType.GA401;
|
_model = AnimeType.GA401;
|
||||||
|
|
||||||
MaxColumns = 33;
|
MaxColumns = 33;
|
||||||
dx = 0;
|
dx = 1;
|
||||||
|
|
||||||
//FullRows = 7;
|
//FullRows = 7;
|
||||||
//FullEvenRows = 3;
|
//FullEvenRows = 3;
|
||||||
|
|
||||||
MaxRows = 55;
|
MaxRows = 55;
|
||||||
LedCount = 1214;
|
LedCount = 1245;
|
||||||
|
|
||||||
UpdatePageLength = 410;
|
UpdatePageLength = 410;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -179,7 +179,8 @@ namespace Starlight.AnimeMatrix
|
|||||||
if (y < 11)
|
if (y < 11)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
return (y) / 2 - 5;
|
return (y) / 2 - 5;
|
||||||
}
|
}
|
||||||
@@ -359,43 +360,44 @@ namespace Starlight.AnimeMatrix
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void PresentText(string text, float fontSize = 8.5F)
|
public void PresentText(string text1, string text2 = "")
|
||||||
{
|
{
|
||||||
using (Bitmap bmp = new Bitmap(MaxColumns * 3, MaxRows))
|
using (Bitmap bmp = new Bitmap(MaxColumns * 3, MaxRows))
|
||||||
{
|
{
|
||||||
using (Graphics g = Graphics.FromImage(bmp))
|
using (Graphics g = Graphics.FromImage(bmp))
|
||||||
{
|
{
|
||||||
using (Font font = new Font("Arial", fontSize))
|
g.CompositingQuality = CompositingQuality.HighQuality;
|
||||||
|
g.SmoothingMode = SmoothingMode.AntiAlias;
|
||||||
|
|
||||||
|
using (Font font = new Font("Arial", 12F))
|
||||||
{
|
{
|
||||||
|
SizeF textSize = g.MeasureString(text1, font);
|
||||||
g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
|
g.DrawString(text1, font, Brushes.White, (MaxColumns*3 - textSize.Width)+3, -5);
|
||||||
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
|
|
||||||
|
|
||||||
/*
|
|
||||||
SizeF textSize = g.MeasureString(text, font);
|
|
||||||
g.TranslateTransform(bmp.Width / 2, bmp.Height / 2);
|
|
||||||
g.RotateTransform(33);
|
|
||||||
g.DrawString(text, font, Brushes.White, -textSize.Width/2, -textSize.Height / 2);
|
|
||||||
*/
|
|
||||||
|
|
||||||
g.DrawString(text, font, Brushes.White, 5, -2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (text2.Length > 0)
|
||||||
|
using (Font font = new Font("Arial", 9F))
|
||||||
|
{
|
||||||
|
SizeF textSize = g.MeasureString(text2, font);
|
||||||
|
g.DrawString(text2, font, Brushes.White, (MaxColumns * 3 - textSize.Width)+1, 25);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GenerateFrame(bmp, System.Drawing.Drawing2D.InterpolationMode.Bicubic);
|
GenerateFrame(bmp, InterpolationMode.Bicubic);
|
||||||
Present();
|
Present();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void GenerateFrame(Image image, System.Drawing.Drawing2D.InterpolationMode interpolation = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic)
|
public void GenerateFrame(Image image, InterpolationMode interpolation = InterpolationMode.HighQualityBicubic)
|
||||||
{
|
{
|
||||||
|
|
||||||
int width = MaxColumns * 3;
|
int width = MaxColumns/2 * 6;
|
||||||
int height = MaxRows;
|
int height = MaxRows;
|
||||||
|
|
||||||
int targetWidth = MaxColumns * 2;
|
int targetWidth = MaxColumns * 2;
|
||||||
|
|
||||||
float scale;
|
float scale;
|
||||||
|
|
||||||
using (Bitmap bmp = new Bitmap(targetWidth, height))
|
using (Bitmap bmp = new Bitmap(targetWidth, height))
|
||||||
@@ -408,8 +410,8 @@ namespace Starlight.AnimeMatrix
|
|||||||
var scaleHeight = (float)(image.Height * scale);
|
var scaleHeight = (float)(image.Height * scale);
|
||||||
|
|
||||||
graph.InterpolationMode = interpolation;
|
graph.InterpolationMode = interpolation;
|
||||||
graph.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
|
graph.CompositingQuality = CompositingQuality.HighQuality;
|
||||||
graph.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
|
graph.SmoothingMode = SmoothingMode.AntiAlias;
|
||||||
|
|
||||||
graph.DrawImage(image, (float)Math.Round(targetWidth - scaleWidth * targetWidth / width), 0, (float)Math.Round(scaleWidth * targetWidth / width), scaleHeight);
|
graph.DrawImage(image, (float)Math.Round(targetWidth - scaleWidth * targetWidth / width), 0, (float)Math.Round(scaleWidth * targetWidth / width), scaleHeight);
|
||||||
|
|
||||||
@@ -418,7 +420,7 @@ namespace Starlight.AnimeMatrix
|
|||||||
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)
|
if (x % 2 == (y+dx) % 2)
|
||||||
{
|
{
|
||||||
var pixel = bmp.GetPixel(x, y);
|
var pixel = bmp.GetPixel(x, y);
|
||||||
var color = (pixel.R + pixel.G + pixel.B) / 3;
|
var color = (pixel.R + pixel.G + pixel.B) / 3;
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using CustomControls;
|
using CustomControls;
|
||||||
|
using WinFormsSliderBar;
|
||||||
using System.Drawing.Drawing2D;
|
using System.Drawing.Drawing2D;
|
||||||
using System.Windows.Forms.DataVisualization.Charting;
|
using System.Windows.Forms.DataVisualization.Charting;
|
||||||
|
|
||||||
@@ -38,7 +39,7 @@ public static class ControlHelper
|
|||||||
foreMain = SystemColors.ControlText;
|
foreMain = SystemColors.ControlText;
|
||||||
foreAccent = Color.LightGray;
|
foreAccent = Color.LightGray;
|
||||||
borderMain = Color.LightGray;
|
borderMain = Color.LightGray;
|
||||||
buttonMain = Color.FromArgb(255, 230, 230, 230);
|
buttonMain = Color.FromArgb(255, 250, 250, 250);
|
||||||
}
|
}
|
||||||
|
|
||||||
container.BackColor = formBack;
|
container.BackColor = formBack;
|
||||||
@@ -53,7 +54,7 @@ public static class ControlHelper
|
|||||||
public static void Resize(RForm container, float baseScale = 2)
|
public static void Resize(RForm container, float baseScale = 2)
|
||||||
{
|
{
|
||||||
_scale = GetDpiScale(container).Value / baseScale;
|
_scale = GetDpiScale(container).Value / baseScale;
|
||||||
ResizeControls(container.Controls);
|
if (Math.Abs(_scale - 1) > 0.2) ResizeControls(container.Controls);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,9 +66,11 @@ public static class ControlHelper
|
|||||||
if (button != null && button.Image is not null)
|
if (button != null && button.Image is not null)
|
||||||
button.Image = ResizeImage(button.Image);
|
button.Image = ResizeImage(button.Image);
|
||||||
|
|
||||||
|
/*
|
||||||
var pictureBox = control as PictureBox;
|
var pictureBox = control as PictureBox;
|
||||||
if (pictureBox != null && pictureBox.BackgroundImage is not null)
|
if (pictureBox != null && pictureBox.BackgroundImage is not null)
|
||||||
pictureBox.BackgroundImage = ResizeImage(pictureBox.BackgroundImage);
|
pictureBox.BackgroundImage = ResizeImage(pictureBox.BackgroundImage);
|
||||||
|
*/
|
||||||
|
|
||||||
ResizeControls(control.Controls);
|
ResizeControls(control.Controls);
|
||||||
}
|
}
|
||||||
@@ -95,7 +98,7 @@ public static class ControlHelper
|
|||||||
if (pictureBox != null && pictureBox.BackgroundImage is not null)
|
if (pictureBox != null && pictureBox.BackgroundImage is not null)
|
||||||
pictureBox.BackgroundImage = AdjustImage(pictureBox.BackgroundImage);
|
pictureBox.BackgroundImage = AdjustImage(pictureBox.BackgroundImage);
|
||||||
|
|
||||||
|
|
||||||
var combo = control as RComboBox;
|
var combo = control as RComboBox;
|
||||||
if (combo != null)
|
if (combo != null)
|
||||||
{
|
{
|
||||||
@@ -111,6 +114,11 @@ public static class ControlHelper
|
|||||||
gb.ForeColor = foreMain;
|
gb.ForeColor = foreMain;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var sl = control as Slider;
|
||||||
|
if (sl != null)
|
||||||
|
{
|
||||||
|
sl.borderColor = buttonMain;
|
||||||
|
}
|
||||||
|
|
||||||
var chart = control as Chart;
|
var chart = control as Chart;
|
||||||
if (chart != null)
|
if (chart != null)
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
using Microsoft.Win32;
|
using Microsoft.Win32;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
|
using System.Diagnostics;
|
||||||
using System.Drawing.Drawing2D;
|
using System.Drawing.Drawing2D;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
@@ -30,9 +31,9 @@ namespace CustomControls
|
|||||||
return (int)registryValueObject <= 0;
|
return (int)registryValueObject <= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InitTheme(bool setDPI = true)
|
public bool InitTheme(bool setDPI = false)
|
||||||
{
|
{
|
||||||
bool newDarkTheme = IsDarkTheme();
|
bool newDarkTheme = CheckSystemDarkModeStatus();
|
||||||
bool changed = (darkTheme != newDarkTheme);
|
bool changed = (darkTheme != newDarkTheme);
|
||||||
darkTheme = newDarkTheme;
|
darkTheme = newDarkTheme;
|
||||||
|
|
||||||
@@ -45,16 +46,13 @@ namespace CustomControls
|
|||||||
ControlHelper.Adjust(this, darkTheme, changed);
|
ControlHelper.Adjust(this, darkTheme, changed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return changed;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public class RTrackBar : TrackBar
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public class RComboBox : ComboBox
|
public class RComboBox : ComboBox
|
||||||
{
|
{
|
||||||
private Color borderColor = Color.Gray;
|
private Color borderColor = Color.Gray;
|
||||||
@@ -71,6 +69,8 @@ namespace CustomControls
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private Color buttonColor = Color.FromArgb(255,230, 230, 230);
|
private Color buttonColor = Color.FromArgb(255,230, 230, 230);
|
||||||
[DefaultValue(typeof(Color), "230, 230, 230")]
|
[DefaultValue(typeof(Color), "230, 230, 230")]
|
||||||
public Color ButtonColor
|
public Color ButtonColor
|
||||||
|
|||||||
10
app/Fans.cs
10
app/Fans.cs
@@ -146,7 +146,7 @@ namespace GHelper
|
|||||||
InitPower();
|
InitPower();
|
||||||
InitBoost();
|
InitBoost();
|
||||||
|
|
||||||
comboBoost.SelectedIndexChanged += ComboBoost_Changed;
|
comboBoost.SelectedValueChanged += ComboBoost_Changed;
|
||||||
|
|
||||||
Shown += Fans_Shown;
|
Shown += Fans_Shown;
|
||||||
|
|
||||||
@@ -162,9 +162,11 @@ namespace GHelper
|
|||||||
|
|
||||||
private void ComboBoost_Changed(object? sender, EventArgs e)
|
private void ComboBoost_Changed(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (sender is null) return;
|
if (Program.config.getConfigPerf("auto_boost") != comboBoost.SelectedIndex)
|
||||||
ComboBox cmb = (ComboBox)sender;
|
{
|
||||||
NativeMethods.SetCPUBoost(cmb.SelectedIndex);
|
NativeMethods.SetCPUBoost(comboBoost.SelectedIndex);
|
||||||
|
Program.config.setConfigPerf("auto_boost", comboBoost.SelectedIndex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CheckApplyPower_Click(object? sender, EventArgs e)
|
private void CheckApplyPower_Click(object? sender, EventArgs e)
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
<PlatformTarget>x64</PlatformTarget>
|
<PlatformTarget>x64</PlatformTarget>
|
||||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||||
<AssemblyVersion>0.40</AssemblyVersion>
|
<AssemblyVersion>0.42</AssemblyVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
using System.Security.Cryptography;
|
||||||
|
using System.Xml.Linq;
|
||||||
using static Tools.ScreenInterrogatory;
|
using static Tools.ScreenInterrogatory;
|
||||||
|
|
||||||
namespace Tools
|
namespace Tools
|
||||||
@@ -683,6 +685,7 @@ public class NativeMethods
|
|||||||
PowerSetActiveScheme(IntPtr.Zero, activeSchemeGuid);
|
PowerSetActiveScheme(IntPtr.Zero, activeSchemeGuid);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
Logger.WriteLine("Boost " + boost);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void SetPowerScheme(int mode)
|
public static void SetPowerScheme(int mode)
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
using Microsoft.Win32;
|
using Microsoft.Win32;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Management;
|
using System.Management;
|
||||||
using System.Reflection;
|
|
||||||
using System.Text.Json;
|
|
||||||
|
|
||||||
namespace GHelper
|
namespace GHelper
|
||||||
{
|
{
|
||||||
@@ -61,13 +59,12 @@ namespace GHelper
|
|||||||
|
|
||||||
Application.EnableVisualStyles();
|
Application.EnableVisualStyles();
|
||||||
|
|
||||||
SystemEvents.UserPreferenceChanged += new
|
SystemEvents.UserPreferenceChanged += new UserPreferenceChangedEventHandler(SystemEvents_UserPreferenceChanged);
|
||||||
UserPreferenceChangedEventHandler(SystemEvents_UserPreferenceChanged);
|
|
||||||
|
|
||||||
var ds = settingsForm.Handle;
|
var ds = settingsForm.Handle;
|
||||||
|
|
||||||
trayIcon.MouseClick += TrayIcon_MouseClick;
|
trayIcon.MouseClick += TrayIcon_MouseClick;
|
||||||
|
|
||||||
|
|
||||||
wmi.SubscribeToEvents(WatcherEventArrived);
|
wmi.SubscribeToEvents(WatcherEventArrived);
|
||||||
|
|
||||||
@@ -106,13 +103,13 @@ namespace GHelper
|
|||||||
case UserPreferenceCategory.General:
|
case UserPreferenceCategory.General:
|
||||||
Debug.WriteLine("Theme Changed");
|
Debug.WriteLine("Theme Changed");
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
settingsForm.InitTheme(false);
|
settingsForm.InitTheme();
|
||||||
|
|
||||||
if (settingsForm.fans is not null && settingsForm.fans.Text != "")
|
if (settingsForm.fans is not null && settingsForm.fans.Text != "")
|
||||||
settingsForm.fans.InitTheme(false);
|
settingsForm.fans.InitTheme();
|
||||||
|
|
||||||
if (settingsForm.keyb is not null && settingsForm.keyb.Text != "")
|
if (settingsForm.keyb is not null && settingsForm.keyb.Text != "")
|
||||||
settingsForm.keyb.InitTheme(false);
|
settingsForm.keyb.InitTheme();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
35
app/Settings.Designer.cs
generated
35
app/Settings.Designer.cs
generated
@@ -40,12 +40,12 @@ namespace GHelper
|
|||||||
pictureMatrix = new PictureBox();
|
pictureMatrix = new PictureBox();
|
||||||
labelMatrix = new Label();
|
labelMatrix = new Label();
|
||||||
panelBattery = new Panel();
|
panelBattery = new Panel();
|
||||||
|
sliderBattery = new WinFormsSliderBar.Slider();
|
||||||
labelModel = new Label();
|
labelModel = new Label();
|
||||||
labelVersion = new Label();
|
labelVersion = new Label();
|
||||||
labelBattery = new Label();
|
labelBattery = new Label();
|
||||||
pictureBattery = new PictureBox();
|
pictureBattery = new PictureBox();
|
||||||
labelBatteryTitle = new Label();
|
labelBatteryTitle = new Label();
|
||||||
trackBattery = new TrackBar();
|
|
||||||
panelFooter = new Panel();
|
panelFooter = new Panel();
|
||||||
buttonQuit = new RButton();
|
buttonQuit = new RButton();
|
||||||
checkStartup = new CheckBox();
|
checkStartup = new CheckBox();
|
||||||
@@ -93,7 +93,6 @@ namespace GHelper
|
|||||||
((System.ComponentModel.ISupportInitialize)pictureMatrix).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureMatrix).BeginInit();
|
||||||
panelBattery.SuspendLayout();
|
panelBattery.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureBattery).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureBattery).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)trackBattery).BeginInit();
|
|
||||||
panelFooter.SuspendLayout();
|
panelFooter.SuspendLayout();
|
||||||
panelPerformance.SuspendLayout();
|
panelPerformance.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)picturePerf).BeginInit();
|
((System.ComponentModel.ISupportInitialize)picturePerf).BeginInit();
|
||||||
@@ -237,12 +236,12 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
panelBattery.AutoSize = true;
|
panelBattery.AutoSize = true;
|
||||||
panelBattery.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
panelBattery.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
|
panelBattery.Controls.Add(sliderBattery);
|
||||||
panelBattery.Controls.Add(labelModel);
|
panelBattery.Controls.Add(labelModel);
|
||||||
panelBattery.Controls.Add(labelVersion);
|
panelBattery.Controls.Add(labelVersion);
|
||||||
panelBattery.Controls.Add(labelBattery);
|
panelBattery.Controls.Add(labelBattery);
|
||||||
panelBattery.Controls.Add(pictureBattery);
|
panelBattery.Controls.Add(pictureBattery);
|
||||||
panelBattery.Controls.Add(labelBatteryTitle);
|
panelBattery.Controls.Add(labelBatteryTitle);
|
||||||
panelBattery.Controls.Add(trackBattery);
|
|
||||||
panelBattery.Dock = DockStyle.Top;
|
panelBattery.Dock = DockStyle.Top;
|
||||||
panelBattery.Location = new Point(10, 926);
|
panelBattery.Location = new Point(10, 926);
|
||||||
panelBattery.Margin = new Padding(8);
|
panelBattery.Margin = new Padding(8);
|
||||||
@@ -251,6 +250,17 @@ namespace GHelper
|
|||||||
panelBattery.Size = new Size(810, 163);
|
panelBattery.Size = new Size(810, 163);
|
||||||
panelBattery.TabIndex = 34;
|
panelBattery.TabIndex = 34;
|
||||||
//
|
//
|
||||||
|
// sliderBattery
|
||||||
|
//
|
||||||
|
sliderBattery.Location = new Point(16, 70);
|
||||||
|
sliderBattery.Max = 100;
|
||||||
|
sliderBattery.Min = 50;
|
||||||
|
sliderBattery.Name = "sliderBattery";
|
||||||
|
sliderBattery.Size = new Size(772, 40);
|
||||||
|
sliderBattery.TabIndex = 39;
|
||||||
|
sliderBattery.Text = "sliderBattery";
|
||||||
|
sliderBattery.Value = 80;
|
||||||
|
//
|
||||||
// labelModel
|
// labelModel
|
||||||
//
|
//
|
||||||
labelModel.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
labelModel.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
@@ -307,22 +317,6 @@ namespace GHelper
|
|||||||
labelBatteryTitle.TabIndex = 34;
|
labelBatteryTitle.TabIndex = 34;
|
||||||
labelBatteryTitle.Text = "Battery Charge Limit";
|
labelBatteryTitle.Text = "Battery Charge Limit";
|
||||||
//
|
//
|
||||||
// trackBattery
|
|
||||||
//
|
|
||||||
trackBattery.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
|
|
||||||
trackBattery.LargeChange = 10;
|
|
||||||
trackBattery.Location = new Point(20, 52);
|
|
||||||
trackBattery.Margin = new Padding(8, 4, 8, 4);
|
|
||||||
trackBattery.Maximum = 100;
|
|
||||||
trackBattery.Minimum = 50;
|
|
||||||
trackBattery.Name = "trackBattery";
|
|
||||||
trackBattery.Size = new Size(766, 90);
|
|
||||||
trackBattery.SmallChange = 5;
|
|
||||||
trackBattery.TabIndex = 33;
|
|
||||||
trackBattery.TickFrequency = 10;
|
|
||||||
trackBattery.TickStyle = TickStyle.TopLeft;
|
|
||||||
trackBattery.Value = 100;
|
|
||||||
//
|
|
||||||
// panelFooter
|
// panelFooter
|
||||||
//
|
//
|
||||||
panelFooter.AutoSize = true;
|
panelFooter.AutoSize = true;
|
||||||
@@ -1033,7 +1027,6 @@ namespace GHelper
|
|||||||
panelBattery.ResumeLayout(false);
|
panelBattery.ResumeLayout(false);
|
||||||
panelBattery.PerformLayout();
|
panelBattery.PerformLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureBattery).EndInit();
|
((System.ComponentModel.ISupportInitialize)pictureBattery).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)trackBattery).EndInit();
|
|
||||||
panelFooter.ResumeLayout(false);
|
panelFooter.ResumeLayout(false);
|
||||||
panelFooter.PerformLayout();
|
panelFooter.PerformLayout();
|
||||||
panelPerformance.ResumeLayout(false);
|
panelPerformance.ResumeLayout(false);
|
||||||
@@ -1069,7 +1062,6 @@ namespace GHelper
|
|||||||
private Label labelBattery;
|
private Label labelBattery;
|
||||||
private PictureBox pictureBattery;
|
private PictureBox pictureBattery;
|
||||||
private Label labelBatteryTitle;
|
private Label labelBatteryTitle;
|
||||||
private TrackBar trackBattery;
|
|
||||||
private Panel panelFooter;
|
private Panel panelFooter;
|
||||||
private RButton buttonQuit;
|
private RButton buttonQuit;
|
||||||
private CheckBox checkStartup;
|
private CheckBox checkStartup;
|
||||||
@@ -1118,5 +1110,6 @@ namespace GHelper
|
|||||||
private RButton buttonFans;
|
private RButton buttonFans;
|
||||||
private Label labelMidFan;
|
private Label labelMidFan;
|
||||||
private Label labelModel;
|
private Label labelModel;
|
||||||
|
private WinFormsSliderBar.Slider sliderBattery;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -26,12 +26,13 @@ namespace GHelper
|
|||||||
public Keyboard keyb;
|
public Keyboard keyb;
|
||||||
|
|
||||||
static AnimeMatrixDevice mat;
|
static AnimeMatrixDevice mat;
|
||||||
|
static int matrixTick = 0;
|
||||||
static long lastRefresh;
|
static long lastRefresh;
|
||||||
|
|
||||||
public SettingsForm()
|
public SettingsForm()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
InitTheme();
|
InitTheme(true);
|
||||||
|
|
||||||
FormClosing += SettingsForm_FormClosing;
|
FormClosing += SettingsForm_FormClosing;
|
||||||
|
|
||||||
@@ -114,11 +115,9 @@ namespace GHelper
|
|||||||
button120Hz.MouseMove += Button120Hz_MouseHover;
|
button120Hz.MouseMove += Button120Hz_MouseHover;
|
||||||
button120Hz.MouseLeave += ButtonScreen_MouseLeave;
|
button120Hz.MouseLeave += ButtonScreen_MouseLeave;
|
||||||
|
|
||||||
trackBattery.ValueChanged += TrackBattery_ValueChanged;
|
sliderBattery.ValueChanged += SliderBattery_ValueChanged;
|
||||||
Program.trayIcon.MouseMove += TrayIcon_MouseMove;
|
Program.trayIcon.MouseMove += TrayIcon_MouseMove;
|
||||||
|
|
||||||
//buttonStandard.Image = (Image)(new Bitmap(buttonStandard.Image, new Size(16, 16)));
|
|
||||||
|
|
||||||
aTimer = new System.Timers.Timer(500);
|
aTimer = new System.Timers.Timer(500);
|
||||||
aTimer.Elapsed += OnTimedEvent;
|
aTimer.Elapsed += OnTimedEvent;
|
||||||
|
|
||||||
@@ -127,7 +126,7 @@ namespace GHelper
|
|||||||
Program.unRegPowerNotify = NativeMethods.RegisterPowerSettingNotification(Handle, settingGuid.ConsoleDisplayState, NativeMethods.DEVICE_NOTIFY_WINDOW_HANDLE);
|
Program.unRegPowerNotify = NativeMethods.RegisterPowerSettingNotification(Handle, settingGuid.ConsoleDisplayState, NativeMethods.DEVICE_NOTIFY_WINDOW_HANDLE);
|
||||||
|
|
||||||
SetVersionLabel("Version: " + Assembly.GetExecutingAssembly().GetName().Version);
|
SetVersionLabel("Version: " + Assembly.GetExecutingAssembly().GetName().Version);
|
||||||
|
|
||||||
string model = Program.config.GetModel();
|
string model = Program.config.GetModel();
|
||||||
int trim = model.LastIndexOf("_");
|
int trim = model.LastIndexOf("_");
|
||||||
if (trim > 0) model = model.Substring(0, trim);
|
if (trim > 0) model = model.Substring(0, trim);
|
||||||
@@ -145,10 +144,9 @@ namespace GHelper
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void SliderBattery_ValueChanged(object? sender, EventArgs e)
|
||||||
private void TrackBattery_ValueChanged(object? sender, EventArgs e)
|
|
||||||
{
|
{
|
||||||
SetBatteryChargeLimit(trackBattery.Value);
|
SetBatteryChargeLimit(sliderBattery.Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -356,7 +354,29 @@ namespace GHelper
|
|||||||
mat.PresentNextFrame();
|
mat.PresentNextFrame();
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
mat.PresentText(DateTime.Now.ToString("H:mm:ss"));
|
string format1, format2;
|
||||||
|
if (CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern.Contains("H"))
|
||||||
|
{
|
||||||
|
format1 = "H:mm";
|
||||||
|
format2 = "";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
format1 = "h:mm";
|
||||||
|
format2 = "tt";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (matrixTick > 0)
|
||||||
|
{
|
||||||
|
format1 = format1.Replace(":", " ");
|
||||||
|
matrixTick = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
matrixTick++;
|
||||||
|
}
|
||||||
|
|
||||||
|
mat.PresentText(DateTime.Now.ToString(format1), DateTime.Now.ToString(format2));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -726,7 +746,7 @@ namespace GHelper
|
|||||||
bool overdriveSetting = (Program.config.getConfig("no_overdrive") != 1);
|
bool overdriveSetting = (Program.config.getConfig("no_overdrive") != 1);
|
||||||
|
|
||||||
int overdrive = Program.wmi.DeviceGet(ASUSWmi.ScreenOverdrive);
|
int overdrive = Program.wmi.DeviceGet(ASUSWmi.ScreenOverdrive);
|
||||||
|
|
||||||
int miniled = Program.wmi.DeviceGet(ASUSWmi.ScreenMiniled);
|
int miniled = Program.wmi.DeviceGet(ASUSWmi.ScreenMiniled);
|
||||||
|
|
||||||
bool screenEnabled = (frequency >= 0);
|
bool screenEnabled = (frequency >= 0);
|
||||||
@@ -915,7 +935,8 @@ namespace GHelper
|
|||||||
|
|
||||||
labelPerf.Text = "Performance Mode+";
|
labelPerf.Text = "Performance Mode+";
|
||||||
|
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
labelPerf.Text = "Performance Mode";
|
labelPerf.Text = "Performance Mode";
|
||||||
}
|
}
|
||||||
@@ -932,6 +953,10 @@ namespace GHelper
|
|||||||
timer.Start();
|
timer.Start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Program.config.getConfigPerf("auto_boost") != -1)
|
||||||
|
{
|
||||||
|
NativeMethods.SetCPUBoost(Program.config.getConfigPerf("auto_boost"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetPerformanceMode(int PerformanceMode = ASUSWmi.PerformanceBalanced, bool notify = false)
|
public void SetPerformanceMode(int PerformanceMode = ASUSWmi.PerformanceBalanced, bool notify = false)
|
||||||
@@ -991,6 +1016,7 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
fans.InitFans();
|
fans.InitFans();
|
||||||
fans.InitPower();
|
fans.InitPower();
|
||||||
|
fans.InitBoost();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1298,8 +1324,10 @@ namespace GHelper
|
|||||||
|
|
||||||
if (limit < 40 || limit > 100) return;
|
if (limit < 40 || limit > 100) return;
|
||||||
|
|
||||||
|
//Debug.WriteLine(limit);
|
||||||
|
|
||||||
labelBatteryTitle.Text = "Battery Charge Limit: " + limit.ToString() + "%";
|
labelBatteryTitle.Text = "Battery Charge Limit: " + limit.ToString() + "%";
|
||||||
trackBattery.Value = limit;
|
sliderBattery.Value = limit;
|
||||||
|
|
||||||
Program.wmi.DeviceSet(ASUSWmi.BatteryLimit, limit);
|
Program.wmi.DeviceSet(ASUSWmi.BatteryLimit, limit);
|
||||||
Program.config.setConfig("charge_limit", limit);
|
Program.config.setConfig("charge_limit", limit);
|
||||||
|
|||||||
168
app/Slider.cs
Normal file
168
app/Slider.cs
Normal file
@@ -0,0 +1,168 @@
|
|||||||
|
using System.Drawing.Drawing2D;
|
||||||
|
|
||||||
|
namespace WinFormsSliderBar
|
||||||
|
{
|
||||||
|
public static class GraphicsExtensions
|
||||||
|
{
|
||||||
|
public static void DrawCircle(this Graphics g, Pen pen,
|
||||||
|
float centerX, float centerY, float radius)
|
||||||
|
{
|
||||||
|
g.DrawEllipse(pen, centerX - radius, centerY - radius,
|
||||||
|
radius + radius, radius + radius);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void FillCircle(this Graphics g, Brush brush,
|
||||||
|
float centerX, float centerY, float radius)
|
||||||
|
{
|
||||||
|
g.FillEllipse(brush, centerX - radius, centerY - radius,
|
||||||
|
radius + radius, radius + radius);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class Slider : Control
|
||||||
|
{
|
||||||
|
private float _radius;
|
||||||
|
private PointF _thumbPos;
|
||||||
|
private SizeF _barSize;
|
||||||
|
private PointF _barPos;
|
||||||
|
|
||||||
|
private int _step = 5;
|
||||||
|
|
||||||
|
public Color accentColor = Color.FromArgb(255, 58, 174, 239);
|
||||||
|
public Color borderColor = Color.White;
|
||||||
|
|
||||||
|
public event EventHandler ValueChanged;
|
||||||
|
|
||||||
|
public Slider()
|
||||||
|
{
|
||||||
|
// This reduces flicker
|
||||||
|
DoubleBuffered = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int _min = 0;
|
||||||
|
public int Min
|
||||||
|
{
|
||||||
|
get => _min;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_min = value;
|
||||||
|
RecalculateParameters();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private int _max = 100;
|
||||||
|
public int Max
|
||||||
|
{
|
||||||
|
get => _max;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_max = value;
|
||||||
|
RecalculateParameters();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private int _value = 50;
|
||||||
|
public int Value
|
||||||
|
{
|
||||||
|
get => _value;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
|
||||||
|
value = (int)Math.Round(value / (float)_step) * _step;
|
||||||
|
|
||||||
|
if (_value != value)
|
||||||
|
{
|
||||||
|
_value = value;
|
||||||
|
ValueChanged?.Invoke(this, EventArgs.Empty);
|
||||||
|
RecalculateParameters();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnPaint(PaintEventArgs e)
|
||||||
|
{
|
||||||
|
base.OnPaint(e);
|
||||||
|
|
||||||
|
Brush brushAccent = new SolidBrush(accentColor);
|
||||||
|
Brush brushEmpty = new SolidBrush(Color.Gray);
|
||||||
|
Brush brushBorder = new SolidBrush(borderColor);
|
||||||
|
|
||||||
|
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
|
||||||
|
e.Graphics.FillRectangle(brushEmpty,
|
||||||
|
_barPos.X, _barPos.Y, _barSize.Width, _barSize.Height);
|
||||||
|
e.Graphics.FillRectangle(brushAccent,
|
||||||
|
_barPos.X, _barPos.Y, _thumbPos.X - _barPos.X, _barSize.Height);
|
||||||
|
|
||||||
|
e.Graphics.FillCircle(brushBorder, _thumbPos.X, _thumbPos.Y, _radius);
|
||||||
|
e.Graphics.FillCircle(brushAccent, _thumbPos.X, _thumbPos.Y, 0.7f * _radius);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnResize(EventArgs e)
|
||||||
|
{
|
||||||
|
base.OnResize(e);
|
||||||
|
RecalculateParameters();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RecalculateParameters()
|
||||||
|
{
|
||||||
|
_radius = 0.4F * ClientSize.Height;
|
||||||
|
_barSize = new SizeF(ClientSize.Width - 4 * _radius, ClientSize.Height * 0.15F);
|
||||||
|
_barPos = new PointF(_radius, (ClientSize.Height - _barSize.Height) / 2);
|
||||||
|
_thumbPos = new PointF(
|
||||||
|
_barSize.Width / (Max - Min) * (Value - Min) + _barPos.X,
|
||||||
|
_barPos.Y + 0.5f * _barSize.Height);
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool _moving = false;
|
||||||
|
SizeF _delta;
|
||||||
|
|
||||||
|
protected override void OnMouseDown(MouseEventArgs e)
|
||||||
|
{
|
||||||
|
base.OnMouseDown(e);
|
||||||
|
|
||||||
|
// Difference between tumb and mouse position.
|
||||||
|
_delta = new SizeF(e.Location.X - _thumbPos.X, e.Location.Y - _thumbPos.Y);
|
||||||
|
if (_delta.Width * _delta.Width + _delta.Height * _delta.Height <= _radius * _radius)
|
||||||
|
{
|
||||||
|
// Clicking inside thumb.
|
||||||
|
_moving = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
_calculateValue(e);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void _calculateValue(MouseEventArgs e)
|
||||||
|
{
|
||||||
|
float thumbX = e.Location.X; // - _delta.Width;
|
||||||
|
if (thumbX < _barPos.X)
|
||||||
|
{
|
||||||
|
thumbX = _barPos.X;
|
||||||
|
}
|
||||||
|
else if (thumbX > _barPos.X + _barSize.Width)
|
||||||
|
{
|
||||||
|
thumbX = _barPos.X + _barSize.Width;
|
||||||
|
}
|
||||||
|
Value = (int)Math.Round(Min + (thumbX - _barPos.X) * (Max - Min) / _barSize.Width);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnMouseMove(MouseEventArgs e)
|
||||||
|
{
|
||||||
|
base.OnMouseMove(e);
|
||||||
|
if (_moving)
|
||||||
|
{
|
||||||
|
_calculateValue(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnMouseUp(MouseEventArgs e)
|
||||||
|
{
|
||||||
|
base.OnMouseUp(e);
|
||||||
|
_moving = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -61,7 +61,8 @@ PPTs are shown for G14 2022, for other models PPTs will be different as they are
|
|||||||
## :question: FAQ
|
## :question: FAQ
|
||||||
|
|
||||||
### How do I stop Armory Crate install popup appearing every time I press M4 / Rog key?
|
### How do I stop Armory Crate install popup appearing every time I press M4 / Rog key?
|
||||||
Go to BIOS (F2 on boot), open Advanced Settings and disable "Armory Control Interface". If it still appears - delete or move somwhere following file C:\Windows\System32\ASUSACCI\ArmouryCrateKeyControl.exe
|
Go to BIOS (F2 on boot), open Advanced Settings and disable "Armory Control Interface".
|
||||||
|
If it still appears - delete or move somwhere following file ``C:\Windows\System32\ASUSACCI\ArmouryCrateKeyControl.exe``
|
||||||
|
|
||||||
### Why Ultimate GPU mode is not available on my laptop?
|
### Why Ultimate GPU mode is not available on my laptop?
|
||||||
Ultimate mode is supported (by hardware) only on G14 2022 (and possibly other models from 2022+)
|
Ultimate mode is supported (by hardware) only on G14 2022 (and possibly other models from 2022+)
|
||||||
|
|||||||
Reference in New Issue
Block a user