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
- ContextMenuStripActionList.cs
- CodeAttachEventStatement.cs
- EventOpcode.cs
- NetworkInformationPermission.cs
- SortQuery.cs
- BrowserCapabilitiesFactory.cs
- PropertyFilter.cs
- SessionSwitchEventArgs.cs
- Attributes.cs
- ScopelessEnumAttribute.cs
- _ContextAwareResult.cs
- DllNotFoundException.cs
- SecurityChannelFaultConverter.cs
- ProjectedSlot.cs
- UTF32Encoding.cs
- SchemeSettingElementCollection.cs
- StorageMappingItemCollection.cs
- TokenBasedSetEnumerator.cs
- SchemaElement.cs
- StrictModeSecurityHeaderElementInferenceEngine.cs
- AbandonedMutexException.cs
- XmlSchemaComplexContentExtension.cs
- MimeTypeAttribute.cs
- ObjectAnimationBase.cs
- ContextStaticAttribute.cs
- ExpressionWriter.cs
- SwitchLevelAttribute.cs
- AsymmetricKeyExchangeFormatter.cs
- PlaceHolder.cs
- DispatcherOperation.cs
- Symbol.cs
- WebColorConverter.cs
- SoapHeaderException.cs
- ResourceWriter.cs
- AttachedPropertyInfo.cs
- SqlCacheDependencyDatabaseCollection.cs
- FieldNameLookup.cs
- ExtendedPropertyDescriptor.cs
- XamlTypeMapper.cs
- SQLGuid.cs
- SafeArrayTypeMismatchException.cs
- StringFunctions.cs
- ColumnResult.cs
- CqlBlock.cs
- SafeRegistryHandle.cs
- baseaxisquery.cs
- TcpConnectionPoolSettings.cs
- StyleSheetDesigner.cs
- IChannel.cs
- ConsumerConnectionPoint.cs
- XmlUtilWriter.cs
- XmlSchemaAttributeGroupRef.cs
- XmlCountingReader.cs
- EntityDataSourceState.cs
- ImageBrush.cs
- SqlSupersetValidator.cs
- BrowserCapabilitiesFactoryBase.cs
- TextBoxDesigner.cs
- Vector3DIndependentAnimationStorage.cs
- NamedObject.cs
- TemplateField.cs
- MappedMetaModel.cs
- StructuralType.cs
- ErrorHandler.cs
- Int32AnimationBase.cs
- XamlBuildProvider.cs
- MethodBuilderInstantiation.cs
- DataTableClearEvent.cs
- TiffBitmapEncoder.cs
- BulletedListEventArgs.cs
- Delegate.cs
- shaperfactory.cs
- Column.cs
- Double.cs
- Vector3D.cs
- WorkerRequest.cs
- RangeValueProviderWrapper.cs
- ToolStripContextMenu.cs
- BorderSidesEditor.cs
- QueryCacheManager.cs
- SendMailErrorEventArgs.cs
- Size3DConverter.cs
- DesignerLoader.cs
- CompilerInfo.cs
- versioninfo.cs
- UnsafeNativeMethods.cs
- ApplicationBuildProvider.cs
- Brush.cs
- NodeInfo.cs
- ElementNotAvailableException.cs
- DbDataSourceEnumerator.cs
- LookupNode.cs
- WebFormDesignerActionService.cs
- BinHexDecoder.cs
- HierarchicalDataBoundControl.cs
- LambdaReference.cs
- FixUp.cs
- JavaScriptString.cs
- JapaneseCalendar.cs
- SiteMapPath.cs