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
- PassportAuthentication.cs
- WebPartDeleteVerb.cs
- SqlConnectionPoolProviderInfo.cs
- InputScopeAttribute.cs
- ContextBase.cs
- ReaderOutput.cs
- MethodRental.cs
- PropertyInformation.cs
- _Events.cs
- CheckBoxList.cs
- processwaithandle.cs
- TextBlockAutomationPeer.cs
- ListItemParagraph.cs
- BitmapEffectvisualstate.cs
- WebServiceParameterData.cs
- WaveHeader.cs
- XmlSerializerAssemblyAttribute.cs
- MouseEventArgs.cs
- EdmToObjectNamespaceMap.cs
- ScriptResourceHandler.cs
- DocumentViewerHelper.cs
- WebDisplayNameAttribute.cs
- SqlNodeAnnotation.cs
- ISFClipboardData.cs
- WorkflowTraceTransfer.cs
- DataGridViewTopLeftHeaderCell.cs
- DataMisalignedException.cs
- DocumentPageViewAutomationPeer.cs
- FillErrorEventArgs.cs
- SecurityContextTokenValidationException.cs
- NetCodeGroup.cs
- PlaceHolder.cs
- GcHandle.cs
- _ContextAwareResult.cs
- SolidColorBrush.cs
- NameTable.cs
- MessageQueuePermission.cs
- BaseInfoTable.cs
- FileLevelControlBuilderAttribute.cs
- BypassElement.cs
- WindowProviderWrapper.cs
- HwndKeyboardInputProvider.cs
- Int32CollectionConverter.cs
- linebase.cs
- CredentialCache.cs
- MenuItem.cs
- InputReport.cs
- SQLDouble.cs
- WizardSideBarListControlItemEventArgs.cs
- BindingValueChangedEventArgs.cs
- FilteredXmlReader.cs
- SchemaManager.cs
- SystemFonts.cs
- LabelAutomationPeer.cs
- InkCanvasInnerCanvas.cs
- LogicalChannelCollection.cs
- BaseResourcesBuildProvider.cs
- IgnoreSectionHandler.cs
- TextReader.cs
- XD.cs
- DynamicContractTypeBuilder.cs
- DataBoundControlAdapter.cs
- DocumentReference.cs
- BasicDesignerLoader.cs
- DateTimeSerializationSection.cs
- CqlParserHelpers.cs
- DataGridViewImageCell.cs
- Marshal.cs
- HttpProtocolImporter.cs
- ActivityFunc.cs
- WebPartUserCapability.cs
- SqlWebEventProvider.cs
- XamlPoint3DCollectionSerializer.cs
- IDQuery.cs
- AssertHelper.cs
- TextEffectResolver.cs
- _AuthenticationState.cs
- WeakReadOnlyCollection.cs
- URLString.cs
- AssemblyGen.cs
- HtmlAnchor.cs
- ParseNumbers.cs
- ProfileSection.cs
- TypefaceMap.cs
- InputLanguageManager.cs
- String.cs
- GlyphsSerializer.cs
- DecoderFallback.cs
- AssociationType.cs
- FlowLayoutPanel.cs
- NameValueCollection.cs
- SingleConverter.cs
- WebPartMenu.cs
- Activity.cs
- DbConnectionFactory.cs
- ProxyElement.cs
- ObjectDataSourceDisposingEventArgs.cs
- SudsCommon.cs
- XamlWriter.cs
- HtmlAnchor.cs