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
- XamlRtfConverter.cs
- PackageProperties.cs
- XamlTreeBuilder.cs
- HtmlTextArea.cs
- RoleManagerModule.cs
- MessageSecurityException.cs
- VisualTreeHelper.cs
- TypeInitializationException.cs
- PopupRootAutomationPeer.cs
- PhysicalAddress.cs
- ApplyImportsAction.cs
- Memoizer.cs
- AccessControlEntry.cs
- InheritedPropertyDescriptor.cs
- BuildTopDownAttribute.cs
- SchemaElementLookUpTableEnumerator.cs
- ListControl.cs
- DrawToolTipEventArgs.cs
- DetailsView.cs
- MultilineStringConverter.cs
- BinarySerializer.cs
- FloatMinMaxAggregationOperator.cs
- ContentOnlyMessage.cs
- NativeMethodsOther.cs
- SafeNativeMethods.cs
- OptimalBreakSession.cs
- AttachedPropertyInfo.cs
- ToolStripSeparatorRenderEventArgs.cs
- Options.cs
- Geometry.cs
- Rotation3DAnimationBase.cs
- QilReplaceVisitor.cs
- SerializationException.cs
- ParameterBinding.cs
- Size3DValueSerializer.cs
- VectorCollectionValueSerializer.cs
- DataGridColumnHeaderAutomationPeer.cs
- ClientFormsIdentity.cs
- ContextProperty.cs
- XmlObjectSerializer.cs
- PageParser.cs
- UnaryExpressionHelper.cs
- DnsPermission.cs
- EditingCommands.cs
- AuthenticateEventArgs.cs
- StorageEndPropertyMapping.cs
- TextChange.cs
- RegexCapture.cs
- ControlCachePolicy.cs
- NativeCppClassAttribute.cs
- TabPage.cs
- QilTypeChecker.cs
- Regex.cs
- PropertyCollection.cs
- Rijndael.cs
- AncestorChangedEventArgs.cs
- FieldDescriptor.cs
- ScrollViewerAutomationPeer.cs
- ScalarType.cs
- RotationValidation.cs
- HtmlImage.cs
- WorkflowRuntimeBehavior.cs
- RawTextInputReport.cs
- ToolStripSettings.cs
- UpdateTracker.cs
- DbProviderManifest.cs
- SuppressMergeCheckAttribute.cs
- AutoResetEvent.cs
- LabelLiteral.cs
- SiteMapNode.cs
- RuntimeEnvironment.cs
- QuotedStringWriteStateInfo.cs
- ConsumerConnectionPoint.cs
- CodeTypeConstructor.cs
- DebugInfo.cs
- ValueSerializerAttribute.cs
- ByteStreamGeometryContext.cs
- SecureEnvironment.cs
- ValidationHelpers.cs
- OdbcEnvironmentHandle.cs
- _NegoStream.cs
- SiteMapSection.cs
- tibetanshape.cs
- StyleConverter.cs
- Pair.cs
- FixedHyperLink.cs
- CryptoConfig.cs
- XmlSerializerNamespaces.cs
- IdnElement.cs
- LinkTarget.cs
- HttpClientCertificate.cs
- Accessors.cs
- WebServiceReceive.cs
- TypographyProperties.cs
- MD5HashHelper.cs
- ResourceContainer.cs
- CompilationLock.cs
- TeredoHelper.cs
- SignatureDescription.cs
- ProxyDataContractResolver.cs