BlurBitmapEffect.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Core / CSharp / System / Windows / Media / Effects / BlurBitmapEffect.cs / 1 / BlurBitmapEffect.cs

                            //------------------------------------------------------------------------------ 
//  Microsoft Avalon
//  Copyright (c) Microsoft Corporation, 2005
//
//  File:       BlurBitmapEffect.cs 
//-----------------------------------------------------------------------------
 
using MS.Internal; 
using System;
using System.IO; 
using System.ComponentModel;
using System.ComponentModel.Design.Serialization;
using System.Diagnostics;
using System.Reflection; 
using System.Runtime.InteropServices;
using System.Windows; 
using System.Windows.Media; 
using System.Windows.Markup;
using System.Windows.Media.Animation; 
using System.Windows.Media.Composition;
using MS.Internal.PresentationCore;
using System.Security;
 

namespace System.Windows.Media.Effects 
{ 
    /// 
    /// BlurBitmapEffectPrimitive 
    /// 
    public sealed partial class BlurBitmapEffect : BitmapEffect
    {
        ///  
        /// Constructor
        ///  
        public BlurBitmapEffect() 
        {
        } 

        /// 
        /// Creates the unmanaged effect handle
        ///  
        unsafe protected override SafeHandle CreateUnmanagedEffect()
        { 
            return Create(new Guid(0xa924df87, 0x225d, 0x4373, 0x8f, 0x5b, 0xb9, 0xe, 0xc8, 0x5a, 0xe3, 0xde)); 
        }
 
        /// 
        /// Update (propagetes) properties to the unmanaged effect
        /// 
        ///  
        /// This method demands permission because effects should not be run
        /// in partial trust. 
        /// 
        /// SecurityCritical - because SetValue has a link demand
        /// SecutiryTreatAsSafe - because it demans UIWindow permission 
        /// 
        [SecurityCritical, SecurityTreatAsSafe]
        protected override void UpdateUnmanagedPropertyState(SafeHandle unmanagedEffect)
        { 
            SecurityHelper.DemandUIWindowPermission();
            BitmapEffect.SetValue(unmanagedEffect, "Radius", this.Radius); 
            BitmapEffect.SetValue(unmanagedEffect, "KernelType", this.KernelType); 
        }
 
        /// 
        /// An ImageEffect can be used to emulate a BlurBitmapEffect with certain restrictions. This
        /// method returns true when it is possible to emulate the BlurBitmapEffect using an ImageEffect.
        ///  
        internal override bool CanBeEmulatedUsingEffectPipeline()
        { 
            return (Radius <= 100.0); 
        }
 
        /// 
        /// Returns a Effect that emulates this BlurBitmapEffect.
        /// 
        internal override Effect GetEmulatingEffect() 
        {
            if (_imageEffectEmulation == null) 
            { 
                _imageEffectEmulation = new BlurEffect();
            } 

            if (_imageEffectEmulation.Radius != Radius)
            {
                _imageEffectEmulation.Radius = Radius; 
            }
 
            if (_imageEffectEmulation.KernelType != KernelType) 
            {
                _imageEffectEmulation.KernelType = KernelType; 
            }

            _imageEffectEmulation.RenderingBias = RenderingBias.Performance;
 
            return _imageEffectEmulation;
        } 
 
        BlurEffect _imageEffectEmulation;
    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------ 
//  Microsoft Avalon
//  Copyright (c) Microsoft Corporation, 2005
//
//  File:       BlurBitmapEffect.cs 
//-----------------------------------------------------------------------------
 
using MS.Internal; 
using System;
using System.IO; 
using System.ComponentModel;
using System.ComponentModel.Design.Serialization;
using System.Diagnostics;
using System.Reflection; 
using System.Runtime.InteropServices;
using System.Windows; 
using System.Windows.Media; 
using System.Windows.Markup;
using System.Windows.Media.Animation; 
using System.Windows.Media.Composition;
using MS.Internal.PresentationCore;
using System.Security;
 

namespace System.Windows.Media.Effects 
{ 
    /// 
    /// BlurBitmapEffectPrimitive 
    /// 
    public sealed partial class BlurBitmapEffect : BitmapEffect
    {
        ///  
        /// Constructor
        ///  
        public BlurBitmapEffect() 
        {
        } 

        /// 
        /// Creates the unmanaged effect handle
        ///  
        unsafe protected override SafeHandle CreateUnmanagedEffect()
        { 
            return Create(new Guid(0xa924df87, 0x225d, 0x4373, 0x8f, 0x5b, 0xb9, 0xe, 0xc8, 0x5a, 0xe3, 0xde)); 
        }
 
        /// 
        /// Update (propagetes) properties to the unmanaged effect
        /// 
        ///  
        /// This method demands permission because effects should not be run
        /// in partial trust. 
        /// 
        /// SecurityCritical - because SetValue has a link demand
        /// SecutiryTreatAsSafe - because it demans UIWindow permission 
        /// 
        [SecurityCritical, SecurityTreatAsSafe]
        protected override void UpdateUnmanagedPropertyState(SafeHandle unmanagedEffect)
        { 
            SecurityHelper.DemandUIWindowPermission();
            BitmapEffect.SetValue(unmanagedEffect, "Radius", this.Radius); 
            BitmapEffect.SetValue(unmanagedEffect, "KernelType", this.KernelType); 
        }
 
        /// 
        /// An ImageEffect can be used to emulate a BlurBitmapEffect with certain restrictions. This
        /// method returns true when it is possible to emulate the BlurBitmapEffect using an ImageEffect.
        ///  
        internal override bool CanBeEmulatedUsingEffectPipeline()
        { 
            return (Radius <= 100.0); 
        }
 
        /// 
        /// Returns a Effect that emulates this BlurBitmapEffect.
        /// 
        internal override Effect GetEmulatingEffect() 
        {
            if (_imageEffectEmulation == null) 
            { 
                _imageEffectEmulation = new BlurEffect();
            } 

            if (_imageEffectEmulation.Radius != Radius)
            {
                _imageEffectEmulation.Radius = Radius; 
            }
 
            if (_imageEffectEmulation.KernelType != KernelType) 
            {
                _imageEffectEmulation.KernelType = KernelType; 
            }

            _imageEffectEmulation.RenderingBias = RenderingBias.Performance;
 
            return _imageEffectEmulation;
        } 
 
        BlurEffect _imageEffectEmulation;
    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.

                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK