Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- NameSpaceExtractor.cs
- XmlTypeMapping.cs
- FileLevelControlBuilderAttribute.cs
- XmlWellformedWriter.cs
- SpanIndex.cs
- BitmapScalingModeValidation.cs
- UpDownEvent.cs
- PropertyBuilder.cs
- EnumUnknown.cs
- BamlRecordReader.cs
- ConfigurationElementCollection.cs
- VisualStyleInformation.cs
- DBConcurrencyException.cs
- SqlCacheDependencySection.cs
- PresentationAppDomainManager.cs
- RawStylusInputCustomData.cs
- SqlProfileProvider.cs
- FocusWithinProperty.cs
- HideDisabledControlAdapter.cs
- PopupRootAutomationPeer.cs
- StickyNoteContentControl.cs
- PropertyGroupDescription.cs
- XsltQilFactory.cs
- TextElement.cs
- SqlConnection.cs
- LinkConverter.cs
- StylusLogic.cs
- AssemblyInfo.cs
- WindowsListViewItemCheckBox.cs
- XmlHierarchicalEnumerable.cs
- ObjectPropertyMapping.cs
- TypeDelegator.cs
- SafeNativeMethods.cs
- FrameworkReadOnlyPropertyMetadata.cs
- PersonalizationProvider.cs
- SmiGettersStream.cs
- SystemTcpConnection.cs
- SolidColorBrush.cs
- BinaryCommonClasses.cs
- WeakRefEnumerator.cs
- FacetDescriptionElement.cs
- IndexedEnumerable.cs
- EmptyEnumerable.cs
- GenericWebPart.cs
- AutomationPeer.cs
- ScriptDescriptor.cs
- FontCacheLogic.cs
- DataSpaceManager.cs
- CryptoApi.cs
- IApplicationTrustManager.cs
- TemplateControlCodeDomTreeGenerator.cs
- XmlQuerySequence.cs
- CompilerState.cs
- OleDbWrapper.cs
- FactoryGenerator.cs
- DiscoveryExceptionDictionary.cs
- CheckBoxPopupAdapter.cs
- TransformCollection.cs
- SortableBindingList.cs
- HtmlElement.cs
- Sql8ExpressionRewriter.cs
- OptimalBreakSession.cs
- DiscoveryRequestHandler.cs
- InitiatorSessionSymmetricMessageSecurityProtocol.cs
- HtmlInputControl.cs
- AllowedAudienceUriElement.cs
- Int64Converter.cs
- MultidimensionalArrayItemReference.cs
- AsyncCodeActivityContext.cs
- RoutedCommand.cs
- SemanticResultKey.cs
- SchemaImporterExtensionsSection.cs
- CallbackValidatorAttribute.cs
- PartBasedPackageProperties.cs
- RowCache.cs
- TaskSchedulerException.cs
- UIAgentAsyncEndRequest.cs
- XmlSchemaImporter.cs
- XmlSchemaObjectCollection.cs
- ResXBuildProvider.cs
- TdsParserSafeHandles.cs
- SystemShuttingDownException.cs
- SqlAggregateChecker.cs
- QilGeneratorEnv.cs
- ChannelPoolSettings.cs
- XmlSerializerSection.cs
- SafeRightsManagementSessionHandle.cs
- TransportBindingElementImporter.cs
- Button.cs
- HttpBrowserCapabilitiesWrapper.cs
- ReflectionUtil.cs
- PointCollection.cs
- Geometry.cs
- WindowsFont.cs
- Pen.cs
- HttpCachePolicyElement.cs
- ScrollViewerAutomationPeer.cs
- PlainXmlSerializer.cs
- DesignerDataSourceView.cs
- ObjectStateManager.cs