42 instantiations of PanelColor
Aspire.Tray.Tests (42)
src\Aspire.Tray\Common\TrayPanelPalette.cs (4)
23
?
new
((byte)(value >> 16), (byte)(value >> 8), (byte)value)
24
:
new
((byte)(value >> 24), (byte)(value >> 16), (byte)(value >> 8), (byte)value);
27
public static PanelColor FromRgba(byte r, byte g, byte b, double alpha) =>
new
(r, g, b, (byte)Math.Round(Math.Clamp(alpha, 0, 1) * 255));
35
return
new
(
TrayPanelTests.cs (38)
860
TrayPanelPalette.FromSystemColors(
new
(0, 0, 0),
new
(255, 255, 255),
new
(26, 235, 255),
new
(63, 242, 63)) })
1007
Assert.Equal(new
PanelColor
(0xF9, 0xF9, 0xFB), TrayPanelPalette.Light.Background);
1008
Assert.Equal(new
PanelColor
(0x6A, 0x4B, 0xD6), TrayPanelPalette.Light.Accent);
1009
Assert.Equal(new
PanelColor
(0, 0, 0, 20), TrayPanelPalette.Light.Separator);
1010
Assert.Equal(new
PanelColor
(0x25, 0x25, 0x29), TrayPanelPalette.Dark.Background);
1011
Assert.Equal(new
PanelColor
(255, 255, 255, 18), TrayPanelPalette.Dark.Hover);
1013
Assert.Equal(new
PanelColor
(128, 128, 128), new
PanelColor
(255, 255, 255, 128).Over(
new
(0, 0, 0)));
1072
"hc-black" => TrayPanelPalette.FromSystemColors(
new
(0, 0, 0),
new
(255, 255, 255),
new
(26, 235, 255),
new
(63, 242, 63)),
1073
"hc-white" => TrayPanelPalette.FromSystemColors(
new
(255, 255, 255),
new
(0, 0, 0),
new
(55, 0, 110),
new
(96, 0, 0)),
1074
"hc-aquatic" => TrayPanelPalette.FromSystemColors(
new
(32, 32, 32),
new
(255, 255, 255),
new
(142, 227, 240),
new
(167, 167, 167)),
1075
"hc-desert" => TrayPanelPalette.FromSystemColors(
new
(255, 250, 239),
new
(61, 61, 61),
new
(144, 57, 4),
new
(103, 103, 103)),
1076
_ => TrayPanelPalette.FromSystemColors(
new
(0, 0, 0),
new
(255, 255, 255),
new
(26, 235, 255),
new
(40, 40, 40))
1129
var palette = TrayPanelPalette.FromSystemColors(
new
(0, 0, 0),
new
(255, 255, 255),
new
(26, 235, 255),
new
(63, 242, 63));
1133
Assert.Equal(new
PanelColor
(255, 255, 255), palette.TextSecondary);
1135
text => Assert.Equal(new
PanelColor
(255, 255, 255), text.Color));
99 references to PanelColor
Aspire.Tray.Tests (99)
Helpers\TrayPanelSvgRenderer.cs (1)
198
private static object[] Paint(string name,
PanelColor
color)
src\Aspire.Tray\Common\TrayPanel.cs (5)
1079
var
color = !enabled ? palette.TextTertiary.WithAlpha(0.45)
1152
var
iconColor = _hover == key ? palette.TextPrimary : palette.TextSecondary;
1256
PanelColor
.FromRgba(0, 0, 0, _pressed == acceptKey ? 0.22 : 0.12)));
1356
: (
PanelColor
?)null;
1435
internal static (string Text,
PanelColor
Dot) GetHeaderStatus(TrayViewState state, TrayPanelPalette palette)
src\Aspire.Tray\Common\TrayPanelGlyphs.cs (5)
91
void Disc(
PanelColor
color) => Fill(PanelPath.Circle(10, 10, 8), color);
92
void Fill(PanelPath path,
PanelColor
color) => commands.Add(new FillPathCommand(path.Transform(scale, bounds.X, bounds.Y), color));
93
void Stroke(PanelPath path,
PanelColor
color, double width)
97
public static void AddIcon(List<PanelCommand> commands, PanelIcon icon, PanelRect bounds,
PanelColor
color)
209
var
trackColor = on ? palette.Accent : palette.Neutral.WithAlpha(0.35);
src\Aspire.Tray\Common\TrayPanelPalette.cs (77)
14
public static
PanelColor
FromHex(string hex)
27
public static
PanelColor
FromRgba(byte r, byte g, byte b, double alpha) => new(r, g, b, (byte)Math.Round(Math.Clamp(alpha, 0, 1) * 255));
29
public
PanelColor
WithAlpha(double alpha) => this with { A = (byte)Math.Round(Math.Clamp(alpha, 0, 1) * 255) };
32
public
PanelColor
Over(
PanelColor
background)
52
PanelColor
Background,
53
PanelColor
Gutter,
54
PanelColor
Separator,
55
PanelColor
Border,
56
PanelColor
TextPrimary,
57
PanelColor
TextSecondary,
58
PanelColor
TextTertiary,
59
PanelColor
Hover,
60
PanelColor
Pressed,
61
PanelColor
Accent,
62
PanelColor
Success,
63
PanelColor
Warning,
64
PanelColor
Danger,
65
PanelColor
DangerFill,
66
PanelColor
Neutral,
67
PanelColor
Banner,
68
PanelColor
BannerText,
69
PanelColor
OnColor,
70
PanelColor
SuccessMark,
71
PanelColor
WarningMark,
72
PanelColor
DangerMark,
73
PanelColor
NeutralMark)
81
private static readonly
PanelColor
s_white =
PanelColor
.FromHex("#FFFFFF");
82
private static readonly
PanelColor
s_darkMark =
PanelColor
.FromHex("#1C1C1E");
88
public
PanelColor
Focus => Accent;
95
public static double ContrastRatio(
PanelColor
first,
PanelColor
second)
101
static double Luminance(
PanelColor
color) => 0.2126 * Channel(color.R) + 0.7152 * Channel(color.G) + 0.0722 * Channel(color.B);
112
Background:
PanelColor
.FromHex("#F9F9FB"),
113
Gutter:
PanelColor
.FromHex("#EFEFF3"),
114
Separator:
PanelColor
.FromRgba(0, 0, 0, 0.08),
115
Border:
PanelColor
.FromRgba(0, 0, 0, 0.12),
118
TextPrimary:
PanelColor
.FromHex("#1C1C1E"),
119
TextSecondary:
PanelColor
.FromHex("#5F5F66"),
120
TextTertiary:
PanelColor
.FromHex("#64646C"),
121
Hover:
PanelColor
.FromRgba(0, 0, 0, 0.05),
122
Pressed:
PanelColor
.FromRgba(0, 0, 0, 0.09),
123
Accent:
PanelColor
.FromHex("#6A4BD6"),
124
Success:
PanelColor
.FromHex("#1E9E57"),
125
Warning:
PanelColor
.FromHex("#D98A00"),
126
Danger:
PanelColor
.FromHex("#BC3030"),
127
DangerFill:
PanelColor
.FromHex("#BC3030"),
128
Neutral:
PanelColor
.FromHex("#8E8E96"),
129
Banner:
PanelColor
.FromHex("#FFF4DB"),
130
BannerText:
PanelColor
.FromHex("#6B4500"),
141
Background:
PanelColor
.FromHex("#252529"),
142
Gutter:
PanelColor
.FromHex("#1E1E21"),
143
Separator:
PanelColor
.FromRgba(255, 255, 255, 0.08),
144
Border:
PanelColor
.FromRgba(255, 255, 255, 0.12),
145
TextPrimary:
PanelColor
.FromHex("#F2F2F5"),
146
TextSecondary:
PanelColor
.FromHex("#B4B4BC"),
147
TextTertiary:
PanelColor
.FromHex("#A8A8B0"),
148
Hover:
PanelColor
.FromRgba(255, 255, 255, 0.07),
149
Pressed:
PanelColor
.FromRgba(255, 255, 255, 0.11),
150
Accent:
PanelColor
.FromHex("#9C85F2"),
151
Success:
PanelColor
.FromHex("#34C46E"),
152
Warning:
PanelColor
.FromHex("#F2A93B"),
155
Danger:
PanelColor
.FromHex("#FC8C87"),
156
DangerFill:
PanelColor
.FromHex("#C8403C"),
157
Neutral:
PanelColor
.FromHex("#8E8E96"),
158
Banner:
PanelColor
.FromHex("#3A2F17"),
159
BannerText:
PanelColor
.FromHex("#F7D9A0"),
189
public static TrayPanelPalette FromSystemColors(
PanelColor
window,
PanelColor
windowText,
PanelColor
highlight,
190
PanelColor
grayText) => new(
224
private static
PanelColor
MarkOn(
PanelColor
fill,
PanelColor
preferred,
PanelColor
alternate)
src\Aspire.Tray\Common\TrayPanelScene.cs (3)
53
internal sealed record FillPathCommand(PanelPath Path,
PanelColor
Color) : PanelCommand;
56
internal sealed record StrokePathCommand(PanelPath Path,
PanelColor
Color, double Width) : PanelCommand;
67
PanelColor
Color,
TrayPanelTests.cs (8)
1012
Assert.Equal("#11223344",
PanelColor
.FromHex("#11223344").ToHex());
1033
Assert.True(TrayPanelPalette.ContrastRatio(palette.OnColor,
PanelColor
.FromRgba(0, 0, 0, 0.22).Over(palette.DangerFill)) >= 4.5);
1047
foreach (
var
text in new[] { palette.TextSecondary, palette.TextTertiary, palette.Danger })
1113
var
white =
PanelColor
.FromHex("#FFFFFF");
1114
var
dark =
PanelColor
.FromHex("#1C1C1E");
1122
static
PanelColor
[] Marks(TrayPanelPalette palette)