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

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SeverityFilter.cs
- SessionIDManager.cs
- Convert.cs
- SoapCodeExporter.cs
- NumberFormatter.cs
- ImageAutomationPeer.cs
- _ListenerRequestStream.cs
- ServerValidateEventArgs.cs
- ClaimComparer.cs
- DetailsView.cs
- ProcessInputEventArgs.cs
- State.cs
- HMACSHA1.cs
- HostingEnvironment.cs
- SmiRecordBuffer.cs
- RootProfilePropertySettingsCollection.cs
- DataSourceSelectArguments.cs
- DebugView.cs
- MachineKeyConverter.cs
- WpfKnownType.cs
- MappingItemCollection.cs
- Underline.cs
- loginstatus.cs
- ObjectStateManagerMetadata.cs
- ProcessInfo.cs
- DeobfuscatingStream.cs
- XmlBufferReader.cs
- WebDescriptionAttribute.cs
- X500Name.cs
- StoryFragments.cs
- HttpFileCollection.cs
- PointLightBase.cs
- EntityDesignerBuildProvider.cs
- Debug.cs
- GridViewSelectEventArgs.cs
- Cell.cs
- SecurityChannel.cs
- SimpleBitVector32.cs
- SamlSubject.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- SQLBytes.cs
- SQLBytes.cs
- GeometryGroup.cs
- ToolStripPanel.cs
- StreamGeometry.cs
- ValueTypeFixupInfo.cs
- GuidConverter.cs
- DesignSurfaceEvent.cs
- EntitySqlQueryBuilder.cs
- RootBrowserWindowProxy.cs
- StringConcat.cs
- figurelengthconverter.cs
- EntityDataSourceStatementEditorForm.cs
- oledbmetadatacollectionnames.cs
- HttpResponseHeader.cs
- UpdateCompiler.cs
- CalendarDateRangeChangingEventArgs.cs
- BulletedListEventArgs.cs
- VirtualDirectoryMapping.cs
- ActiveXContainer.cs
- PropertyExpression.cs
- StructuredProperty.cs
- CustomErrorCollection.cs
- ArrayMergeHelper.cs
- MessagePartDescription.cs
- SystemTcpConnection.cs
- MouseBinding.cs
- WebPartsPersonalizationAuthorization.cs
- ViewStateModeByIdAttribute.cs
- RequestQueue.cs
- TdsParserHelperClasses.cs
- RangeContentEnumerator.cs
- GlyphTypeface.cs
- AccessDataSource.cs
- Visual3D.cs
- ViewBox.cs
- DictionaryCustomTypeDescriptor.cs
- ZipIOCentralDirectoryBlock.cs
- XsdBuildProvider.cs
- AggregateNode.cs
- StringFreezingAttribute.cs
- CaseStatementSlot.cs
- OdbcFactory.cs
- uribuilder.cs
- XmlSchemaAnnotation.cs
- WebServiceData.cs
- ErrorsHelper.cs
- DelegatingStream.cs
- RegularExpressionValidator.cs
- LinqTreeNodeEvaluator.cs
- QilGeneratorEnv.cs
- FixedSOMPage.cs
- ChannelBuilder.cs
- HighlightVisual.cs
- RegularExpressionValidator.cs
- DayRenderEvent.cs
- EntityCodeGenerator.cs
- MetadataPropertyCollection.cs
- MemoryRecordBuffer.cs
- TypeNameParser.cs