Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media / Imaging / PngBitmapDecoder.cs / 1305600 / PngBitmapDecoder.cs
//------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation, All Rights Reserved // // File: PngBitmapDecoder.cs // //----------------------------------------------------------------------------- using System; using System.IO; using System.Collections; using System.Security; using System.Security.Permissions; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Reflection; using Microsoft.Win32.SafeHandles; using MS.Internal; using System.Diagnostics; using System.Windows.Media; using System.Globalization; using System.Runtime.InteropServices; namespace System.Windows.Media.Imaging { #region PngBitmapDecoder ////// The built-in Microsoft Png (Bitmap) Decoder. /// public sealed class PngBitmapDecoder : BitmapDecoder { ////// Don't allow construction of a decoder with no params /// private PngBitmapDecoder() { } ////// Create a PngBitmapDecoder given the Uri /// /// Uri to decode /// Bitmap Create Options /// Bitmap Caching Option ////// Critical - access critical resource /// PublicOK - inputs verified or safe /// [SecurityCritical ] public PngBitmapDecoder( Uri bitmapUri, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption ) : base(bitmapUri, createOptions, cacheOption, MILGuidData.GUID_ContainerFormatPng) { } ////// If this decoder cannot handle the bitmap stream, it will throw an exception. /// /// Stream to decode /// Bitmap Create Options /// Bitmap Caching Option ////// Critical - access critical resource /// PublicOK - inputs verified or safe /// [SecurityCritical ] public PngBitmapDecoder( Stream bitmapStream, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption ) : base(bitmapStream, createOptions, cacheOption, MILGuidData.GUID_ContainerFormatPng) { } ////// Internal Constructor /// ////// Critical: Uses a SafeFileHandle, which is a SecurityCritical type (in v4). /// Calls SecurityCritical base class constructor. /// [SecurityCritical] internal PngBitmapDecoder( SafeMILHandle decoderHandle, BitmapDecoder decoder, Uri baseUri, Uri uri, Stream stream, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption, bool insertInDecoderCache, bool originalWritable, Stream uriStream, UnmanagedMemoryStream unmanagedMemoryStream, SafeFileHandle safeFilehandle ) : base(decoderHandle, decoder, baseUri, uri, stream, createOptions, cacheOption, insertInDecoderCache, originalWritable, uriStream, unmanagedMemoryStream, safeFilehandle) { } #region Internal Abstract /// Need to implement this to derive from the "sealed" object internal override void SealObject() { throw new NotImplementedException(); } #endregion } #endregion } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation, All Rights Reserved // // File: PngBitmapDecoder.cs // //----------------------------------------------------------------------------- using System; using System.IO; using System.Collections; using System.Security; using System.Security.Permissions; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Reflection; using Microsoft.Win32.SafeHandles; using MS.Internal; using System.Diagnostics; using System.Windows.Media; using System.Globalization; using System.Runtime.InteropServices; namespace System.Windows.Media.Imaging { #region PngBitmapDecoder ////// The built-in Microsoft Png (Bitmap) Decoder. /// public sealed class PngBitmapDecoder : BitmapDecoder { ////// Don't allow construction of a decoder with no params /// private PngBitmapDecoder() { } ////// Create a PngBitmapDecoder given the Uri /// /// Uri to decode /// Bitmap Create Options /// Bitmap Caching Option ////// Critical - access critical resource /// PublicOK - inputs verified or safe /// [SecurityCritical ] public PngBitmapDecoder( Uri bitmapUri, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption ) : base(bitmapUri, createOptions, cacheOption, MILGuidData.GUID_ContainerFormatPng) { } ////// If this decoder cannot handle the bitmap stream, it will throw an exception. /// /// Stream to decode /// Bitmap Create Options /// Bitmap Caching Option ////// Critical - access critical resource /// PublicOK - inputs verified or safe /// [SecurityCritical ] public PngBitmapDecoder( Stream bitmapStream, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption ) : base(bitmapStream, createOptions, cacheOption, MILGuidData.GUID_ContainerFormatPng) { } ////// Internal Constructor /// ////// Critical: Uses a SafeFileHandle, which is a SecurityCritical type (in v4). /// Calls SecurityCritical base class constructor. /// [SecurityCritical] internal PngBitmapDecoder( SafeMILHandle decoderHandle, BitmapDecoder decoder, Uri baseUri, Uri uri, Stream stream, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption, bool insertInDecoderCache, bool originalWritable, Stream uriStream, UnmanagedMemoryStream unmanagedMemoryStream, SafeFileHandle safeFilehandle ) : base(decoderHandle, decoder, baseUri, uri, stream, createOptions, cacheOption, insertInDecoderCache, originalWritable, uriStream, unmanagedMemoryStream, safeFilehandle) { } #region Internal Abstract /// Need to implement this to derive from the "sealed" object internal override void SealObject() { throw new NotImplementedException(); } #endregion } #endregion } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- QueryContinueDragEventArgs.cs
- RegistrationServices.cs
- AxImporter.cs
- HostedController.cs
- CurrentChangingEventArgs.cs
- ExtenderProvidedPropertyAttribute.cs
- PolygonHotSpot.cs
- PieceDirectory.cs
- DictionarySectionHandler.cs
- LostFocusEventManager.cs
- SQLInt16Storage.cs
- AttributeParameterInfo.cs
- RuntimeIdentifierPropertyAttribute.cs
- QuaternionKeyFrameCollection.cs
- Bold.cs
- CompositeControl.cs
- ConnectionStringsExpressionEditor.cs
- ObjectDataSourceStatusEventArgs.cs
- HttpWebResponse.cs
- Command.cs
- TextRange.cs
- MULTI_QI.cs
- HandoffBehavior.cs
- HtmlPanelAdapter.cs
- Tablet.cs
- ApplicationFileParser.cs
- CollectionEditor.cs
- UrlAuthFailureHandler.cs
- HtmlInputRadioButton.cs
- EdmComplexPropertyAttribute.cs
- SingleAnimationUsingKeyFrames.cs
- EdmTypeAttribute.cs
- OrderPreservingPipeliningMergeHelper.cs
- XmlComment.cs
- shaper.cs
- SimpleModelProvider.cs
- ScopedKnownTypes.cs
- AssociationSetEnd.cs
- ToolCreatedEventArgs.cs
- InputLanguageCollection.cs
- CodeThrowExceptionStatement.cs
- MetabaseServerConfig.cs
- SchemaAttDef.cs
- ProviderSettingsCollection.cs
- NotificationContext.cs
- ChannelDemuxer.cs
- KeySpline.cs
- XmlHierarchicalDataSourceView.cs
- ClusterRegistryConfigurationProvider.cs
- XmlExceptionHelper.cs
- TextRangeAdaptor.cs
- RegisterResponseInfo.cs
- LineVisual.cs
- DrawItemEvent.cs
- EnvelopedPkcs7.cs
- Interlocked.cs
- DeviceContexts.cs
- SetterBase.cs
- ListViewGroupConverter.cs
- InstanceDataCollection.cs
- RootBuilder.cs
- PagedControl.cs
- ToolBar.cs
- LockRecoveryTask.cs
- GetResponse.cs
- HandledEventArgs.cs
- RecordBuilder.cs
- CleanUpVirtualizedItemEventArgs.cs
- SessionPageStateSection.cs
- DataSetSchema.cs
- SerializationStore.cs
- CopyOfAction.cs
- Match.cs
- StylusPoint.cs
- RepeatInfo.cs
- GPRECTF.cs
- SmiEventSink_DeferedProcessing.cs
- EventLogPermissionEntry.cs
- Validator.cs
- ScriptHandlerFactory.cs
- InArgument.cs
- Point4D.cs
- MethodCallConverter.cs
- XmlAttributeProperties.cs
- SmtpSection.cs
- Graph.cs
- SiteMapNode.cs
- MarkupExtensionReturnTypeAttribute.cs
- Registration.cs
- FileStream.cs
- FrameworkElement.cs
- securitymgrsite.cs
- BaseCAMarshaler.cs
- RangeBase.cs
- Types.cs
- AffineTransform3D.cs
- Clipboard.cs
- PagePropertiesChangingEventArgs.cs
- externdll.cs
- ReliabilityContractAttribute.cs