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
- EditorZoneBase.cs
- FormViewInsertEventArgs.cs
- Pair.cs
- SmiConnection.cs
- PrePostDescendentsWalker.cs
- CompiledELinqQueryState.cs
- SemanticResultKey.cs
- WindowsTokenRoleProvider.cs
- ConnectionConsumerAttribute.cs
- OleDbPermission.cs
- TextEditorContextMenu.cs
- XmlTypeAttribute.cs
- SimpleTypeResolver.cs
- ProviderUtil.cs
- FileDialog.cs
- hresults.cs
- Emitter.cs
- XmlQuerySequence.cs
- DataTableNewRowEvent.cs
- ObjectListSelectEventArgs.cs
- WorkflowFileItem.cs
- TdsParserHelperClasses.cs
- ComponentChangingEvent.cs
- RootBuilder.cs
- GeneralTransform.cs
- UmAlQuraCalendar.cs
- UriSection.cs
- LayoutManager.cs
- AppliedDeviceFiltersEditor.cs
- FieldValue.cs
- ObjectSpanRewriter.cs
- NativeActivityAbortContext.cs
- RecognizerStateChangedEventArgs.cs
- DeferredTextReference.cs
- HostProtectionPermission.cs
- ScaleTransform.cs
- PropertyEmitter.cs
- Typography.cs
- AccessDataSource.cs
- DataListItem.cs
- URLIdentityPermission.cs
- ToolStripDesignerAvailabilityAttribute.cs
- SuppressMergeCheckAttribute.cs
- ControlPropertyNameConverter.cs
- VisualBasicReference.cs
- control.ime.cs
- SamlAuthenticationStatement.cs
- BrowserDefinition.cs
- TypePresenter.xaml.cs
- DiscreteKeyFrames.cs
- CodeIterationStatement.cs
- SymbolTable.cs
- TransactionTraceIdentifier.cs
- ViewEventArgs.cs
- ReadOnlyDictionary.cs
- XpsFixedDocumentSequenceReaderWriter.cs
- IisTraceWebEventProvider.cs
- NextPreviousPagerField.cs
- DataExchangeServiceBinder.cs
- Errors.cs
- UdpSocket.cs
- DropTarget.cs
- WebPartVerbsEventArgs.cs
- NativeMethods.cs
- RuleInfoComparer.cs
- ConfigUtil.cs
- DrawingBrush.cs
- BackgroundWorker.cs
- SmiConnection.cs
- ObjectPersistData.cs
- DataGridComboBoxColumn.cs
- DBSqlParserTableCollection.cs
- NameSpaceEvent.cs
- HMAC.cs
- DateTimeValueSerializer.cs
- TextDecorationCollection.cs
- HMACSHA256.cs
- TextUtf8RawTextWriter.cs
- CroppedBitmap.cs
- CompensatableTransactionScopeActivity.cs
- ToolStripOverflowButton.cs
- ExpressionBuilderContext.cs
- DefinitionProperties.cs
- basecomparevalidator.cs
- NegatedCellConstant.cs
- WindowsRebar.cs
- OleDbSchemaGuid.cs
- _SSPIWrapper.cs
- CurrentChangingEventManager.cs
- BitHelper.cs
- Helpers.cs
- DynamicDiscoveryDocument.cs
- ByteFacetDescriptionElement.cs
- ProfilePropertySettingsCollection.cs
- QilReference.cs
- SslStream.cs
- DataGridAutoFormat.cs
- FormatterServices.cs
- CompositeDataBoundControl.cs
- DictionaryTraceRecord.cs