Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media / Effects / BlurBitmapEffect.cs / 1407647 / 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 /// ////// Critical - returns a security critical type SafeHandle. /// Safe - Always returns null. /// [SecuritySafeCritical] [Obsolete(MS.Internal.Media.VisualTreeUtils.BitmapEffectObsoleteMessage)] unsafe protected override SafeHandle CreateUnmanagedEffect() { return null; } ////// 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] [Obsolete(MS.Internal.Media.VisualTreeUtils.BitmapEffectObsoleteMessage)] protected override void UpdateUnmanagedPropertyState(SafeHandle unmanagedEffect) { SecurityHelper.DemandUIWindowPermission(); } ////// 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.IsFrozen) { return _imageEffectEmulation; } if (_imageEffectEmulation == null) { _imageEffectEmulation = new BlurEffect(); } double radius = Radius; if (_imageEffectEmulation.Radius != radius) { _imageEffectEmulation.Radius = radius; } KernelType kernelType = KernelType; if (_imageEffectEmulation.KernelType != kernelType) { _imageEffectEmulation.KernelType = kernelType; } _imageEffectEmulation.RenderingBias = RenderingBias.Performance; if (this.IsFrozen) { _imageEffectEmulation.Freeze(); } 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 /// ////// Critical - returns a security critical type SafeHandle. /// Safe - Always returns null. /// [SecuritySafeCritical] [Obsolete(MS.Internal.Media.VisualTreeUtils.BitmapEffectObsoleteMessage)] unsafe protected override SafeHandle CreateUnmanagedEffect() { return null; } ////// 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] [Obsolete(MS.Internal.Media.VisualTreeUtils.BitmapEffectObsoleteMessage)] protected override void UpdateUnmanagedPropertyState(SafeHandle unmanagedEffect) { SecurityHelper.DemandUIWindowPermission(); } ////// 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.IsFrozen) { return _imageEffectEmulation; } if (_imageEffectEmulation == null) { _imageEffectEmulation = new BlurEffect(); } double radius = Radius; if (_imageEffectEmulation.Radius != radius) { _imageEffectEmulation.Radius = radius; } KernelType kernelType = KernelType; if (_imageEffectEmulation.KernelType != kernelType) { _imageEffectEmulation.KernelType = kernelType; } _imageEffectEmulation.RenderingBias = RenderingBias.Performance; if (this.IsFrozen) { _imageEffectEmulation.Freeze(); } 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
- DragDrop.cs
- SyndicationPerson.cs
- DrawingContextWalker.cs
- AttachmentCollection.cs
- BitmapImage.cs
- XPathBuilder.cs
- parserscommon.cs
- AdobeCFFWrapper.cs
- HostingEnvironment.cs
- APCustomTypeDescriptor.cs
- BooleanFunctions.cs
- ListItemConverter.cs
- BuildResult.cs
- DerivedKeySecurityToken.cs
- EqualityArray.cs
- DirectoryGroupQuery.cs
- Base64Decoder.cs
- DbConnectionHelper.cs
- ToolStripScrollButton.cs
- MenuItemBinding.cs
- ImageSource.cs
- NativeBuffer.cs
- RemoteWebConfigurationHostServer.cs
- ProxyWebPartManager.cs
- BatchParser.cs
- UshortList2.cs
- ReadOnlyNameValueCollection.cs
- DbParameterHelper.cs
- Rules.cs
- _LocalDataStore.cs
- TreeViewImageKeyConverter.cs
- SourceFileBuildProvider.cs
- GridItem.cs
- HeaderPanel.cs
- TypeConstant.cs
- UpDownBase.cs
- WebPartCatalogCloseVerb.cs
- cryptoapiTransform.cs
- ServiceReference.cs
- ServiceControllerDesigner.cs
- ProxySimple.cs
- FileCodeGroup.cs
- BuildProviderUtils.cs
- Clause.cs
- ScrollContentPresenter.cs
- SerializationEventsCache.cs
- CodeParameterDeclarationExpression.cs
- ClonableStack.cs
- PluralizationService.cs
- SystemSounds.cs
- VScrollProperties.cs
- ClientScriptItemCollection.cs
- StringConcat.cs
- ReachDocumentReferenceCollectionSerializer.cs
- OutputCacheModule.cs
- HttpAsyncResult.cs
- SingleAnimationBase.cs
- TextRangeEditTables.cs
- Metadata.cs
- Timer.cs
- TextServicesManager.cs
- TagMapInfo.cs
- CookielessHelper.cs
- EnumBuilder.cs
- TextParagraphCache.cs
- XmlChoiceIdentifierAttribute.cs
- ControlBindingsCollection.cs
- SqlDataSourceCache.cs
- Guid.cs
- Variant.cs
- Helper.cs
- HighlightComponent.cs
- Visitors.cs
- SuppressIldasmAttribute.cs
- initElementDictionary.cs
- ValueUtilsSmi.cs
- LinkLabel.cs
- RegexStringValidatorAttribute.cs
- GridErrorDlg.cs
- WriteTimeStream.cs
- CodeIndexerExpression.cs
- MobilePage.cs
- BaseTemplateCodeDomTreeGenerator.cs
- DomNameTable.cs
- __ComObject.cs
- ChannelDispatcherBase.cs
- FileRecordSequence.cs
- Button.cs
- OuterGlowBitmapEffect.cs
- ProviderIncompatibleException.cs
- StatusStrip.cs
- WebEventCodes.cs
- MailFileEditor.cs
- DefaultSection.cs
- SerTrace.cs
- ConsoleCancelEventArgs.cs
- ExpressionContext.cs
- RightsManagementPermission.cs
- TreeNodeBindingCollection.cs
- Accessible.cs