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
- SID.cs
- PermissionAttributes.cs
- MemoryFailPoint.cs
- EventLogger.cs
- MouseButtonEventArgs.cs
- BindingNavigator.cs
- ToolboxItemFilterAttribute.cs
- AuthorizationSection.cs
- Message.cs
- FontFamilyIdentifier.cs
- AttachedAnnotation.cs
- ProfilePropertyNameValidator.cs
- MetadataUtilsSmi.cs
- DependencyPropertyConverter.cs
- AutomationPropertyInfo.cs
- ConfigurationManagerHelper.cs
- HandoffBehavior.cs
- AsnEncodedData.cs
- TextDocumentView.cs
- RegexCapture.cs
- StrongTypingException.cs
- FormViewUpdatedEventArgs.cs
- LayoutManager.cs
- AspProxy.cs
- FilteredDataSetHelper.cs
- ComboBox.cs
- DesignerForm.cs
- Stackframe.cs
- FrameworkTemplate.cs
- DBSchemaTable.cs
- XmlComment.cs
- TouchPoint.cs
- DocumentPage.cs
- EmptyEnumerable.cs
- XmlWhitespace.cs
- DataReaderContainer.cs
- _NetworkingPerfCounters.cs
- CellQuery.cs
- Menu.cs
- RayHitTestParameters.cs
- WarningException.cs
- Itemizer.cs
- SwitchAttribute.cs
- ScriptResourceInfo.cs
- Rotation3D.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- EntityDataSourceContextCreatingEventArgs.cs
- XmlSchemaRedefine.cs
- FormParameter.cs
- BehaviorEditorPart.cs
- PolyQuadraticBezierSegment.cs
- SelectionWordBreaker.cs
- HttpBindingExtension.cs
- RootBuilder.cs
- SecurityDocument.cs
- ThreadPool.cs
- EventSetter.cs
- GregorianCalendarHelper.cs
- UIElementPropertyUndoUnit.cs
- ParseHttpDate.cs
- DataSourceControlBuilder.cs
- OuterProxyWrapper.cs
- RegexEditorDialog.cs
- TemplateControl.cs
- FixedFindEngine.cs
- StdValidatorsAndConverters.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- RtfFormatStack.cs
- ImageCodecInfoPrivate.cs
- GZipStream.cs
- ColorMatrix.cs
- DesignerDataColumn.cs
- ObjectNotFoundException.cs
- ResXResourceSet.cs
- Point3DConverter.cs
- CompilationSection.cs
- RecognitionResult.cs
- ClientFormsAuthenticationCredentials.cs
- XmlResolver.cs
- DbDataAdapter.cs
- DocumentGridContextMenu.cs
- AdornerHitTestResult.cs
- SchemaDeclBase.cs
- ColorPalette.cs
- DataGridViewMethods.cs
- SqlInternalConnectionSmi.cs
- TypedAsyncResult.cs
- filewebresponse.cs
- odbcmetadatacollectionnames.cs
- Quaternion.cs
- Serializer.cs
- WebPartVerbCollection.cs
- ClickablePoint.cs
- ValidationHelper.cs
- SessionPageStatePersister.cs
- ModuleBuilder.cs
- RequiredFieldValidator.cs
- EventEntry.cs
- DataGridViewUtilities.cs
- ColorTransformHelper.cs