Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- HttpListenerRequest.cs
- ReachBasicContext.cs
- ExtenderControl.cs
- SynchronizedInputAdaptor.cs
- CellParagraph.cs
- MessagingActivityHelper.cs
- ProfileInfo.cs
- SizeAnimationBase.cs
- SafeSystemMetrics.cs
- PartialCachingControl.cs
- MachineKeySection.cs
- EntityPropertyMappingAttribute.cs
- OneOfScalarConst.cs
- EdmFunctionAttribute.cs
- UnsafeNativeMethods.cs
- Int32.cs
- WindowVisualStateTracker.cs
- SqlCommandSet.cs
- ContentDisposition.cs
- VisualStyleRenderer.cs
- PropertyInformationCollection.cs
- RemoteWebConfigurationHost.cs
- XmlQueryOutput.cs
- StateBag.cs
- DataPagerFieldItem.cs
- ThreadLocal.cs
- CapabilitiesAssignment.cs
- RestHandlerFactory.cs
- _SslState.cs
- Helper.cs
- StateManagedCollection.cs
- PropertyDescriptorCollection.cs
- BevelBitmapEffect.cs
- ValidationEventArgs.cs
- QuestionEventArgs.cs
- TemplateNodeContextMenu.cs
- BuildManager.cs
- DefaultValidator.cs
- Grid.cs
- TemplateContentLoader.cs
- SizeAnimationUsingKeyFrames.cs
- URI.cs
- SpStreamWrapper.cs
- ISO2022Encoding.cs
- DataGridViewCellCollection.cs
- MembershipValidatePasswordEventArgs.cs
- LinkedResourceCollection.cs
- XmlNodeList.cs
- ExpressionValueEditor.cs
- CleanUpVirtualizedItemEventArgs.cs
- _TLSstream.cs
- HttpFileCollection.cs
- ToolStripDropDownMenu.cs
- EventSetter.cs
- Variable.cs
- UIPropertyMetadata.cs
- mactripleDES.cs
- ScrollChrome.cs
- DataContractSerializerServiceBehavior.cs
- StrongNameIdentityPermission.cs
- ClientOptions.cs
- PointIndependentAnimationStorage.cs
- SQLStringStorage.cs
- MinimizableAttributeTypeConverter.cs
- ViewSimplifier.cs
- DataControlButton.cs
- AttributeData.cs
- DrawingGroup.cs
- Int32CAMarshaler.cs
- AsyncOperation.cs
- TraceInternal.cs
- XmlSchemaCollection.cs
- MobileControlsSectionHandler.cs
- NavigationHelper.cs
- DesignerDataParameter.cs
- EntityDataSourceSelectingEventArgs.cs
- SimpleWebHandlerParser.cs
- ScrollItemProviderWrapper.cs
- ServiceActivationException.cs
- LazyLoadBehavior.cs
- SyndicationDeserializer.cs
- JsonFormatWriterGenerator.cs
- XPathMultyIterator.cs
- XmlUTF8TextReader.cs
- PtsPage.cs
- PropertySet.cs
- StorageComplexTypeMapping.cs
- StateDesigner.Helpers.cs
- RelationshipConverter.cs
- MessageDecoder.cs
- EncryptedHeaderXml.cs
- DocumentCollection.cs
- MenuTracker.cs
- TopClause.cs
- LinkButton.cs
- MarkerProperties.cs
- OracleTransaction.cs
- NegotiateStream.cs
- RoutedEventArgs.cs
- DataGridToolTip.cs