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
- SystemException.cs
- XmlAggregates.cs
- X509SecurityTokenAuthenticator.cs
- validation.cs
- FixedTextPointer.cs
- ShutDownListener.cs
- DesignerUtility.cs
- SpeakInfo.cs
- StringAttributeCollection.cs
- TCEAdapterGenerator.cs
- MethodExecutor.cs
- XmlSchemaAny.cs
- CodeDOMUtility.cs
- CalloutQueueItem.cs
- HostedElements.cs
- FrameworkElement.cs
- StylusPointPropertyInfoDefaults.cs
- EasingFunctionBase.cs
- SQLInt16Storage.cs
- EventRoute.cs
- WsatAdminException.cs
- EnvironmentPermission.cs
- NavigationPropertyEmitter.cs
- InfoCardRequestException.cs
- InlineUIContainer.cs
- EventlogProvider.cs
- ReachSerializationUtils.cs
- Model3D.cs
- _TimerThread.cs
- SelectionWordBreaker.cs
- PKCS1MaskGenerationMethod.cs
- IisNotInstalledException.cs
- _DigestClient.cs
- StrongName.cs
- ResXResourceReader.cs
- Camera.cs
- ConfigurationSchemaErrors.cs
- FlowPosition.cs
- propertyentry.cs
- DeferredRunTextReference.cs
- ParenExpr.cs
- Condition.cs
- AggregateNode.cs
- PropertySourceInfo.cs
- XmlTextAttribute.cs
- PackWebRequestFactory.cs
- XmlElementAttribute.cs
- FixedSOMTable.cs
- DbConnectionFactory.cs
- InnerItemCollectionView.cs
- OleAutBinder.cs
- ObjectDesignerDataSourceView.cs
- ContentValidator.cs
- BasicExpressionVisitor.cs
- DataServices.cs
- AxisAngleRotation3D.cs
- MembershipSection.cs
- FlowchartDesigner.Helpers.cs
- HtmlControlPersistable.cs
- CodeMethodInvokeExpression.cs
- AssemblyBuilder.cs
- LayoutTableCell.cs
- PixelFormats.cs
- Connector.xaml.cs
- SerializerWriterEventHandlers.cs
- ImageSourceConverter.cs
- VisualBrush.cs
- BaseComponentEditor.cs
- GC.cs
- ListViewItemEventArgs.cs
- ConfigurationManagerInternalFactory.cs
- MonthCalendar.cs
- QilValidationVisitor.cs
- TableCellCollection.cs
- ListArgumentProvider.cs
- InvokeProviderWrapper.cs
- SortedList.cs
- CodeRegionDirective.cs
- ConnectionConsumerAttribute.cs
- XmlDataSourceNodeDescriptor.cs
- MasterPageParser.cs
- DebugView.cs
- FontCacheLogic.cs
- ParagraphResult.cs
- MultiSelectRootGridEntry.cs
- BindableTemplateBuilder.cs
- ButtonStandardAdapter.cs
- AlphaSortedEnumConverter.cs
- AdobeCFFWrapper.cs
- SafeSecurityHandles.cs
- CorrelationKey.cs
- FileRecordSequenceHelper.cs
- OperationResponse.cs
- NavigationProperty.cs
- SiteOfOriginContainer.cs
- XmlnsDefinitionAttribute.cs
- LocalFileSettingsProvider.cs
- TemplateXamlParser.cs
- QueryResponse.cs
- SqlFunctionAttribute.cs