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
- ClipboardData.cs
- DataServiceQueryProvider.cs
- RepeatButtonAutomationPeer.cs
- OpenTypeCommon.cs
- MetadataAssemblyHelper.cs
- PointUtil.cs
- ElapsedEventArgs.cs
- SqlConnectionHelper.cs
- MetaModel.cs
- ResourceDisplayNameAttribute.cs
- DynamicDataResources.Designer.cs
- Header.cs
- DataRelationCollection.cs
- HtmlEncodedRawTextWriter.cs
- StylusPointDescription.cs
- WebResourceUtil.cs
- DataGridViewImageCell.cs
- UserControl.cs
- RemotingServices.cs
- ByteRangeDownloader.cs
- PageTheme.cs
- SoapAttributeAttribute.cs
- ToolStripOverflow.cs
- RoutedCommand.cs
- DetailsViewUpdatedEventArgs.cs
- ClientConfigurationSystem.cs
- EntityDataSourceChangingEventArgs.cs
- ClientScriptManager.cs
- CodeRegionDirective.cs
- XDRSchema.cs
- NoClickablePointException.cs
- OperationCanceledException.cs
- Terminate.cs
- ElementInit.cs
- TypeDescriptionProvider.cs
- CommandCollectionEditor.cs
- SchemaImporter.cs
- BinaryObjectInfo.cs
- MembershipValidatePasswordEventArgs.cs
- RightsManagementPermission.cs
- EntryIndex.cs
- InternalBufferOverflowException.cs
- LogEntry.cs
- TrustManager.cs
- ConfigsHelper.cs
- querybuilder.cs
- RecognizerInfo.cs
- SqlNodeAnnotations.cs
- COM2IManagedPerPropertyBrowsingHandler.cs
- EdmSchemaAttribute.cs
- LinqDataSource.cs
- RemotingServices.cs
- CodeDirectionExpression.cs
- OdbcErrorCollection.cs
- ProviderSettings.cs
- ReferentialConstraint.cs
- DrawListViewItemEventArgs.cs
- TimestampInformation.cs
- X509Certificate.cs
- CategoryNameCollection.cs
- WindowsToolbar.cs
- IsolatedStorageFileStream.cs
- DefaultEvaluationContext.cs
- TagPrefixCollection.cs
- UIElement.cs
- TransportContext.cs
- SequenceFullException.cs
- ExcCanonicalXml.cs
- ListBoxItemAutomationPeer.cs
- keycontainerpermission.cs
- ToolboxService.cs
- ISessionStateStore.cs
- TextParagraphProperties.cs
- ExpressionBuilderCollection.cs
- SspiHelper.cs
- SoapAttributeOverrides.cs
- SiteMapDataSourceView.cs
- UnauthorizedAccessException.cs
- SafeReadContext.cs
- TemplatePagerField.cs
- ListenerElementsCollection.cs
- DropTarget.cs
- ChineseLunisolarCalendar.cs
- Visual.cs
- ColumnMapTranslator.cs
- NativeCompoundFileAPIs.cs
- ProtectedProviderSettings.cs
- AlphabeticalEnumConverter.cs
- DrawListViewSubItemEventArgs.cs
- ApplicationFileCodeDomTreeGenerator.cs
- XPathScanner.cs
- LexicalChunk.cs
- UntypedNullExpression.cs
- XmlBaseWriter.cs
- Internal.cs
- DataBinding.cs
- XamlPoint3DCollectionSerializer.cs
- LinearKeyFrames.cs
- ListBox.cs
- QilList.cs