Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media / Imaging / UnmanagedBitmapWrapper.cs / 1305600 / UnmanagedBitmapWrapper.cs
//------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation. All Rights Reserved. // // File: UnmanagedBitmapWrapper.cs // //----------------------------------------------------------------------------- using System; using System.IO; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Reflection; using MS.Internal; using MS.Win32.PresentationCore; using System.Security; using System.Security.Permissions; using System.Diagnostics; using System.Windows.Media; using System.Globalization; using System.Runtime.InteropServices; using System.Windows; using System.Windows.Media.Animation; using System.Windows.Media.Composition; using MS.Internal.PresentationCore; using SR = MS.Internal.PresentationCore.SR; using SRID = MS.Internal.PresentationCore.SRID; namespace System.Windows.Media.Imaging { internal sealed class UnmanagedBitmapWrapper : BitmapSource { ////// Critical - calls critical code method BitmapSource.UpdateCachedSettings /// TreatAsSafe - all inputs are checked /// [SecurityCritical, SecurityTreatAsSafe] public UnmanagedBitmapWrapper(BitmapSourceSafeMILHandle bitmapSource) : base(true) { _bitmapInit.BeginInit(); // // This constructor is used by BitmapDecoder and BitmapFrameDecode for thumbnails and // previews. The bitmapSource parameter comes from BitmapSource.CreateCachedBitmap // which already calculated memory pressure, so there's no need to do it here. // WicSourceHandle = bitmapSource; _bitmapInit.EndInit(); UpdateCachedSettings(); } #region Protected Methods ////// Critical - eventually access'es critical resources (_wicSource) /// TreatAsSafe - all inputs are checked /// [SecurityCritical, SecurityTreatAsSafe] internal UnmanagedBitmapWrapper(bool initialize) : base(true) { // Call BeginInit and EndInit if initialize is true. if (initialize) { _bitmapInit.BeginInit(); _bitmapInit.EndInit(); } } ////// Implementation of protected override Freezable CreateInstanceCore() { return new UnmanagedBitmapWrapper(false); } private void CopyCommon(UnmanagedBitmapWrapper sourceBitmap) { _bitmapInit.BeginInit(); _bitmapInit.EndInit(); } ///Freezable.CreateInstanceCore . ////// Implementation of protected override void CloneCore(Freezable sourceFreezable) { UnmanagedBitmapWrapper sourceBitmap = (UnmanagedBitmapWrapper)sourceFreezable; base.CloneCore(sourceFreezable); CopyCommon(sourceBitmap); } ///Freezable.CloneCore . ////// Implementation of protected override void CloneCurrentValueCore(Freezable sourceFreezable) { UnmanagedBitmapWrapper sourceBitmap = (UnmanagedBitmapWrapper)sourceFreezable; base.CloneCurrentValueCore(sourceFreezable); CopyCommon(sourceBitmap); } ///Freezable.CloneCurrentValueCore . ////// Implementation of protected override void GetAsFrozenCore(Freezable sourceFreezable) { UnmanagedBitmapWrapper sourceBitmap = (UnmanagedBitmapWrapper)sourceFreezable; base.GetAsFrozenCore(sourceFreezable); CopyCommon(sourceBitmap); } ///Freezable.GetAsFrozenCore . ////// Implementation of protected override void GetCurrentValueAsFrozenCore(Freezable sourceFreezable) { UnmanagedBitmapWrapper sourceBitmap = (UnmanagedBitmapWrapper)sourceFreezable; base.GetCurrentValueAsFrozenCore(sourceFreezable); CopyCommon(sourceBitmap); } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation. All Rights Reserved. // // File: UnmanagedBitmapWrapper.cs // //----------------------------------------------------------------------------- using System; using System.IO; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Reflection; using MS.Internal; using MS.Win32.PresentationCore; using System.Security; using System.Security.Permissions; using System.Diagnostics; using System.Windows.Media; using System.Globalization; using System.Runtime.InteropServices; using System.Windows; using System.Windows.Media.Animation; using System.Windows.Media.Composition; using MS.Internal.PresentationCore; using SR = MS.Internal.PresentationCore.SR; using SRID = MS.Internal.PresentationCore.SRID; namespace System.Windows.Media.Imaging { internal sealed class UnmanagedBitmapWrapper : BitmapSource { ///Freezable.GetCurrentValueAsFrozenCore . ////// Critical - calls critical code method BitmapSource.UpdateCachedSettings /// TreatAsSafe - all inputs are checked /// [SecurityCritical, SecurityTreatAsSafe] public UnmanagedBitmapWrapper(BitmapSourceSafeMILHandle bitmapSource) : base(true) { _bitmapInit.BeginInit(); // // This constructor is used by BitmapDecoder and BitmapFrameDecode for thumbnails and // previews. The bitmapSource parameter comes from BitmapSource.CreateCachedBitmap // which already calculated memory pressure, so there's no need to do it here. // WicSourceHandle = bitmapSource; _bitmapInit.EndInit(); UpdateCachedSettings(); } #region Protected Methods ////// Critical - eventually access'es critical resources (_wicSource) /// TreatAsSafe - all inputs are checked /// [SecurityCritical, SecurityTreatAsSafe] internal UnmanagedBitmapWrapper(bool initialize) : base(true) { // Call BeginInit and EndInit if initialize is true. if (initialize) { _bitmapInit.BeginInit(); _bitmapInit.EndInit(); } } ////// Implementation of protected override Freezable CreateInstanceCore() { return new UnmanagedBitmapWrapper(false); } private void CopyCommon(UnmanagedBitmapWrapper sourceBitmap) { _bitmapInit.BeginInit(); _bitmapInit.EndInit(); } ///Freezable.CreateInstanceCore . ////// Implementation of protected override void CloneCore(Freezable sourceFreezable) { UnmanagedBitmapWrapper sourceBitmap = (UnmanagedBitmapWrapper)sourceFreezable; base.CloneCore(sourceFreezable); CopyCommon(sourceBitmap); } ///Freezable.CloneCore . ////// Implementation of protected override void CloneCurrentValueCore(Freezable sourceFreezable) { UnmanagedBitmapWrapper sourceBitmap = (UnmanagedBitmapWrapper)sourceFreezable; base.CloneCurrentValueCore(sourceFreezable); CopyCommon(sourceBitmap); } ///Freezable.CloneCurrentValueCore . ////// Implementation of protected override void GetAsFrozenCore(Freezable sourceFreezable) { UnmanagedBitmapWrapper sourceBitmap = (UnmanagedBitmapWrapper)sourceFreezable; base.GetAsFrozenCore(sourceFreezable); CopyCommon(sourceBitmap); } ///Freezable.GetAsFrozenCore . ////// Implementation of protected override void GetCurrentValueAsFrozenCore(Freezable sourceFreezable) { UnmanagedBitmapWrapper sourceBitmap = (UnmanagedBitmapWrapper)sourceFreezable; base.GetCurrentValueAsFrozenCore(sourceFreezable); CopyCommon(sourceBitmap); } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.Freezable.GetCurrentValueAsFrozenCore . ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- NetCodeGroup.cs
- HttpApplicationStateWrapper.cs
- OracleConnectionFactory.cs
- ParentUndoUnit.cs
- SqlDataSourceSelectingEventArgs.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- DefaultShape.cs
- ConfigsHelper.cs
- CodeExporter.cs
- CreateUserWizardStep.cs
- DictionarySectionHandler.cs
- HtmlTitle.cs
- CultureSpecificStringDictionary.cs
- QueryResponse.cs
- XpsPackagingException.cs
- DescendantBaseQuery.cs
- BitVector32.cs
- DependencyPropertyHelper.cs
- DataRowComparer.cs
- OleDbPermission.cs
- TextPattern.cs
- ScrollBarAutomationPeer.cs
- FixUp.cs
- ToolboxItemWrapper.cs
- NetMsmqSecurity.cs
- ProcessHostServerConfig.cs
- XmlFormatExtensionPrefixAttribute.cs
- StrokeRenderer.cs
- TreeViewEvent.cs
- AttributeSetAction.cs
- _ShellExpression.cs
- InvalidWMPVersionException.cs
- XsdDateTime.cs
- TypeConverterHelper.cs
- securitycriticaldataformultiplegetandset.cs
- PersonalizationStateInfoCollection.cs
- AnnotationResource.cs
- XpsPackagingPolicy.cs
- PolicyDesigner.cs
- SoapTypeAttribute.cs
- TypeSystem.cs
- HealthMonitoringSection.cs
- ByteBufferPool.cs
- EngineSiteSapi.cs
- Animatable.cs
- ConsoleEntryPoint.cs
- _AuthenticationState.cs
- WrappedIUnknown.cs
- ScriptingProfileServiceSection.cs
- ScriptModule.cs
- TypeUsage.cs
- EncryptedPackage.cs
- __Filters.cs
- DataKey.cs
- XmlSchemaCompilationSettings.cs
- Hex.cs
- NullRuntimeConfig.cs
- TextEditorDragDrop.cs
- SystemNetHelpers.cs
- Identity.cs
- CompareValidator.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- RegisteredScript.cs
- CompilerState.cs
- SchemaNamespaceManager.cs
- WindowsListViewSubItem.cs
- LinqDataSourceDisposeEventArgs.cs
- WebPartDeleteVerb.cs
- TableLayoutStyleCollection.cs
- GridViewHeaderRowPresenter.cs
- SystemBrushes.cs
- PointAnimationUsingKeyFrames.cs
- Socket.cs
- WebPartHelpVerb.cs
- XmlSignatureManifest.cs
- Zone.cs
- HttpFormatExtensions.cs
- DataServiceResponse.cs
- ControlBuilderAttribute.cs
- DataControlCommands.cs
- RectAnimation.cs
- WebPartExportVerb.cs
- LogExtentCollection.cs
- WorkflowDebuggerSteppingAttribute.cs
- MimeTypePropertyAttribute.cs
- TailCallAnalyzer.cs
- ReadOnlyCollection.cs
- PathFigure.cs
- HttpHostedTransportConfiguration.cs
- SqlServer2KCompatibilityAnnotation.cs
- AdministrationHelpers.cs
- Roles.cs
- XsltContext.cs
- MediaContext.cs
- HttpCacheVaryByContentEncodings.cs
- DataBindingList.cs
- LockedAssemblyCache.cs
- DragEvent.cs
- NestedContainer.cs
- RichTextBoxAutomationPeer.cs