Add project files.

This commit is contained in:
Daniel Clark
2022-11-01 15:26:08 +00:00
parent daa7b59f22
commit 7e4f880821
408 changed files with 16863 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
using System.Windows.Media.Effects;
using System.Windows;
using System;
namespace TheXamlGuy.UI.WPF;
public class BrightnessEffect : EffectBase
{
public static readonly DependencyProperty BrightnessProperty =
DependencyProperty.Register(nameof(Brightness), typeof(double),
typeof(BrightnessEffect), new PropertyMetadata(ValueBoxes.Double1Box, PixelShaderConstantCallback(0)));
private static readonly PixelShader Shader;
static BrightnessEffect()
{
Shader = new PixelShader
{
UriSource = new Uri("pack://application:,,,/TheXamlGuy.UI.WPF;component/Resources/Effects/BrightnessEffect.ps")
};
}
public BrightnessEffect()
{
PixelShader = Shader;
UpdateShaderValue(InputProperty);
UpdateShaderValue(BrightnessProperty);
}
public double Brightness
{
get => (double)GetValue(BrightnessProperty);
set => SetValue(BrightnessProperty, value);
}
}
@@ -0,0 +1,24 @@
using System;
using System.Windows.Media.Effects;
namespace TheXamlGuy.UI.WPF;
public class ColorComplementEffect : EffectBase
{
private static readonly PixelShader Shader;
static ColorComplementEffect()
{
Shader = new PixelShader
{
UriSource = new Uri("pack://application:,,,/TheXamlGuy.UI.WPF;component/Resources/Effects/ColorComplementEffect.ps")
};
}
public ColorComplementEffect()
{
PixelShader = Shader;
UpdateShaderValue(InputProperty);
}
}
+243
View File
@@ -0,0 +1,243 @@
using System.Windows.Media.Effects;
using System.Windows;
using System;
namespace TheXamlGuy.UI.WPF;
public class ColorMatrixEffect : EffectBase
{
public static readonly DependencyProperty M11Property =
DependencyProperty.Register("M11",
typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double1Box, PixelShaderConstantCallback(0)));
public static readonly DependencyProperty M12Property =
DependencyProperty.Register("M12",
typeof(double),typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(5)));
public static readonly DependencyProperty M13Property =
DependencyProperty.Register("M13",
typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(10)));
public static readonly DependencyProperty M14Property =
DependencyProperty.Register("M14",
typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(15)));
public static readonly DependencyProperty M21Property =
DependencyProperty.Register("M21",
typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(1)));
public static readonly DependencyProperty M22Property =
DependencyProperty.Register("M22",
typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double1Box, PixelShaderConstantCallback(6)));
public static readonly DependencyProperty M23Property =
DependencyProperty.Register("M23",
typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(11)));
public static readonly DependencyProperty M24Property =
DependencyProperty.Register("M24",
typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(16)));
public static readonly DependencyProperty M31Property =
DependencyProperty.Register("M31",
typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(2)));
public static readonly DependencyProperty M32Property =
DependencyProperty.Register("M32",
typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(7)));
public static readonly DependencyProperty M33Property =
DependencyProperty.Register("M33",
typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double1Box, PixelShaderConstantCallback(12)));
public static readonly DependencyProperty M34Property =
DependencyProperty.Register("M34",
typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(17)));
public static readonly DependencyProperty M41Property =
DependencyProperty.Register("M41",
typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(3)));
public static readonly DependencyProperty M42Property =
DependencyProperty.Register("M42",
typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(8)));
public static readonly DependencyProperty M43Property =
DependencyProperty.Register("M43",
typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(13)));
public static readonly DependencyProperty M44Property =
DependencyProperty.Register("M44",
typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double1Box, PixelShaderConstantCallback(18)));
public static readonly DependencyProperty M51Property =
DependencyProperty.Register("M51",
typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(4)));
public static readonly DependencyProperty M52Property =
DependencyProperty.Register("M52",
typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(9)));
public static readonly DependencyProperty M53Property =
DependencyProperty.Register("M53",
typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(14)));
public static readonly DependencyProperty M54Property =
DependencyProperty.Register("M54",
typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(19)));
private static readonly PixelShader Shader;
static ColorMatrixEffect()
{
Shader = new PixelShader
{
UriSource = new Uri("pack://application:,,,/TheXamlGuy.UI.WPF;component/Resources/Effects/ColorMatrixEffect.ps")
};
}
public ColorMatrixEffect()
{
PixelShader = Shader;
UpdateShaderValue(InputProperty);
UpdateShaderValue(M11Property);
UpdateShaderValue(M21Property);
UpdateShaderValue(M31Property);
UpdateShaderValue(M41Property);
UpdateShaderValue(M51Property);
UpdateShaderValue(M12Property);
UpdateShaderValue(M22Property);
UpdateShaderValue(M32Property);
UpdateShaderValue(M42Property);
UpdateShaderValue(M52Property);
UpdateShaderValue(M13Property);
UpdateShaderValue(M23Property);
UpdateShaderValue(M33Property);
UpdateShaderValue(M43Property);
UpdateShaderValue(M53Property);
UpdateShaderValue(M14Property);
UpdateShaderValue(M24Property);
UpdateShaderValue(M34Property);
UpdateShaderValue(M44Property);
UpdateShaderValue(M54Property);
}
public double M11
{
get => (double)GetValue(M11Property);
set => SetValue(M11Property, value);
}
public double M12
{
get => (double)GetValue(M12Property);
set => SetValue(M12Property, value);
}
public double M13
{
get => (double)GetValue(M13Property);
set => SetValue(M13Property, value);
}
public double M14
{
get => (double)GetValue(M14Property);
set => SetValue(M14Property, value);
}
public double M21
{
get => (double)GetValue(M21Property);
set => SetValue(M21Property, value);
}
public double M22
{
get => (double)GetValue(M22Property);
set => SetValue(M22Property, value);
}
public double M23
{
get => (double)GetValue(M23Property);
set => SetValue(M23Property, value);
}
public double M24
{
get => (double)GetValue(M24Property);
set => SetValue(M24Property, value);
}
public double M31
{
get => (double)GetValue(M31Property);
set => SetValue(M31Property, value);
}
public double M32
{
get => (double)GetValue(M32Property);
set => SetValue(M32Property, value);
}
public double M33
{
get => (double)GetValue(M33Property);
set => SetValue(M33Property, value);
}
public double M34
{
get => (double)GetValue(M34Property);
set => SetValue(M34Property, value);
}
public double M41
{
get => (double)GetValue(M41Property);
set => SetValue(M41Property, value);
}
public double M42
{
get => (double)GetValue(M42Property);
set => SetValue(M42Property, value);
}
public double M43
{
get => (double)GetValue(M43Property);
set => SetValue(M43Property, value);
}
public double M44
{
get => (double)GetValue(M44Property);
set => SetValue(M44Property, value);
}
public double M51
{
get => (double)GetValue(M51Property);
set => SetValue(M51Property, value);
}
public double M52
{
get => (double)GetValue(M52Property);
set => SetValue(M52Property, value);
}
public double M53
{
get => (double)GetValue(M53Property);
set => SetValue(M53Property, value);
}
public double M54
{
get => (double)GetValue(M54Property);
set => SetValue(M54Property, value);
}
}
+36
View File
@@ -0,0 +1,36 @@
using System;
using System.Windows;
using System.Windows.Media.Effects;
namespace TheXamlGuy.UI.WPF;
public class ContrastEffect : EffectBase
{
public static readonly DependencyProperty ContrastProperty =
DependencyProperty.Register("Contrast",
typeof(double), typeof(ContrastEffect), new PropertyMetadata(ValueBoxes.Double1Box, PixelShaderConstantCallback(0)));
private static readonly PixelShader Shader;
static ContrastEffect()
{
Shader = new PixelShader
{
UriSource = new Uri("pack://application:,,,/TheXamlGuy.UI.WPF;component/Resources/Effects/ContrastEffect.ps")
};
}
public ContrastEffect()
{
PixelShader = Shader;
UpdateShaderValue(InputProperty);
UpdateShaderValue(ContrastProperty);
}
public double Contrast
{
get => (double) GetValue(ContrastProperty);
set => SetValue(ContrastProperty, value);
}
}
+16
View File
@@ -0,0 +1,16 @@
using System.Windows.Media.Effects;
using System.Windows.Media;
using System.Windows;
namespace TheXamlGuy.UI.WPF;
public abstract class EffectBase : ShaderEffect
{
public static readonly DependencyProperty InputProperty = RegisterPixelShaderSamplerProperty("Input", typeof(EffectBase), 0);
public Brush Input
{
get => (Brush)GetValue(InputProperty);
set => SetValue(InputProperty, value);
}
}
+36
View File
@@ -0,0 +1,36 @@
using System;
using System.Windows;
using System.Windows.Media.Effects;
namespace TheXamlGuy.UI.WPF;
public class GrayScaleEffect : EffectBase
{
public static readonly DependencyProperty ScaleProperty =
DependencyProperty.Register("Scale",
typeof(double), typeof(GrayScaleEffect), new PropertyMetadata(ValueBoxes.Double1Box, PixelShaderConstantCallback(0)));
private static readonly PixelShader Shader;
static GrayScaleEffect()
{
Shader = new PixelShader
{
UriSource = new Uri("pack://application:,,,/TheXamlGuy.UI.WPF;component/Resources/Effects/GrayScaleEffect.ps")
};
}
public GrayScaleEffect()
{
PixelShader = Shader;
UpdateShaderValue(InputProperty);
UpdateShaderValue(ScaleProperty);
}
public double Scale
{
get => (double) GetValue(ScaleProperty);
set => SetValue(ScaleProperty, value);
}
}