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
- DrawingDrawingContext.cs
- ClientTargetCollection.cs
- ParserOptions.cs
- SortQueryOperator.cs
- AuthenticationConfig.cs
- ClientRoleProvider.cs
- ActiveXContainer.cs
- HandledEventArgs.cs
- BufferedOutputStream.cs
- PEFileEvidenceFactory.cs
- BindingListCollectionView.cs
- ByteBufferPool.cs
- TraceContextRecord.cs
- PersonalizationStateQuery.cs
- Deserializer.cs
- SmiRequestExecutor.cs
- DirectoryNotFoundException.cs
- DelegatedStream.cs
- DateTimeSerializationSection.cs
- ADMembershipUser.cs
- XmlToDatasetMap.cs
- SecurityException.cs
- ActiveDocumentEvent.cs
- SiteMapNode.cs
- XPathNodeList.cs
- List.cs
- Ports.cs
- CodeRegionDirective.cs
- ShaderRenderModeValidation.cs
- ProfileService.cs
- DataSourceCache.cs
- CurrentChangingEventArgs.cs
- NamedServiceModelExtensionCollectionElement.cs
- SafeHandles.cs
- ForwardPositionQuery.cs
- XmlDocumentSerializer.cs
- CompatibleIComparer.cs
- DataControlFieldHeaderCell.cs
- ProfilePropertyMetadata.cs
- X509CertificateClaimSet.cs
- MediaCommands.cs
- XpsResourcePolicy.cs
- ISFClipboardData.cs
- WindowsToolbarAsMenu.cs
- XmlObjectSerializerWriteContextComplex.cs
- InitializationEventAttribute.cs
- DataGridViewIntLinkedList.cs
- ServiceAppDomainAssociationProvider.cs
- ApplyHostConfigurationBehavior.cs
- XPathNode.cs
- ReadOnlyDataSource.cs
- DataSourceCacheDurationConverter.cs
- __Filters.cs
- FormsAuthenticationEventArgs.cs
- XmlDownloadManager.cs
- SqlDataAdapter.cs
- UserPreferenceChangedEventArgs.cs
- ScopelessEnumAttribute.cs
- DrawingCollection.cs
- X509ChainElement.cs
- ControlsConfig.cs
- UInt32Storage.cs
- Assert.cs
- XamlFigureLengthSerializer.cs
- SystemThemeKey.cs
- CreateParams.cs
- ADRoleFactory.cs
- BitmapPalettes.cs
- PathData.cs
- RenderContext.cs
- Win32MouseDevice.cs
- ALinqExpressionVisitor.cs
- SecurityTokenAuthenticator.cs
- MutexSecurity.cs
- ObjectDataSourceStatusEventArgs.cs
- EndpointDesigner.cs
- OrderByQueryOptionExpression.cs
- SecurityContext.cs
- PerfCounterSection.cs
- TextProperties.cs
- MasterPageBuildProvider.cs
- WsdlContractConversionContext.cs
- DrawingContextDrawingContextWalker.cs
- ConfigXmlCDataSection.cs
- CodeTryCatchFinallyStatement.cs
- mansign.cs
- ResourceDictionaryCollection.cs
- DetailsViewDeleteEventArgs.cs
- SqlUnionizer.cs
- HttpWrapper.cs
- DynamicRendererThreadManager.cs
- DataIdProcessor.cs
- GeometryHitTestResult.cs
- RayHitTestParameters.cs
- WinEventTracker.cs
- QueryExecutionOption.cs
- FontStyleConverter.cs
- NotificationContext.cs
- DataErrorValidationRule.cs
- StringResourceManager.cs