Files

65 lines
2.2 KiB
C#

using System.Drawing;
using System.Windows;
using System.Windows.Forms;
using System.Windows.Media;
namespace AxCopilot.Views;
internal sealed class ModernColorTable : ProfessionalColorTable
{
private static System.Drawing.Color Bg => TC("LauncherBackground", System.Drawing.Color.FromArgb(250, 250, 252));
private static System.Drawing.Color Hover => TC("ItemHoverBackground", System.Drawing.Color.FromArgb(234, 234, 247));
private static System.Drawing.Color Border => TC("BorderColor", System.Drawing.Color.FromArgb(210, 210, 232));
private static System.Drawing.Color Sep => TC("SeparatorColor", System.Drawing.Color.FromArgb(228, 228, 242));
public override System.Drawing.Color MenuBorder => Border;
public override System.Drawing.Color ToolStripDropDownBackground => Bg;
public override System.Drawing.Color ImageMarginGradientBegin => Bg;
public override System.Drawing.Color ImageMarginGradientMiddle => Bg;
public override System.Drawing.Color ImageMarginGradientEnd => Bg;
public override System.Drawing.Color MenuItemSelected => Hover;
public override System.Drawing.Color MenuItemSelectedGradientBegin => Hover;
public override System.Drawing.Color MenuItemSelectedGradientEnd => Hover;
public override System.Drawing.Color MenuItemBorder => System.Drawing.Color.Transparent;
public override System.Drawing.Color MenuItemPressedGradientBegin => Hover;
public override System.Drawing.Color MenuItemPressedGradientEnd => Hover;
public override System.Drawing.Color SeparatorLight => Sep;
public override System.Drawing.Color SeparatorDark => Sep;
public override System.Drawing.Color CheckBackground => System.Drawing.Color.Transparent;
public override System.Drawing.Color CheckSelectedBackground => System.Drawing.Color.Transparent;
public override System.Drawing.Color CheckPressedBackground => System.Drawing.Color.Transparent;
private static System.Drawing.Color TC(string key, System.Drawing.Color fb)
{
try
{
if (System.Windows.Application.Current?.Resources[key] is SolidColorBrush { Color: var color } solidColorBrush)
{
return System.Drawing.Color.FromArgb(color.A, solidColorBrush.Color.R, solidColorBrush.Color.G, solidColorBrush.Color.B);
}
}
catch
{
}
return fb;
}
}