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
- MemoryStream.cs
- Cursor.cs
- OutputCacheSection.cs
- Light.cs
- Transform.cs
- HeaderCollection.cs
- DrawingBrush.cs
- RadioButtonBaseAdapter.cs
- DragStartedEventArgs.cs
- ADConnectionHelper.cs
- ThreadStartException.cs
- CodeSubDirectory.cs
- DataGridViewCellValueEventArgs.cs
- CurrencyManager.cs
- DBDataPermission.cs
- TaskbarItemInfo.cs
- baseshape.cs
- SmiConnection.cs
- MimeTypePropertyAttribute.cs
- DataTemplateKey.cs
- DriveNotFoundException.cs
- ProcessStartInfo.cs
- XmlTextReader.cs
- TemplatedWizardStep.cs
- ApplyImportsAction.cs
- ObjectListDesigner.cs
- RoutedCommand.cs
- ProcessMessagesAsyncResult.cs
- TextHidden.cs
- SimpleTypeResolver.cs
- mansign.cs
- DetailsViewActionList.cs
- PeerInvitationResponse.cs
- Color.cs
- StylusEventArgs.cs
- KeyNotFoundException.cs
- TextTreeTextElementNode.cs
- StringFunctions.cs
- FontUnit.cs
- WorkflowMessageEventArgs.cs
- RouteItem.cs
- CompoundFileStreamReference.cs
- SeekStoryboard.cs
- GeometryModel3D.cs
- MenuCommands.cs
- EntityContainerRelationshipSetEnd.cs
- StateDesignerConnector.cs
- BinaryCommonClasses.cs
- StatusBarItemAutomationPeer.cs
- HealthMonitoringSection.cs
- WebPartConnectionCollection.cs
- TextTreeDeleteContentUndoUnit.cs
- OciHandle.cs
- TrackBarDesigner.cs
- ContractAdapter.cs
- JoinTreeNode.cs
- SoapEnumAttribute.cs
- ProfileManager.cs
- InfoCardTraceRecord.cs
- ProxyHelper.cs
- ValueUtilsSmi.cs
- __TransparentProxy.cs
- PointConverter.cs
- SecurityMode.cs
- DynamicMetaObject.cs
- EncryptedPackage.cs
- UpdateProgress.cs
- PriorityBindingExpression.cs
- ListViewDataItem.cs
- NotSupportedException.cs
- KerberosReceiverSecurityToken.cs
- _HelperAsyncResults.cs
- IndexedString.cs
- _NativeSSPI.cs
- DataSourceCacheDurationConverter.cs
- ProcessStartInfo.cs
- WindowsGraphicsCacheManager.cs
- HtmlButton.cs
- DesignerAdRotatorAdapter.cs
- ControlBuilder.cs
- DESCryptoServiceProvider.cs
- HwndTarget.cs
- CellParagraph.cs
- TransportationConfigurationTypeInstallComponent.cs
- CustomSignedXml.cs
- AppSettingsSection.cs
- CodeTypeReferenceCollection.cs
- PrintPreviewGraphics.cs
- UnwrappedTypesXmlSerializerManager.cs
- OLEDB_Enum.cs
- FormsAuthenticationCredentials.cs
- DynamicContractTypeBuilder.cs
- ObjRef.cs
- CodeIndexerExpression.cs
- BoolExpressionVisitors.cs
- ContextProperty.cs
- ContactManager.cs
- ScrollProviderWrapper.cs
- Queue.cs
- ClientUtils.cs