aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Video/DisplaySettingEffect.cs
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-02-01 16:40:13 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-02-01 16:40:13 +0200
commiteb2c264422b98458979bc96504ce8830a527d48c (patch)
tree2c2e0bcb908867759e7bea31dad0e21bd82f9cff /Software/Visual_Studio/Tango.Video/DisplaySettingEffect.cs
parenta89c18abf7175f76f8673c12dac35d1658209d4e (diff)
downloadTango-eb2c264422b98458979bc96504ce8830a527d48c.tar.gz
Tango-eb2c264422b98458979bc96504ce8830a527d48c.zip
Added Tango.Video project.
Implemented USB video device capture for developer module.
Diffstat (limited to 'Software/Visual_Studio/Tango.Video/DisplaySettingEffect.cs')
-rw-r--r--Software/Visual_Studio/Tango.Video/DisplaySettingEffect.cs98
1 files changed, 98 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Tango.Video/DisplaySettingEffect.cs b/Software/Visual_Studio/Tango.Video/DisplaySettingEffect.cs
new file mode 100644
index 000000000..5bf660556
--- /dev/null
+++ b/Software/Visual_Studio/Tango.Video/DisplaySettingEffect.cs
@@ -0,0 +1,98 @@
+
+namespace Tango.Video.DirectCapture
+{
+ using System;
+ using System.ComponentModel;
+ using System.Text;
+ using System.Windows;
+ using System.Windows.Media;
+ using System.Windows.Media.Effects;
+
+ public class DisplaySettingEffect : ShaderEffect
+ {
+ public static readonly DependencyProperty BrightnessLevelProperty = DependencyProperty.Register("BrightnessLevel", typeof(double), typeof(DisplaySettingEffect), new UIPropertyMetadata(1.0, ShaderEffect.PixelShaderConstantCallback(1)));
+ public static readonly DependencyProperty ContrastLevelProperty = DependencyProperty.Register("ContrastLevel", typeof(double), typeof(DisplaySettingEffect), new UIPropertyMetadata(1.0, ShaderEffect.PixelShaderConstantCallback(0)));
+ public static readonly DependencyProperty Input1Property = ShaderEffect.RegisterPixelShaderSamplerProperty("Input1", typeof(DisplaySettingEffect), 0);
+ public static readonly DependencyProperty SaturationLevelProperty = DependencyProperty.Register("SaturationLevel", typeof(double), typeof(DisplaySettingEffect), new UIPropertyMetadata(1.0, ShaderEffect.PixelShaderConstantCallback(2)));
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="DisplaySettingEffect"/> class.
+ /// </summary>
+ public DisplaySettingEffect()
+ : base()
+ {
+ PixelShader pixelShader = new PixelShader();
+ pixelShader.UriSource = new Uri("pack://application:,,,/Twine.Video;component/DisplaySettingEffect.ps", UriKind.RelativeOrAbsolute);
+ this.PixelShader = pixelShader;
+
+ this.UpdateShaderValue(Input1Property);
+ this.UpdateShaderValue(ContrastLevelProperty);
+ this.UpdateShaderValue(Input1Property);
+ this.UpdateShaderValue(BrightnessLevelProperty);
+ this.UpdateShaderValue(Input1Property);
+ this.UpdateShaderValue(SaturationLevelProperty);
+ }
+
+ /// <summary>
+ /// Gets or sets the brightness level.
+ /// </summary>
+ public double BrightnessLevel
+ {
+ get
+ {
+ return (double)base.GetValue(BrightnessLevelProperty);
+ }
+ set
+ {
+ base.SetValue(BrightnessLevelProperty, value);
+ }
+ }
+
+ /// <summary>
+ /// Gets or sets the contrast level.
+ /// </summary>
+ public double ContrastLevel
+ {
+ get
+ {
+ return (double)base.GetValue(ContrastLevelProperty);
+ }
+ set
+ {
+ base.SetValue(ContrastLevelProperty, value);
+ }
+ }
+
+ /// <summary>
+ /// Gets or sets the saturation level.
+ /// </summary>
+ public double SaturationLevel
+ {
+ get
+ {
+ return (double)base.GetValue(SaturationLevelProperty);
+ }
+ set
+ {
+ base.SetValue(SaturationLevelProperty, value);
+ }
+ }
+
+ /// <summary>
+ /// Gets or sets the input.
+ /// </summary>
+ [Browsable(false)]
+ public Brush Input1
+ {
+ get
+ {
+ return (Brush)base.GetValue(Input1Property);
+ }
+ set
+ {
+ base.SetValue(Input1Property, value);
+ }
+ }
+ }
+}
+