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
- TextEditorTyping.cs
- CodeStatement.cs
- TextSelection.cs
- ToolStripControlHost.cs
- PrintingPermissionAttribute.cs
- Point3DAnimationUsingKeyFrames.cs
- CatalogPartChrome.cs
- CharacterMetrics.cs
- RijndaelManagedTransform.cs
- X509SecurityTokenProvider.cs
- NullableIntSumAggregationOperator.cs
- RealizedColumnsBlock.cs
- DataGridViewTextBoxColumn.cs
- Graph.cs
- ItemCheckEvent.cs
- HtmlHead.cs
- SessionParameter.cs
- BuildProviderCollection.cs
- TransformationRules.cs
- DecoratedNameAttribute.cs
- TriggerBase.cs
- FrameworkObject.cs
- CultureInfo.cs
- OdbcTransaction.cs
- WindowsListViewItemStartMenu.cs
- EFTableProvider.cs
- SingleTagSectionHandler.cs
- ContravarianceAdapter.cs
- TypeBuilderInstantiation.cs
- TimeSpanOrInfiniteConverter.cs
- DesignerCategoryAttribute.cs
- XmlSerializationGeneratedCode.cs
- TextDecorationCollectionConverter.cs
- WinFormsSpinner.cs
- PointCollection.cs
- UpDownEvent.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- SafeViewOfFileHandle.cs
- QuadraticBezierSegment.cs
- ExtensionSimplifierMarkupObject.cs
- DelegateBodyWriter.cs
- ExpressionNode.cs
- DefaultPerformanceCounters.cs
- ErrorEventArgs.cs
- VectorKeyFrameCollection.cs
- CustomErrorsSection.cs
- ALinqExpressionVisitor.cs
- XmlUtf8RawTextWriter.cs
- NativeMethods.cs
- Message.cs
- ResourceProviderFactory.cs
- ExtractorMetadata.cs
- UrlMappingCollection.cs
- HTMLTextWriter.cs
- DataBinding.cs
- TypeDescriptionProvider.cs
- ParserStreamGeometryContext.cs
- SqlTypeSystemProvider.cs
- MultiDataTrigger.cs
- SafeFileMappingHandle.cs
- TrackingAnnotationCollection.cs
- KnownIds.cs
- BatchWriter.cs
- brushes.cs
- ConfigXmlSignificantWhitespace.cs
- PagesChangedEventArgs.cs
- StructuralObject.cs
- XmlSchemaSet.cs
- DocumentGrid.cs
- ConfigurationElement.cs
- WizardForm.cs
- TdsParserStaticMethods.cs
- HttpWriter.cs
- BaseAddressElement.cs
- WorkflowRuntimeService.cs
- OleServicesContext.cs
- VersionedStreamOwner.cs
- ClientConvert.cs
- DotExpr.cs
- URLAttribute.cs
- SignatureResourcePool.cs
- SqlHelper.cs
- XhtmlBasicImageAdapter.cs
- SqlRecordBuffer.cs
- BitArray.cs
- XPathNodeIterator.cs
- XamlSerializerUtil.cs
- ExecutedRoutedEventArgs.cs
- ColumnCollection.cs
- GiveFeedbackEventArgs.cs
- SynchronousChannel.cs
- SelectedDatesCollection.cs
- MappingItemCollection.cs
- VisualTreeUtils.cs
- ConstantCheck.cs
- WebHttpDispatchOperationSelectorData.cs
- XsltContext.cs
- AdornerDecorator.cs
- VirtualPathProvider.cs
- GradientSpreadMethodValidation.cs