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
- AddressHeader.cs
- CompositeKey.cs
- BindingMAnagerBase.cs
- ChtmlTextWriter.cs
- PixelFormatConverter.cs
- ScrollItemPattern.cs
- Line.cs
- ToolStripSystemRenderer.cs
- XmlAttribute.cs
- DataGridColumnDropSeparator.cs
- BitmapFrameEncode.cs
- TargetParameterCountException.cs
- PersistChildrenAttribute.cs
- GiveFeedbackEventArgs.cs
- IndicFontClient.cs
- InvalidAsynchronousStateException.cs
- PoisonMessageException.cs
- DebugTraceHelper.cs
- HttpCookie.cs
- WindowInteractionStateTracker.cs
- MatchingStyle.cs
- Automation.cs
- Accessible.cs
- WindowsListViewGroupHelper.cs
- TraceHandlerErrorFormatter.cs
- BlurBitmapEffect.cs
- Array.cs
- XamlStream.cs
- StorageComplexTypeMapping.cs
- NativeMethodsCLR.cs
- TextParagraphView.cs
- GridViewUpdateEventArgs.cs
- PointValueSerializer.cs
- HtmlWindowCollection.cs
- XPathMultyIterator.cs
- SweepDirectionValidation.cs
- XPathConvert.cs
- CodeLabeledStatement.cs
- ReadOnlyCollectionBuilder.cs
- WebPartZoneCollection.cs
- ClientBuildManager.cs
- _StreamFramer.cs
- AttachedAnnotation.cs
- WrappedIUnknown.cs
- StylusSystemGestureEventArgs.cs
- DurationConverter.cs
- SchemaDeclBase.cs
- WebPartExportVerb.cs
- SafeHandles.cs
- AsyncSerializedWorker.cs
- CancellationToken.cs
- CodeLabeledStatement.cs
- DynamicDataRoute.cs
- Win32Exception.cs
- ThumbAutomationPeer.cs
- EntitySqlQueryCacheEntry.cs
- GeneralTransform.cs
- JpegBitmapDecoder.cs
- InputProviderSite.cs
- UIElement.cs
- CodeBlockBuilder.cs
- FontUnit.cs
- ServiceManager.cs
- EntityDataSourceEntitySetNameItem.cs
- AccessibilityHelperForXpWin2k3.cs
- InputQueue.cs
- LogExtent.cs
- DefaultEvaluationContext.cs
- ExceptionValidationRule.cs
- AdPostCacheSubstitution.cs
- DesignerWithHeader.cs
- DATA_BLOB.cs
- AdapterUtil.cs
- RequestTimeoutManager.cs
- ProfessionalColors.cs
- CodeCommentStatementCollection.cs
- DefaultTextStoreTextComposition.cs
- TextBox.cs
- StyleSheetRefUrlEditor.cs
- RandomNumberGenerator.cs
- FastPropertyAccessor.cs
- ContractsBCL.cs
- BaseCodeDomTreeGenerator.cs
- ButtonPopupAdapter.cs
- SearchForVirtualItemEventArgs.cs
- TemplateDefinition.cs
- XmlSchemaAttributeGroup.cs
- GenericAuthenticationEventArgs.cs
- RuleSetCollection.cs
- StylusPointPropertyInfo.cs
- _NestedMultipleAsyncResult.cs
- InstanceCreationEditor.cs
- DiscoveryServerProtocol.cs
- StrokeNodeData.cs
- Speller.cs
- DataColumnCollection.cs
- TextServicesDisplayAttributePropertyRanges.cs
- TypeContext.cs
- OverrideMode.cs
- XmlNotation.cs