From f1dca283f84231cd3c09e426fa0a1810da89c42a Mon Sep 17 00:00:00 2001
From: NaBian <836904362@qq.com>
Date: Sat, 14 Dec 2019 01:33:32 +0800
Subject: [PATCH] add ColorComplementEffect
---
.../HandyControl_Core_30.csproj | 3 ++
.../HandyControl_Net_40.csproj | 3 ++
.../HandyControl_Net_GE45.csproj | 3 ++
.../HandyControl_Shared.projitems | 1 +
.../Media/Effects/ColorComplementEffect.cs | 34 ++++++++++++++++++
.../Properties/AssemblyInfo.cs | 1 +
.../Effects/ColorComplementEffect.ps | Bin 0 -> 220 bytes
7 files changed, 45 insertions(+)
create mode 100644 src/Shared/HandyControl_Shared/Media/Effects/ColorComplementEffect.cs
create mode 100644 src/Shared/HandyControl_Shared/Resources/Effects/ColorComplementEffect.ps
diff --git a/src/Core_30/HandyControl_Core_30/HandyControl_Core_30.csproj b/src/Core_30/HandyControl_Core_30/HandyControl_Core_30.csproj
index 07314a19..ce527ed8 100644
--- a/src/Core_30/HandyControl_Core_30/HandyControl_Core_30.csproj
+++ b/src/Core_30/HandyControl_Core_30/HandyControl_Core_30.csproj
@@ -56,5 +56,8 @@
Resources\dropper.cur
+
+ Resources\Effects\ColorComplementEffect.ps
+
\ No newline at end of file
diff --git a/src/Net_40/HandyControl_Net_40/HandyControl_Net_40.csproj b/src/Net_40/HandyControl_Net_40/HandyControl_Net_40.csproj
index 28017834..3017e107 100644
--- a/src/Net_40/HandyControl_Net_40/HandyControl_Net_40.csproj
+++ b/src/Net_40/HandyControl_Net_40/HandyControl_Net_40.csproj
@@ -108,6 +108,9 @@
Resources\dropper.cur
+
+ Resources\Effects\ColorComplementEffect.ps
+
diff --git a/src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj b/src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj
index 49bc677b..5c685b76 100644
--- a/src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj
+++ b/src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj
@@ -179,6 +179,9 @@
Resources\dropper.cur
+
+ Resources\Effects\ColorComplementEffect.ps
+
diff --git a/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems b/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems
index b01bf9b2..f5f1e48d 100644
--- a/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems
+++ b/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems
@@ -58,6 +58,7 @@
+
diff --git a/src/Shared/HandyControl_Shared/Media/Effects/ColorComplementEffect.cs b/src/Shared/HandyControl_Shared/Media/Effects/ColorComplementEffect.cs
new file mode 100644
index 00000000..bae72b0d
--- /dev/null
+++ b/src/Shared/HandyControl_Shared/Media/Effects/ColorComplementEffect.cs
@@ -0,0 +1,34 @@
+using System;
+using System.Windows;
+using System.Windows.Media;
+using System.Windows.Media.Effects;
+
+namespace HandyControl.Media.Effects
+{
+ public class ColorComplementEffect : ShaderEffect
+ {
+ public static readonly DependencyProperty InputProperty = RegisterPixelShaderSamplerProperty("Input", typeof(ColorComplementEffect), 0);
+
+ private static readonly PixelShader Shader;
+
+ static ColorComplementEffect()
+ {
+ Shader = new PixelShader
+ {
+ UriSource = new Uri("pack://application:,,,/HandyControl;component/Resources/Effects/ColorComplementEffect.ps")
+ };
+ }
+
+ public ColorComplementEffect()
+ {
+ PixelShader = Shader;
+ UpdateShaderValue(InputProperty);
+ }
+
+ public Brush Input
+ {
+ get => (Brush)GetValue(InputProperty);
+ set => SetValue(InputProperty, value);
+ }
+ }
+}
diff --git a/src/Shared/HandyControl_Shared/Properties/AssemblyInfo.cs b/src/Shared/HandyControl_Shared/Properties/AssemblyInfo.cs
index 65c79a43..8b80dbb4 100644
--- a/src/Shared/HandyControl_Shared/Properties/AssemblyInfo.cs
+++ b/src/Shared/HandyControl_Shared/Properties/AssemblyInfo.cs
@@ -22,6 +22,7 @@ using System.Runtime.InteropServices;
[assembly: XmlnsDefinition("https://handyorg.github.io/handycontrol", "HandyControl.Expression.Shapes")]
[assembly: XmlnsDefinition("https://handyorg.github.io/handycontrol", "HandyControl.Expression.Media")]
[assembly: XmlnsDefinition("https://handyorg.github.io/handycontrol", "HandyControl.Media.Animation")]
+[assembly: XmlnsDefinition("https://handyorg.github.io/handycontrol", "HandyControl.Media.Effects")]
[assembly: XmlnsDefinition("https://handyorg.github.io/handycontrol", "HandyControl.Data")]
[assembly: XmlnsDefinition("https://handyorg.github.io/handycontrol", "HandyControl.Properties.Langs")]
[assembly: XmlnsPrefix("https://handyorg.github.io/handycontrol", "hc")]
\ No newline at end of file
diff --git a/src/Shared/HandyControl_Shared/Resources/Effects/ColorComplementEffect.ps b/src/Shared/HandyControl_Shared/Resources/Effects/ColorComplementEffect.ps
new file mode 100644
index 0000000000000000000000000000000000000000..bfeb1a745ae543475ec9616e0dd98d471b0db684
GIT binary patch
literal 220
zcmZQz`v3pme`N;e5Jx8&1_p+3AZ7rHF#;(Np8?1S08$1(%nar-F*pEe5Xj6e$jMC3
zEb+`MC@o=Fy_$uA2dEqbA)uf*-YDLH!8bFxD8D#Atwcd1NK?VXC)h_JI3qD7wMfA^
zKer$=2gtD0Gcwn+G&RyQHZU?`kO#T|XhH+f#tl&R1O^WN1x{cm@B_u4Y+&GcvH++E
a=p=R!zmb9Ae*@57CZIYHzv2IX1_l5Z