diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-02-01 16:40:13 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-02-01 16:40:13 +0200 |
| commit | eb2c264422b98458979bc96504ce8830a527d48c (patch) | |
| tree | 2c2e0bcb908867759e7bea31dad0e21bd82f9cff /Software/Visual_Studio/Tango.Video/DisplaySettingEffect.cs | |
| parent | a89c18abf7175f76f8673c12dac35d1658209d4e (diff) | |
| download | Tango-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.cs | 98 |
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); + } + } + } +} + |
