mirror of
https://github.com/unclshura/splitter.git
synced 2026-06-21 16:12:01 +00:00
40 lines
1.6 KiB
C#
40 lines
1.6 KiB
C#
using Avalonia.Data.Converters;
|
|
using Avalonia.Media;
|
|
using System.Globalization;
|
|
|
|
namespace Splitter_UI.Converters;
|
|
|
|
public sealed class ConsoleColorToBrushConverter : IValueConverter
|
|
{
|
|
public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
|
|
{
|
|
if (value is ConsoleColor c)
|
|
return new SolidColorBrush(ToColor(c));
|
|
|
|
return Brushes.White;
|
|
}
|
|
|
|
private static Color ToColor(ConsoleColor c) =>
|
|
c switch
|
|
{
|
|
ConsoleColor.Black => Colors.Black,
|
|
ConsoleColor.DarkBlue => Colors.DarkBlue,
|
|
ConsoleColor.DarkGreen => Colors.DarkGreen,
|
|
ConsoleColor.DarkCyan => Colors.DarkCyan,
|
|
ConsoleColor.DarkRed => Colors.DarkRed,
|
|
ConsoleColor.DarkMagenta => Colors.DarkMagenta,
|
|
ConsoleColor.DarkYellow => Colors.Olive,
|
|
ConsoleColor.Gray => Colors.Gray,
|
|
ConsoleColor.DarkGray => Colors.DarkGray,
|
|
ConsoleColor.Blue => Colors.Blue,
|
|
ConsoleColor.Green => Colors.Green,
|
|
ConsoleColor.Cyan => Colors.Cyan,
|
|
ConsoleColor.Red => Colors.Red,
|
|
ConsoleColor.Magenta => Colors.Magenta,
|
|
ConsoleColor.Yellow => Colors.Yellow,
|
|
ConsoleColor.White => Colors.White,
|
|
_ => Colors.White
|
|
};
|
|
public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) => throw new NotImplementedException();
|
|
}
|