Code:
/ 4.0 / 4.0 / untmp / 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.Freezable.GetCurrentValueAsFrozenCore . ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SafeProcessHandle.cs
- LoadItemsEventArgs.cs
- PropertyGridCommands.cs
- DeclaredTypeElementCollection.cs
- TempFiles.cs
- PackageRelationshipSelector.cs
- MemberAccessException.cs
- CodeIdentifier.cs
- ExceptionUtil.cs
- TableLayoutStyle.cs
- HatchBrush.cs
- NonBatchDirectoryCompiler.cs
- ThemeableAttribute.cs
- EmptyArray.cs
- WorkflowInstance.cs
- InvalidComObjectException.cs
- WebBaseEventKeyComparer.cs
- RemotingConfigParser.cs
- Int64KeyFrameCollection.cs
- SiteMapDataSourceView.cs
- PersonalizablePropertyEntry.cs
- UrlParameterReader.cs
- GroupDescription.cs
- BaseDataBoundControl.cs
- DataGridSortingEventArgs.cs
- ObjectDataSourceMethodEventArgs.cs
- __Filters.cs
- AnimatedTypeHelpers.cs
- SecurityContext.cs
- WebServiceResponse.cs
- InternalResources.cs
- GetMemberBinder.cs
- XmlAttributeAttribute.cs
- StaticExtension.cs
- SqlRowUpdatingEvent.cs
- ByteAnimationBase.cs
- MetadataArtifactLoaderResource.cs
- SamlAuthenticationClaimResource.cs
- ThrowOnMultipleAssignment.cs
- ErrorHandlerFaultInfo.cs
- EntitySqlQueryBuilder.cs
- NativeWrapper.cs
- SqlCachedBuffer.cs
- NameValueConfigurationCollection.cs
- ChangePassword.cs
- HttpModuleAction.cs
- SchemaComplexType.cs
- PathFigureCollection.cs
- UncommonField.cs
- WasHttpHandlersInstallComponent.cs
- keycontainerpermission.cs
- RowSpanVector.cs
- BasicCellRelation.cs
- recordstate.cs
- GridEntryCollection.cs
- PersonalizationProviderHelper.cs
- DesignerGeometryHelper.cs
- MapPathBasedVirtualPathProvider.cs
- DetailsView.cs
- HtmlToClrEventProxy.cs
- FixedSOMPageConstructor.cs
- CmsInterop.cs
- MultiBinding.cs
- MailAddressCollection.cs
- HttpWebResponse.cs
- CannotUnloadAppDomainException.cs
- QuaternionRotation3D.cs
- MergablePropertyAttribute.cs
- SemaphoreFullException.cs
- DBSchemaTable.cs
- ExpressionsCollectionEditor.cs
- WhitespaceRule.cs
- NamedPipeConnectionPoolSettingsElement.cs
- DataBindingHandlerAttribute.cs
- HealthMonitoringSection.cs
- RuntimeVariablesExpression.cs
- OdbcFactory.cs
- DataGridColumn.cs
- BasicViewGenerator.cs
- HtmlInputText.cs
- SiteMapNode.cs
- ToolStripRenderer.cs
- JsonXmlDataContract.cs
- TextBreakpoint.cs
- BuildProviderCollection.cs
- QuaternionAnimationUsingKeyFrames.cs
- SapiInterop.cs
- DataServiceHost.cs
- Label.cs
- xdrvalidator.cs
- SwitchAttribute.cs
- ToolStripDropDown.cs
- CodeValidator.cs
- XsltInput.cs
- StrokeNodeOperations2.cs
- FontWeights.cs
- CSharpCodeProvider.cs
- TimersDescriptionAttribute.cs
- DataBindingCollection.cs
- SoapAttributeOverrides.cs