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
- ExternalFile.cs
- StringUtil.cs
- ViewManager.cs
- AppDomainManager.cs
- RepeatButtonAutomationPeer.cs
- FilterElement.cs
- PageCatalogPart.cs
- TraceSwitch.cs
- DesignerUtils.cs
- X509ThumbprintKeyIdentifierClause.cs
- InputLanguageSource.cs
- LateBoundBitmapDecoder.cs
- GraphicsContext.cs
- SoapAttributeOverrides.cs
- ReadOnlyNameValueCollection.cs
- Stack.cs
- DataGridViewCellParsingEventArgs.cs
- BooleanStorage.cs
- RealProxy.cs
- safesecurityhelperavalon.cs
- ListManagerBindingsCollection.cs
- ScrollChrome.cs
- PathStreamGeometryContext.cs
- Substitution.cs
- ExpressionBinding.cs
- StatusStrip.cs
- MenuStrip.cs
- CompositeFontParser.cs
- SspiSecurityTokenParameters.cs
- EmptyEnumerable.cs
- AssemblyCache.cs
- CodeAttributeDeclarationCollection.cs
- GlobalizationSection.cs
- DataGridRelationshipRow.cs
- QueryAccessibilityHelpEvent.cs
- RecognizerStateChangedEventArgs.cs
- AdapterUtil.cs
- ByeOperation11AsyncResult.cs
- UnaryNode.cs
- WebPartCancelEventArgs.cs
- StylusPoint.cs
- TaiwanLunisolarCalendar.cs
- PageVisual.cs
- DbProviderFactories.cs
- _Semaphore.cs
- ContextMenuStrip.cs
- Parameter.cs
- CanonicalFontFamilyReference.cs
- Panel.cs
- ExceptionValidationRule.cs
- SqlTypeConverter.cs
- NetNamedPipeSecurity.cs
- TreeView.cs
- RelatedImageListAttribute.cs
- StandardToolWindows.cs
- OleDbPropertySetGuid.cs
- Validator.cs
- UnsafeNativeMethods.cs
- GC.cs
- TraceContextEventArgs.cs
- RelationalExpressions.cs
- DataServiceRequestArgs.cs
- CodeDesigner.cs
- EnumValAlphaComparer.cs
- SystemColorTracker.cs
- PointConverter.cs
- ExecutionTracker.cs
- Crc32Helper.cs
- WebPartTransformerAttribute.cs
- PersonalizableAttribute.cs
- DictionaryKeyPropertyAttribute.cs
- RangeValuePattern.cs
- ConversionContext.cs
- ToolStrip.cs
- ComponentCache.cs
- Util.cs
- EntityDataSourceWrapperCollection.cs
- coordinatorfactory.cs
- Html32TextWriter.cs
- BrowserCapabilitiesCodeGenerator.cs
- SqlExpressionNullability.cs
- DbParameterHelper.cs
- MimeFormatExtensions.cs
- ValidationSummary.cs
- SettingsBase.cs
- SafeThreadHandle.cs
- ToolboxItem.cs
- SizeAnimationBase.cs
- WriteTimeStream.cs
- CardSpaceShim.cs
- RadialGradientBrush.cs
- UnauthorizedAccessException.cs
- XmlSignificantWhitespace.cs
- OdbcHandle.cs
- ModelVisual3D.cs
- MdiWindowListItemConverter.cs
- WindowsTab.cs
- SqlCacheDependency.cs
- StateMachine.cs
- XsltLibrary.cs