This repository has been archived by the owner on Jun 1, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathAMLPalette.cs
109 lines (102 loc) · 4.95 KB
/
AMLPalette.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
using System.Collections.Generic;
using System.Drawing;
using System.Runtime.Serialization;
using System.Windows.Forms;
namespace AstroModLoader
{
public enum ModLoaderTheme
{
[EnumMember(Value = "dark")]
Dark,
[EnumMember(Value = "light")]
Light,
[EnumMember(Value = "blue")]
Blue
}
public static class AMLPalette
{
public static int BorderPenWidth = 2;
public static Color BackColor = Color.FromArgb(40, 42, 45);
public static Color ButtonBackColor = Color.FromArgb(51, 51, 51);
public static Color ForeColor = Color.FromArgb(225, 225, 225);
public static Color FooterColor = Color.FromArgb(36, 38, 40);
public static Color FooterLineColor = Color.FromArgb(60, 60, 60);
public static Color DropDownBackgroundColor = Color.FromArgb(55, 55, 55);
public static Color HighlightColor = Color.FromArgb(85, 85, 85);
public static Color AccentColor = Color.FromArgb(255, 231, 149);
public static Color LinkColor = Color.FromArgb(18, 154, 240);
public static Color WarningColor = Color.FromArgb(232, 119, 34);
public static ModLoaderTheme CurrentTheme = ModLoaderTheme.Dark;
public static readonly Dictionary<string, Color> PresetMap = new Dictionary<string, Color>
{
{ "Sleek Yellow", Color.FromArgb(255, 231, 149) },
{ "Fern Green", Color.FromArgb(171, 238, 151) },
{ "Soft Pink", Color.FromArgb(245, 140, 175) },
{ "Astro Blue", Color.FromArgb(18, 154, 240) },
{ "Alert Red", Color.FromArgb(227, 55, 24) },
{ "Safety Orange", Color.FromArgb(232, 119, 34) },
{ "Asphalt Gray", Color.FromArgb(96, 96, 96) },
{ "Polar White", Color.FromArgb(255, 255, 255) },
{ "Jet Black", Color.FromArgb(0, 0, 0) },
};
public static void RefreshTheme(Form frm)
{
AMLUtils.InvokeUI(() =>
{
RefreshThemeInternal(frm);
});
}
private static void RefreshThemeInternal(Form frm)
{
switch (CurrentTheme)
{
case ModLoaderTheme.Dark:
BackColor = Color.FromArgb(40, 42, 45);
ButtonBackColor = Color.FromArgb(51, 51, 51);
ForeColor = Color.FromArgb(225, 225, 225);
FooterColor = Color.FromArgb(36, 38, 40);
FooterLineColor = Color.FromArgb(60, 60, 60);
DropDownBackgroundColor = Color.FromArgb(55, 55, 55);
HighlightColor = Color.FromArgb(85, 85, 85);
break;
case ModLoaderTheme.Light:
BackColor = Color.FromArgb(255, 255, 255);
ButtonBackColor = Color.FromArgb(240, 240, 240);
ForeColor = Color.FromArgb(41, 41, 41);
FooterColor = Color.FromArgb(245, 245, 245);
FooterLineColor = Color.FromArgb(230, 230, 230);
DropDownBackgroundColor = Color.FromArgb(220, 220, 220);
HighlightColor = Color.FromArgb(210, 210, 210);
break;
case ModLoaderTheme.Blue:
BackColor = Color.FromArgb(37, 46, 61);
ButtonBackColor = Color.FromArgb(49, 61, 81);
ForeColor = Color.FromArgb(225, 225, 225);
FooterColor = Color.FromArgb(31, 38, 51);
FooterLineColor = Color.FromArgb(59, 73, 96);
DropDownBackgroundColor = Color.FromArgb(49, 61, 81);
HighlightColor = Color.FromArgb(61, 81, 112);
break;
}
frm.Icon = Properties.Resources.icon;
frm.BackColor = AMLPalette.BackColor;
frm.ForeColor = AMLPalette.ForeColor;
if (frm is Form1 frm1)
{
frm1.dataGridView1.BackgroundColor = AMLPalette.BackColor;
frm1.dataGridView1.ColumnHeadersDefaultCellStyle.BackColor = AMLPalette.BackColor;
frm1.dataGridView1.ColumnHeadersDefaultCellStyle.ForeColor = AMLPalette.ForeColor;
frm1.dataGridView1.ColumnHeadersDefaultCellStyle.SelectionBackColor = AMLPalette.HighlightColor;
frm1.dataGridView1.ColumnHeadersDefaultCellStyle.SelectionForeColor = AMLPalette.ForeColor;
frm1.dataGridView1.DefaultCellStyle = frm1.dataGridView1.ColumnHeadersDefaultCellStyle;
if (frm1.TableManager != null) frm1.TableManager.Refresh();
frm1.modInfo.LinkColor = AMLPalette.LinkColor;
frm1.modInfo.ActiveLinkColor = AMLPalette.LinkColor;
frm1.footerPanel.BackColor = AMLPalette.FooterColor;
frm1.dataGridView1.GridColor = AMLPalette.AccentColor;
frm1.UpdateVersionLabel();
}
frm.RefreshAllButtonsInControl();
}
}
}