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
- CanonicalizationDriver.cs
- UnknownBitmapEncoder.cs
- StrongNameKeyPair.cs
- FacetValues.cs
- PageThemeBuildProvider.cs
- MsmqMessageProperty.cs
- DataGridViewCellLinkedList.cs
- GenericNameHandler.cs
- AncillaryOps.cs
- WebSysDescriptionAttribute.cs
- MessageLoggingFilterTraceRecord.cs
- QuaternionValueSerializer.cs
- MessageCredentialType.cs
- DocumentPageView.cs
- ParameterElement.cs
- MessageContractExporter.cs
- TextSpanModifier.cs
- NavigationFailedEventArgs.cs
- exports.cs
- BitmapEncoder.cs
- TextSimpleMarkerProperties.cs
- sqlstateclientmanager.cs
- RuleSetBrowserDialog.cs
- PrePrepareMethodAttribute.cs
- SingleSelectRootGridEntry.cs
- Int32.cs
- CodeGenHelper.cs
- DataObjectMethodAttribute.cs
- EnumerableWrapperWeakToStrong.cs
- ExtensibleClassFactory.cs
- Label.cs
- HtmlFormWrapper.cs
- AnimationClock.cs
- SamlDelegatingWriter.cs
- ProtocolElement.cs
- XmlAutoDetectWriter.cs
- ExplicitDiscriminatorMap.cs
- StorageEntityTypeMapping.cs
- ChildDocumentBlock.cs
- HotSpotCollection.cs
- DecoderReplacementFallback.cs
- LookupBindingPropertiesAttribute.cs
- TypeReference.cs
- Substitution.cs
- GridViewSortEventArgs.cs
- DataColumnPropertyDescriptor.cs
- ProcessInputEventArgs.cs
- CategoryEditor.cs
- TemplatedWizardStep.cs
- StatementContext.cs
- ConstrainedDataObject.cs
- MappingMetadataHelper.cs
- WebScriptServiceHost.cs
- HwndStylusInputProvider.cs
- PointAnimationUsingPath.cs
- ChannelDemuxer.cs
- WebBrowserNavigatingEventHandler.cs
- Rotation3D.cs
- ProgressChangedEventArgs.cs
- MethodBody.cs
- AmbientEnvironment.cs
- ActivityMarkupSerializationProvider.cs
- HtmlButton.cs
- XsltException.cs
- HMACSHA384.cs
- MessageBox.cs
- NameScopePropertyAttribute.cs
- MessageTraceRecord.cs
- Track.cs
- GrabHandleGlyph.cs
- TextEditorCopyPaste.cs
- PersistChildrenAttribute.cs
- PrintPageEvent.cs
- RegexFCD.cs
- XmlConvert.cs
- SqlConnectionStringBuilder.cs
- XhtmlBasicCommandAdapter.cs
- processwaithandle.cs
- XmlSchemaAny.cs
- XMLUtil.cs
- AssociationTypeEmitter.cs
- DataControlField.cs
- SafeProcessHandle.cs
- InternalDispatchObject.cs
- FlowDocumentFormatter.cs
- HierarchicalDataTemplate.cs
- XmlSchemaProviderAttribute.cs
- Control.cs
- InternalTypeHelper.cs
- SqlOuterApplyReducer.cs
- InputScopeAttribute.cs
- FlowDocumentReaderAutomationPeer.cs
- WindowsServiceElement.cs
- Int16AnimationUsingKeyFrames.cs
- XmlSchemaAttribute.cs
- ListControl.cs
- HtmlInputHidden.cs
- CommonObjectSecurity.cs
- EntitySetDataBindingList.cs
- Crypto.cs