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
- DmlSqlGenerator.cs
- StorageEntityTypeMapping.cs
- Style.cs
- DecoderReplacementFallback.cs
- RowUpdatingEventArgs.cs
- Help.cs
- ClaimTypeRequirement.cs
- UpDownEvent.cs
- TailCallAnalyzer.cs
- WSSecurityOneDotOneReceiveSecurityHeader.cs
- TickBar.cs
- PersonalizationProviderHelper.cs
- PropertyPathConverter.cs
- ValidationErrorCollection.cs
- Console.cs
- RewritingSimplifier.cs
- ProfileBuildProvider.cs
- SmiSettersStream.cs
- SamlAttributeStatement.cs
- DocumentGrid.cs
- SmiRecordBuffer.cs
- RemoteWebConfigurationHost.cs
- CharEnumerator.cs
- configsystem.cs
- FlowSwitch.cs
- SerTrace.cs
- WindowsSolidBrush.cs
- PolygonHotSpot.cs
- RegistryKey.cs
- Trace.cs
- Int32AnimationUsingKeyFrames.cs
- SizeChangedEventArgs.cs
- StateWorkerRequest.cs
- PerformanceCounterCategory.cs
- AsymmetricSignatureFormatter.cs
- ResourceDescriptionAttribute.cs
- contentDescriptor.cs
- SByteStorage.cs
- StylusPointPropertyInfo.cs
- FontSourceCollection.cs
- OleDbConnectionInternal.cs
- BinaryWriter.cs
- Main.cs
- CategoryGridEntry.cs
- DockAndAnchorLayout.cs
- processwaithandle.cs
- TypedMessageConverter.cs
- UIPermission.cs
- XmlWrappingWriter.cs
- DocumentPageView.cs
- ProtocolsSection.cs
- ProgressBarRenderer.cs
- XmlKeywords.cs
- MessageDecoder.cs
- ScrollableControl.cs
- PrintController.cs
- CodeObject.cs
- DataKeyArray.cs
- ViewStateChangedEventArgs.cs
- InputQueueChannelAcceptor.cs
- DbReferenceCollection.cs
- StringStorage.cs
- LockedActivityGlyph.cs
- FillBehavior.cs
- RangeContentEnumerator.cs
- TemplateInstanceAttribute.cs
- ComponentEditorForm.cs
- SessionEndingEventArgs.cs
- RelationshipEnd.cs
- HashCodeCombiner.cs
- ParameterCollection.cs
- ToolStripLocationCancelEventArgs.cs
- BCLDebug.cs
- CodeTypeMember.cs
- WindowsAuthenticationModule.cs
- FocusManager.cs
- FormsAuthenticationUserCollection.cs
- HwndSubclass.cs
- HwndAppCommandInputProvider.cs
- FilterEventArgs.cs
- RuntimeConfig.cs
- CustomAttributeSerializer.cs
- TextBoxAutoCompleteSourceConverter.cs
- Journal.cs
- _AutoWebProxyScriptWrapper.cs
- SafeNativeMethods.cs
- RawUIStateInputReport.cs
- CompositionAdorner.cs
- PageSettings.cs
- QueryContext.cs
- InputScopeConverter.cs
- FixedFindEngine.cs
- ADRole.cs
- ValidationSummary.cs
- JumpPath.cs
- ColumnReorderedEventArgs.cs
- CalendarDateRangeChangingEventArgs.cs
- LabelAutomationPeer.cs
- StringWriter.cs
- XmlTypeMapping.cs