GifBitmapEncoder.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / Media / Imaging / GifBitmapEncoder.cs / 1 / GifBitmapEncoder.cs

                            //------------------------------------------------------------------------------ 
//  Microsoft Avalon
//  Copyright (c) Microsoft Corporation, All Rights Reserved
//
//  File: GifBitmapEncoder.cs 
//
//----------------------------------------------------------------------------- 
 
using System;
using System.Security; 
using System.Security.Permissions;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design.Serialization; 
using System.Reflection;
using MS.Internal; 
using MS.Win32.PresentationCore; 
using System.Diagnostics;
using System.Windows.Media; 
using System.Globalization;
using System.Runtime.InteropServices;
using System.Windows.Media.Imaging;
 
namespace System.Windows.Media.Imaging
{ 
    #region GifBitmapEncoder 

    ///  
    /// Built-in Encoder for Gif files.
    /// 
    public sealed class GifBitmapEncoder : BitmapEncoder
    { 
        #region Constructors
 
        ///  
        /// Constructor for GifBitmapEncoder
        ///  
        /// 
        /// Critical - will eventuall create unmanaged resources
        /// PublicOK - all inputs are verified
        ///  
        [SecurityCritical ]
        public GifBitmapEncoder() : 
            base(true) 
        {
            _supportsPreview = false; 
            _supportsGlobalThumbnail = false;
            _supportsGlobalMetadata = false;
            _supportsFrameThumbnails = false;
            _supportsMultipleFrames = true; 
            _supportsFrameMetadata = false;
        } 
 
        #endregion
 
        #region Internal Properties / Methods

        /// 
        /// Returns the container format for this encoder 
        /// 
        ///  
        /// Critical - uses guid to create unmanaged resources 
        /// 
        internal override Guid ContainerFormat 
        {
            [SecurityCritical]
            get
            { 
                return _containerFormat;
            } 
        } 

        ///  
        /// Setups the encoder and other properties before encoding each frame
        /// 
        [SecurityCritical]
        internal override void SetupFrame(SafeMILHandle frameEncodeHandle, SafeMILHandle encoderOptions) 
        {
            HRESULT.Check(UnsafeNativeMethods.WICBitmapFrameEncode.Initialize( 
                frameEncodeHandle, 
                encoderOptions
                )); 
        }

        #endregion
 
        #region Internal Abstract
 
        /// Need to implement this to derive from the "sealed" object 
        internal override void SealObject()
        { 
            throw new NotImplementedException();
        }

        #endregion 

        #region Data Members 
 
        /// 
        /// Critical - CLSID used for creation of critical resources 
        /// 
        [SecurityCritical]
        private Guid _containerFormat = MILGuidData.GUID_ContainerFormatGif;
 
        #endregion
    } 
 
    #endregion // GifBitmapEncoder
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK