Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- GridViewDeleteEventArgs.cs
- WizardSideBarListControlItem.cs
- GenericRootAutomationPeer.cs
- LinearQuaternionKeyFrame.cs
- DriveNotFoundException.cs
- SplitterPanel.cs
- BinaryMethodMessage.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- BatchWriter.cs
- SQLChars.cs
- CommandExpr.cs
- WmpBitmapEncoder.cs
- ArithmeticException.cs
- OutputScopeManager.cs
- ToolStripRenderer.cs
- RegexCharClass.cs
- StrongName.cs
- sqlstateclientmanager.cs
- PropertyPushdownHelper.cs
- FormViewRow.cs
- ProgressBarHighlightConverter.cs
- EventProvider.cs
- ParseNumbers.cs
- KoreanLunisolarCalendar.cs
- RepeatButtonAutomationPeer.cs
- DataControlImageButton.cs
- PerCallInstanceContextProvider.cs
- RewritingProcessor.cs
- BindUriHelper.cs
- Italic.cs
- InternalPolicyElement.cs
- InternalSafeNativeMethods.cs
- TextureBrush.cs
- ToolStripEditorManager.cs
- HttpModuleActionCollection.cs
- SqlRowUpdatedEvent.cs
- ScriptManager.cs
- GPPOINTF.cs
- FirstMatchCodeGroup.cs
- _NetworkingPerfCounters.cs
- MetadataFile.cs
- UnionCqlBlock.cs
- ProcessModelInfo.cs
- _OSSOCK.cs
- Int16Storage.cs
- Exceptions.cs
- NameValueSectionHandler.cs
- DetailsViewRowCollection.cs
- MetadataPropertyvalue.cs
- SslStream.cs
- RegionData.cs
- GeneralTransform.cs
- EventMappingSettings.cs
- SR.cs
- TextDecoration.cs
- SqlSelectStatement.cs
- DocumentCollection.cs
- SQLDouble.cs
- MSG.cs
- FormsIdentity.cs
- InstallerTypeAttribute.cs
- ResourceReferenceKeyNotFoundException.cs
- WCFServiceClientProxyGenerator.cs
- TextLineBreak.cs
- InvokeSchedule.cs
- SqlVisitor.cs
- GridViewDeleteEventArgs.cs
- SessionStateSection.cs
- Point4D.cs
- UpdateTranslator.cs
- PageAction.cs
- DefaultPropertiesToSend.cs
- ListBindingHelper.cs
- DictionaryEntry.cs
- DiscoveryReference.cs
- TemplateBamlRecordReader.cs
- XamlTreeBuilderBamlRecordWriter.cs
- ShimAsPublicXamlType.cs
- ProgressBar.cs
- ButtonFieldBase.cs
- RequestChannelBinder.cs
- EditCommandColumn.cs
- ProviderConnectionPointCollection.cs
- Point.cs
- Encoder.cs
- PageAsyncTask.cs
- DateTimeSerializationSection.cs
- RowToFieldTransformer.cs
- ReferenceAssemblyAttribute.cs
- Collection.cs
- Splitter.cs
- HtmlControl.cs
- SafePEFileHandle.cs
- WeakReferenceList.cs
- TreePrinter.cs
- PaperSize.cs
- ByteFacetDescriptionElement.cs
- PassportIdentity.cs
- ComboBoxAutomationPeer.cs
- ListParagraph.cs