diff --git a/demo/Semi.Avalonia.Demo/Pages/ColorPickerDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/ColorPickerDemo.axaml index fd16eff..f04f907 100644 --- a/demo/Semi.Avalonia.Demo/Pages/ColorPickerDemo.axaml +++ b/demo/Semi.Avalonia.Demo/Pages/ColorPickerDemo.axaml @@ -2,6 +2,7 @@ x:Class="Semi.Avalonia.Demo.Pages.ColorPickerDemo" xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:colorPicker="clr-namespace:Semi.Avalonia.ColorPicker;assembly=Semi.Avalonia.ColorPicker" xmlns:controls="using:Avalonia.Controls" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" @@ -15,11 +16,7 @@ Spacing="20"> - - - - - + @@ -29,7 +26,7 @@ - + diff --git a/src/Semi.Avalonia.ColorPicker/Dark.axaml b/src/Semi.Avalonia.ColorPicker/Dark.axaml index e6029e7..a910256 100644 --- a/src/Semi.Avalonia.ColorPicker/Dark.axaml +++ b/src/Semi.Avalonia.ColorPicker/Dark.axaml @@ -1,4 +1,7 @@ - + @@ -40,4 +43,6 @@ 3 0 0 14 0 #1AFFFFFF + + diff --git a/src/Semi.Avalonia.ColorPicker/Light.axaml b/src/Semi.Avalonia.ColorPicker/Light.axaml index c3eb57d..070ce03 100644 --- a/src/Semi.Avalonia.ColorPicker/Light.axaml +++ b/src/Semi.Avalonia.ColorPicker/Light.axaml @@ -1,4 +1,7 @@ - + @@ -40,4 +43,5 @@ 3 0 0 14 0 #1A000000 + diff --git a/src/Semi.Avalonia.ColorPicker/Semi.Avalonia.ColorPicker.csproj b/src/Semi.Avalonia.ColorPicker/Semi.Avalonia.ColorPicker.csproj index a4331ef..312db02 100644 --- a/src/Semi.Avalonia.ColorPicker/Semi.Avalonia.ColorPicker.csproj +++ b/src/Semi.Avalonia.ColorPicker/Semi.Avalonia.ColorPicker.csproj @@ -1,6 +1,6 @@ - + Semi.Avalonia.ColorPicker diff --git a/src/Semi.Avalonia.ColorPicker/SemiColorDarkPalette.cs b/src/Semi.Avalonia.ColorPicker/SemiColorDarkPalette.cs new file mode 100644 index 0000000..96dff33 --- /dev/null +++ b/src/Semi.Avalonia.ColorPicker/SemiColorDarkPalette.cs @@ -0,0 +1,29 @@ +using Avalonia.Controls; +using Avalonia.Media; +using Avalonia.Utilities; + +namespace Semi.Avalonia.ColorPicker; + +public class SemiColorDarkPalette: IColorPalette +{ + private static readonly Color[,] Colors = new Color[,] + { + { + Color.FromUInt32(0xFF6C090B), + }, + { + Color.FromUInt32(0xFF6C090B), + } + }; + public Color GetColor(int colorIndex, int shadeIndex) + { + return Colors[ + MathUtilities.Clamp(colorIndex, 0, ColorCount - 1), + MathUtilities.Clamp(shadeIndex, 0, ShadeCount - 1) + ]; + } + + public int ColorCount => Colors.GetLength(0); + + public int ShadeCount => Colors.GetLength(1); +} diff --git a/src/Semi.Avalonia.ColorPicker/SemiColorLightPalette.cs b/src/Semi.Avalonia.ColorPicker/SemiColorLightPalette.cs new file mode 100644 index 0000000..2d1a646 --- /dev/null +++ b/src/Semi.Avalonia.ColorPicker/SemiColorLightPalette.cs @@ -0,0 +1,29 @@ +using Avalonia.Controls; +using Avalonia.Media; +using Avalonia.Utilities; + +namespace Semi.Avalonia.ColorPicker; + +public class SemiColorLightPalette: IColorPalette +{ + private static readonly Color[,] Colors = new Color[,] + { + { + Color.FromUInt32(0xFFFEF2ED), + }, + { + Color.FromUInt32(0xFFFEF2ED), + } + }; + public Color GetColor(int colorIndex, int shadeIndex) + { + return Colors[ + MathUtilities.Clamp(colorIndex, 0, ColorCount - 1), + MathUtilities.Clamp(shadeIndex, 0, ShadeCount - 1) + ]; + } + + public int ColorCount => Colors.GetLength(0); + + public int ShadeCount => Colors.GetLength(1); +} \ No newline at end of file