Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Core / CSharp / System / Windows / Media / Effects / BlurBitmapEffect.cs / 3 / 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
- PropertyInformation.cs
- ServerType.cs
- DataSourceProvider.cs
- EmissiveMaterial.cs
- CallInfo.cs
- ACL.cs
- UIElementHelper.cs
- TransformedBitmap.cs
- DbUpdateCommandTree.cs
- MsmqInputSessionChannel.cs
- XmlStreamStore.cs
- Int64Animation.cs
- ObjectDataSourceEventArgs.cs
- EmbeddedMailObjectsCollection.cs
- FocusChangedEventArgs.cs
- MgmtConfigurationRecord.cs
- DefaultBindingPropertyAttribute.cs
- VersionedStreamOwner.cs
- HttpWebResponse.cs
- DocumentPaginator.cs
- DocumentViewer.cs
- PrtCap_Public_Simple.cs
- XmlHierarchicalDataSourceView.cs
- ExtenderControl.cs
- NameTable.cs
- DataGridSortCommandEventArgs.cs
- DirectionalLight.cs
- NullRuntimeConfig.cs
- ExternalException.cs
- _TransmitFileOverlappedAsyncResult.cs
- TypeTypeConverter.cs
- KerberosSecurityTokenAuthenticator.cs
- storepermissionattribute.cs
- SqlCaseSimplifier.cs
- FilterableAttribute.cs
- HwndMouseInputProvider.cs
- DummyDataSource.cs
- _NetworkingPerfCounters.cs
- BuildManagerHost.cs
- CompoundFileStorageReference.cs
- AppSettingsSection.cs
- GetIndexBinder.cs
- StylusDevice.cs
- Win32KeyboardDevice.cs
- SoapFault.cs
- TimeManager.cs
- HttpHandlersSection.cs
- XmlName.cs
- MenuItemStyle.cs
- NamespaceDecl.cs
- TextViewSelectionProcessor.cs
- httpstaticobjectscollection.cs
- __Filters.cs
- TrackBarDesigner.cs
- Helper.cs
- WebPartActionVerb.cs
- ProviderCommandInfoUtils.cs
- EntityContainerEntitySetDefiningQuery.cs
- util.cs
- TakeQueryOptionExpression.cs
- FlowDocumentFormatter.cs
- ConfigPathUtility.cs
- Label.cs
- CallbackException.cs
- UIElementIsland.cs
- HttpCapabilitiesEvaluator.cs
- QuaternionValueSerializer.cs
- AbstractSvcMapFileLoader.cs
- FormDesigner.cs
- WebPartDisplayModeEventArgs.cs
- CachedRequestParams.cs
- ReflectionHelper.cs
- XPathNavigator.cs
- RoleGroupCollection.cs
- ThreadAbortException.cs
- input.cs
- AmbientProperties.cs
- SymbolMethod.cs
- LogRecordSequence.cs
- CodeTypeDeclarationCollection.cs
- ListBoxAutomationPeer.cs
- DesignerDataStoredProcedure.cs
- CacheForPrimitiveTypes.cs
- SqlDataSourceCache.cs
- SqlBuffer.cs
- ListSourceHelper.cs
- ZipIOExtraFieldElement.cs
- CaseExpr.cs
- IgnoreDataMemberAttribute.cs
- SqlDataReaderSmi.cs
- DataTrigger.cs
- TreeView.cs
- FrameworkTextComposition.cs
- QueryRewriter.cs
- SqlErrorCollection.cs
- RotateTransform3D.cs
- UnrecognizedPolicyAssertionElement.cs
- TextEditorCopyPaste.cs
- Typeface.cs
- RightsManagementPermission.cs