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
- IDictionary.cs
- EmptyEnumerator.cs
- SafeTimerHandle.cs
- XamlToRtfParser.cs
- SafeThemeHandle.cs
- HttpCookiesSection.cs
- CryptoProvider.cs
- CrossAppDomainChannel.cs
- ReadOnlyNameValueCollection.cs
- StylusPointProperty.cs
- DodSequenceMerge.cs
- DiscreteKeyFrames.cs
- OrderedEnumerableRowCollection.cs
- BamlLocalizableResource.cs
- BatchStream.cs
- CompilationRelaxations.cs
- EdmToObjectNamespaceMap.cs
- SymmetricSecurityProtocol.cs
- ConsumerConnectionPoint.cs
- NativeMethods.cs
- LicenseManager.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- CommandEventArgs.cs
- ConfigurationManagerInternalFactory.cs
- XmlAttributeAttribute.cs
- ClientRequest.cs
- MimeTypeAttribute.cs
- Decoder.cs
- ConfigurationStrings.cs
- RuleInfoComparer.cs
- SingleObjectCollection.cs
- DefaultExpressionVisitor.cs
- JpegBitmapDecoder.cs
- GetCardDetailsRequest.cs
- SqlNode.cs
- ColorConvertedBitmap.cs
- infer.cs
- ParameterReplacerVisitor.cs
- ClientScriptManager.cs
- DesignerVerbCollection.cs
- TimeSpanValidatorAttribute.cs
- httpserverutility.cs
- SafeHandles.cs
- VisualState.cs
- DiscoveryClientElement.cs
- DispatcherObject.cs
- CallContext.cs
- EventToken.cs
- ViewGenerator.cs
- IncrementalReadDecoders.cs
- ByteArrayHelperWithString.cs
- CodeLinePragma.cs
- InkPresenter.cs
- BindingWorker.cs
- ReliabilityContractAttribute.cs
- HtmlInputImage.cs
- IISMapPath.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- FloaterParaClient.cs
- XamlTypeMapperSchemaContext.cs
- RawStylusInputReport.cs
- InputLanguageCollection.cs
- LogRestartAreaEnumerator.cs
- XmlSchemaAttribute.cs
- Int32AnimationUsingKeyFrames.cs
- MasterPage.cs
- WebColorConverter.cs
- ObjectTypeMapping.cs
- NamespaceDecl.cs
- OpenTypeCommon.cs
- RelationshipConverter.cs
- RecognizedAudio.cs
- WriteFileContext.cs
- basemetadatamappingvisitor.cs
- ModelEditingScope.cs
- FileDataSourceCache.cs
- ComponentCache.cs
- InstanceData.cs
- LeftCellWrapper.cs
- LineMetrics.cs
- xdrvalidator.cs
- SafeEventLogWriteHandle.cs
- Button.cs
- CompiledQuery.cs
- DataObjectFieldAttribute.cs
- WorkflowDebuggerSteppingAttribute.cs
- ReadWriteControlDesigner.cs
- QueryLifecycle.cs
- XmlAnyElementAttributes.cs
- DataColumnCollection.cs
- PrtCap_Base.cs
- IntegerValidatorAttribute.cs
- SafeUserTokenHandle.cs
- CodeLinePragma.cs
- Listen.cs
- WebColorConverter.cs
- XhtmlBasicPanelAdapter.cs
- TypeContext.cs
- _FtpControlStream.cs
- TableItemProviderWrapper.cs