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
- DoubleAnimationUsingPath.cs
- PointKeyFrameCollection.cs
- HandleExceptionArgs.cs
- CheckBoxBaseAdapter.cs
- OracleCommandSet.cs
- ProcessHostFactoryHelper.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- ServicesUtilities.cs
- PerformanceCounterPermissionEntry.cs
- ValidatingReaderNodeData.cs
- TrackBar.cs
- HtmlWindow.cs
- MimeFormatExtensions.cs
- CurrencyWrapper.cs
- JoinTreeNode.cs
- WindowsRichEditRange.cs
- TableDesigner.cs
- Touch.cs
- AttributeQuery.cs
- PasswordBox.cs
- TextStore.cs
- CommandEventArgs.cs
- CapabilitiesState.cs
- HttpSessionStateWrapper.cs
- AutoFocusStyle.xaml.cs
- BmpBitmapDecoder.cs
- HwndAppCommandInputProvider.cs
- Instrumentation.cs
- DataControlButton.cs
- PackageDigitalSignature.cs
- ProcessThread.cs
- TemplateKeyConverter.cs
- GeneralTransform3DTo2D.cs
- objectquery_tresulttype.cs
- TextEditorSelection.cs
- ExpressionBinding.cs
- MarginCollapsingState.cs
- PartitionerQueryOperator.cs
- EntityDataSourceChangedEventArgs.cs
- IndexedEnumerable.cs
- RegexGroupCollection.cs
- HashStream.cs
- ContextConfiguration.cs
- ProfileEventArgs.cs
- TypeSystem.cs
- NavigateEvent.cs
- RotationValidation.cs
- IIS7WorkerRequest.cs
- CheckedPointers.cs
- KeyValuePair.cs
- ReadOnlyMetadataCollection.cs
- ChangeDirector.cs
- OleServicesContext.cs
- SerializerDescriptor.cs
- EventToken.cs
- DefaultValueMapping.cs
- KeyedCollection.cs
- DbConnectionPool.cs
- SQLGuidStorage.cs
- SQLByte.cs
- DataExpression.cs
- AnonymousIdentificationModule.cs
- FillErrorEventArgs.cs
- ToolStripButton.cs
- DLinqColumnProvider.cs
- OutOfProcStateClientManager.cs
- DocumentViewerBaseAutomationPeer.cs
- listviewsubitemcollectioneditor.cs
- TickBar.cs
- UIPropertyMetadata.cs
- CompositionTarget.cs
- DropDownList.cs
- TdsParameterSetter.cs
- TextPenaltyModule.cs
- RSACryptoServiceProvider.cs
- DummyDataSource.cs
- SequenceRange.cs
- DispatcherTimer.cs
- HostingEnvironmentSection.cs
- SqlDataSourceQueryConverter.cs
- ListControl.cs
- DoubleLinkListEnumerator.cs
- DesignerHierarchicalDataSourceView.cs
- ViewCellSlot.cs
- FixUpCollection.cs
- ProfileEventArgs.cs
- LineInfo.cs
- DbInsertCommandTree.cs
- SafeEventHandle.cs
- WebPartAuthorizationEventArgs.cs
- _CommandStream.cs
- CFStream.cs
- TreeView.cs
- CompensatableTransactionScopeActivityDesigner.cs
- ProtocolsConfigurationHandler.cs
- ScriptResourceInfo.cs
- RuntimeConfig.cs
- PeerNameRecordCollection.cs
- PreviewKeyDownEventArgs.cs
- UnicodeEncoding.cs