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