From 27b08caae72b85959a53db81a77b3be766e23b40 Mon Sep 17 00:00:00 2001
From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com>
Date: Fri, 28 Feb 2025 16:18:41 +0800
Subject: [PATCH 1/8] misc: format ColorPicker xaml.
---
.../Controls/ColorPicker.axaml | 113 +++++-----
.../Controls/ColorPreviewer.axaml | 39 ++--
.../Controls/ColorSlider.axaml | 52 ++---
.../Controls/ColorSpectrum.axaml | 198 +++++++++---------
.../Controls/ColorView.axaml | 129 ++++++------
.../Controls/_index.axaml | 12 ++
src/Semi.Avalonia.ColorPicker/Index.axaml | 2 +-
7 files changed, 254 insertions(+), 291 deletions(-)
create mode 100644 src/Semi.Avalonia.ColorPicker/Controls/_index.axaml
diff --git a/src/Semi.Avalonia.ColorPicker/Controls/ColorPicker.axaml b/src/Semi.Avalonia.ColorPicker/Controls/ColorPicker.axaml
index 27745b7..f3d894a 100644
--- a/src/Semi.Avalonia.ColorPicker/Controls/ColorPicker.axaml
+++ b/src/Semi.Avalonia.ColorPicker/Controls/ColorPicker.axaml
@@ -1,17 +1,8 @@
-
-
-
-
-
-
-
@@ -30,21 +21,18 @@
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Background="{DynamicResource ColorControlCheckeredBackgroundBrush}"
- CornerRadius="{TemplateBinding CornerRadius,
- Converter={StaticResource LeftCornerRadiusFilterConverter}}" />
+ CornerRadius="{TemplateBinding CornerRadius, Converter={StaticResource LeftCornerRadiusFilterConverter}}" />
+ Background="{TemplateBinding HsvColor, Converter={StaticResource ToBrushConverter}}"
+ CornerRadius="{TemplateBinding CornerRadius, Converter={StaticResource LeftCornerRadiusFilterConverter}}" />
-
+
@@ -127,7 +115,7 @@
-
-
-
-
+
-
-
+
+
@@ -228,7 +216,7 @@
@@ -499,8 +483,7 @@
Margin="1,1,0,1"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
- Background="{TemplateBinding HsvColor,
- Converter={StaticResource ToBrushConverter}}"
+ Background="{TemplateBinding HsvColor,Converter={StaticResource ToBrushConverter}}"
CornerRadius="{TemplateBinding CornerRadius}" />
-
-
-
-
+ Orientation="Horizontal" />
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia.ColorPicker/Controls/ColorPreviewer.axaml b/src/Semi.Avalonia.ColorPicker/Controls/ColorPreviewer.axaml
index 6ee2837..3ddd64b 100644
--- a/src/Semi.Avalonia.ColorPicker/Controls/ColorPreviewer.axaml
+++ b/src/Semi.Avalonia.ColorPicker/Controls/ColorPreviewer.axaml
@@ -33,17 +33,16 @@
Name="PART_AccentDecrement2Border"
Grid.Column="0"
Background="{TemplateBinding HsvColor,
- Converter={StaticResource AccentColorConverter},
- ConverterParameter='-2'}"
- CornerRadius="{TemplateBinding CornerRadius,
- Converter={StaticResource LeftCornerRadiusFilterConverter}}"
+ Converter={StaticResource AccentColorConverter},
+ ConverterParameter='-2'}"
+ CornerRadius="{TemplateBinding CornerRadius,Converter={StaticResource LeftCornerRadiusFilterConverter}}"
Tag="-2" />
@@ -63,17 +62,16 @@
Name="PART_AccentIncrement1Border"
Grid.Column="0"
Background="{TemplateBinding HsvColor,
- Converter={StaticResource AccentColorConverter},
- ConverterParameter='1'}"
+ Converter={StaticResource AccentColorConverter},
+ ConverterParameter='1'}"
Tag="1" />
@@ -85,12 +83,13 @@
BoxShadow="{DynamicResource ColorPreviewerMainBoxShadow}"
CornerRadius="{TemplateBinding CornerRadius}">
-
+
@@ -100,15 +99,15 @@
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
CornerRadius="{TemplateBinding CornerRadius}"
- IsVisible="{TemplateBinding IsAccentColorsVisible,
- Converter={x:Static BoolConverters.Not}}">
+ IsVisible="{TemplateBinding IsAccentColorsVisible,Converter={x:Static BoolConverters.Not}}">
-
+
diff --git a/src/Semi.Avalonia.ColorPicker/Controls/ColorSlider.axaml b/src/Semi.Avalonia.ColorPicker/Controls/ColorSlider.axaml
index 8b7fe64..03c6840 100644
--- a/src/Semi.Avalonia.ColorPicker/Controls/ColorSlider.axaml
+++ b/src/Semi.Avalonia.ColorPicker/Controls/ColorSlider.axaml
@@ -13,17 +13,15 @@
-
-
-
-
-
+
+
+
@@ -45,20 +43,16 @@
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Fill="{DynamicResource ColorControlCheckeredBackgroundBrush}"
- RadiusX="{TemplateBinding CornerRadius,
- Converter={StaticResource TopLeftCornerRadiusConverter}}"
- RadiusY="{TemplateBinding CornerRadius,
- Converter={StaticResource BottomRightCornerRadiusConverter}}" />
+ RadiusX="{TemplateBinding CornerRadius,Converter={StaticResource TopLeftCornerRadiusConverter}}"
+ RadiusY="{TemplateBinding CornerRadius,Converter={StaticResource BottomRightCornerRadiusConverter}}" />
+ RadiusX="{TemplateBinding CornerRadius,Converter={StaticResource TopLeftCornerRadiusConverter}}"
+ RadiusY="{TemplateBinding CornerRadius,Converter={StaticResource BottomRightCornerRadiusConverter}}" />
diff --git a/src/Semi.Avalonia.ColorPicker/Dark.axaml b/src/Semi.Avalonia.ColorPicker/Dark.axaml
index 22381db..4c9530a 100644
--- a/src/Semi.Avalonia.ColorPicker/Dark.axaml
+++ b/src/Semi.Avalonia.ColorPicker/Dark.axaml
@@ -13,4 +13,5 @@
+ 0 0 2 1 #FFFFFF
\ No newline at end of file
diff --git a/src/Semi.Avalonia.ColorPicker/Light.axaml b/src/Semi.Avalonia.ColorPicker/Light.axaml
index 22381db..4c9530a 100644
--- a/src/Semi.Avalonia.ColorPicker/Light.axaml
+++ b/src/Semi.Avalonia.ColorPicker/Light.axaml
@@ -13,4 +13,5 @@
+ 0 0 2 1 #FFFFFF
\ No newline at end of file
diff --git a/src/Semi.Avalonia.ColorPicker/Shared.axaml b/src/Semi.Avalonia.ColorPicker/Shared.axaml
index 348f472..0b4d319 100644
--- a/src/Semi.Avalonia.ColorPicker/Shared.axaml
+++ b/src/Semi.Avalonia.ColorPicker/Shared.axaml
@@ -13,10 +13,10 @@
- 16
- 6
- 2
- 0 0 2 1 #FFFFFF
+
+
+
+
80
20
From af013bf9385debf91c04dcaea4abe006926ed5df Mon Sep 17 00:00:00 2001
From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com>
Date: Mon, 10 Mar 2025 11:04:09 +0800
Subject: [PATCH 4/8] feat: add AssemblyInfo.
---
demo/Semi.Avalonia.Demo/Pages/ColorPickerDemo.axaml | 9 ++++-----
src/Semi.Avalonia.ColorPicker/AssemblyInfo.cs | 3 +++
src/Semi.Avalonia.ColorPicker/Shared.axaml | 4 ++--
3 files changed, 9 insertions(+), 7 deletions(-)
create mode 100644 src/Semi.Avalonia.ColorPicker/AssemblyInfo.cs
diff --git a/demo/Semi.Avalonia.Demo/Pages/ColorPickerDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/ColorPickerDemo.axaml
index 3eb407d..9e6f238 100644
--- a/demo/Semi.Avalonia.Demo/Pages/ColorPickerDemo.axaml
+++ b/demo/Semi.Avalonia.Demo/Pages/ColorPickerDemo.axaml
@@ -2,8 +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:semi="https://irihi.tech/semi"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:DesignHeight="1450"
@@ -33,12 +32,12 @@
-
+
-
+
@@ -47,7 +46,7 @@
ColorSpectrumShape="Box"
Theme="{DynamicResource HexColorPicker}">
-
+
diff --git a/src/Semi.Avalonia.ColorPicker/AssemblyInfo.cs b/src/Semi.Avalonia.ColorPicker/AssemblyInfo.cs
new file mode 100644
index 0000000..2c1c8f9
--- /dev/null
+++ b/src/Semi.Avalonia.ColorPicker/AssemblyInfo.cs
@@ -0,0 +1,3 @@
+using Avalonia.Metadata;
+
+[assembly: XmlnsDefinition("https://irihi.tech/semi", "Semi.Avalonia.ColorPicker")]
\ No newline at end of file
diff --git a/src/Semi.Avalonia.ColorPicker/Shared.axaml b/src/Semi.Avalonia.ColorPicker/Shared.axaml
index 0b4d319..6c95410 100644
--- a/src/Semi.Avalonia.ColorPicker/Shared.axaml
+++ b/src/Semi.Avalonia.ColorPicker/Shared.axaml
@@ -1,7 +1,7 @@
+ xmlns:semi="https://irihi.tech/semi">
600
16 4
70
@@ -23,7 +23,7 @@
48
3
-
+
AnchorAndGravity
BottomEdgeAlignedLeft
From 776ac47a980ec3f4398f55f93039232c527e8544 Mon Sep 17 00:00:00 2001
From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com>
Date: Mon, 10 Mar 2025 11:11:24 +0800
Subject: [PATCH 5/8] feat: ColorPicker icon.
---
.../Controls/ColorPicker.axaml | 33 +++++++------------
.../Controls/ColorView.axaml | 33 +++++++------------
src/Semi.Avalonia.ColorPicker/Shared.axaml | 9 ++---
3 files changed, 27 insertions(+), 48 deletions(-)
diff --git a/src/Semi.Avalonia.ColorPicker/Controls/ColorPicker.axaml b/src/Semi.Avalonia.ColorPicker/Controls/ColorPicker.axaml
index f3d894a..47f94bb 100644
--- a/src/Semi.Avalonia.ColorPicker/Controls/ColorPicker.axaml
+++ b/src/Semi.Avalonia.ColorPicker/Controls/ColorPicker.axaml
@@ -101,13 +101,10 @@
-
-
-
+
@@ -166,13 +163,10 @@
-
-
-
+
-
-
-
+
-
-
-
+
@@ -280,13 +277,10 @@
-
-
-
+
-
-
-
+
16 4
70
- M1.22 20.77a4.24 4.24 0 0 1 .02-5.98l9.33-9.28-.94-.95a1.41 1.41 0 0 1 0-1.99 1.39 1.39 0 0 1 1.97 0l.95.97L14.9 1.2a4.16 4.16 0 0 1 5.89.02 4.24 4.24 0 0 1-.02 5.98l-2.3 2.28 1.02 1.02c.54.55.54 1.44 0 1.99-.55.55-1.43.55-1.97 0l-1.03-1.03-9.37 9.32a4.16 4.16 0 0 1-5.89-.02ZM12.54 7.49l1.97 1.99-9.35 9.3c-.55.55-1.42.55-1.97 0a1.41 1.41 0 0 1 .01-2l9.34-9.29Z
- M2 4c0-1.1.9-2 2-2h5a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4Zm6 13.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm11.59-8.91L16.4 5.4a2 2 0 0 0-2.82 0L13 6v12l6.59-6.59a2 2 0 0 0 0-2.82ZM22 16a2 2 0 0 0-2-2l-8 8h8a2 2 0 0 0 2-2v-4Z
- M4 6.5a2 2 0 1 0 0-4 2 2 0 0 0 0 4ZM9.5 3a1.5 1.5 0 1 0 0 3h11a1.5 1.5 0 0 0 0-3h-11ZM8 11.5c0-.83.67-1.5 1.5-1.5h11a1.5 1.5 0 0 1 0 3h-11A1.5 1.5 0 0 1 8 11.5Zm0 7c0-.83.67-1.5 1.5-1.5h11a1.5 1.5 0 0 1 0 3h-11A1.5 1.5 0 0 1 8 18.5Zm-2-7a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm-2 9a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z
-
-
-
+
+
+
From ea182c07f03aac1388c7f4c359597434b26f63b6 Mon Sep 17 00:00:00 2001
From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com>
Date: Mon, 10 Mar 2025 11:19:56 +0800
Subject: [PATCH 6/8] feat: enhance ColorPicker & redesign demo.
---
.../Pages/ColorPickerDemo.axaml | 51 ++++++++-----------
.../Controls/ColorPicker.axaml | 26 ++++------
src/Semi.Avalonia.ColorPicker/Shared.axaml | 4 +-
3 files changed, 33 insertions(+), 48 deletions(-)
diff --git a/demo/Semi.Avalonia.Demo/Pages/ColorPickerDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/ColorPickerDemo.axaml
index 9e6f238..21f7804 100644
--- a/demo/Semi.Avalonia.Demo/Pages/ColorPickerDemo.axaml
+++ b/demo/Semi.Avalonia.Demo/Pages/ColorPickerDemo.axaml
@@ -10,18 +10,15 @@
mc:Ignorable="d">
-
+
-
+
@@ -29,63 +26,55 @@
-
-
+
+
-
+
-
+ Theme="{DynamicResource HexColorPicker}"
+ ColorSpectrumShape="Box">
-
-
+
+
+ HsvColor="hsv(180,80%,70%)">
-
-
+
+
+ Theme="{StaticResource SimpleColorPicker}"
+ HsvColor="hsv(180,80%,70%)" />
+ Theme="{StaticResource HexSimpleColorPicker}"
+ HsvColor="hsv(180,80%,70%)" />
diff --git a/src/Semi.Avalonia.ColorPicker/Controls/ColorPicker.axaml b/src/Semi.Avalonia.ColorPicker/Controls/ColorPicker.axaml
index 47f94bb..e295427 100644
--- a/src/Semi.Avalonia.ColorPicker/Controls/ColorPicker.axaml
+++ b/src/Semi.Avalonia.ColorPicker/Controls/ColorPicker.axaml
@@ -7,25 +7,18 @@
-
-
-
-
-
+
+
@@ -39,12 +32,14 @@