Logo Search packages:      
Sourcecode: paintlib version File versions

PLGIFDecoder Class Reference

#include <plgifdec.h>

Inheritance diagram for PLGIFDecoder:

PLPicDecoder PLBmpInfo

List of all members.


Detailed Description

Compuserve gif file decoder using libungif to do the actual work. The bitmap returned always has 8 bpp. If the gif has a transparent color, the palette of the bitmap has alpha=0 for this color and HasAlpha=true. Does not support loading more than one image from a multi-image gif. (One issue with gifs is that you don't know whether the image has a transparent color until it's been decoded completely. For this reason, calling HasAlpha for the decoder before GetImage() will always return false.)

Definition at line 29 of file plgifdec.h.


Public Member Functions

virtual void AssertValid () const
void AsString (char *psz, int len) const
virtual void Close ()
int GetBitsPerPixel () const
int GetHeight () const
virtual void GetImage (PLBmp &Bmp)
const PLPointGetResolution () const
const PLPointGetSize () const
int GetWidth () const
bool HasAlpha () const
bool IsGreyscale () const
virtual void MakeBmp (PLBmp *pBmp, int BPPWanted=0)
virtual void MakeBmpFromFile (const char *pszFName, PLBmp *pBmp, int BPPWanted=0, PLIProgressNotification *pProgNot=NULL)
virtual void MakeBmpFromMemory (unsigned char *ucMemSrc, int MemSrcSize, PLBmp *pBmp, int BPPWanted=0, PLIProgressNotification *pProgNot=NULL)
virtual void MakeBmpFromURL (const char *pszURL, PLBmp *pBmp, int BPPWanted=0, PLIProgressNotification *pProgNot=NULL)
virtual void Open (PLDataSource *pDataSrc)
void OpenFile (const char *pszFName, PLIProgressNotification *pProgNot=NULL)
bool operator== (const PLBmpInfo &Other) const
void SetDataSrc (PLDataSource *pDataSrc)

Static Public Member Functions

static void raiseError (int Code, char *pszErr)
static void SetTraceConfig (int Level, char *pszFName)
static void Trace (int TraceLevel, const char *pszMessage)
 Called to output status messages to the current debug console.

Protected Member Functions

PLBYTE ReadByte (PLDataSource *pDataSrc)
PLLONG ReadILong (PLDataSource *pDataSrc)
PLWORD ReadIWord (PLDataSource *pDataSrc)
PLLONG ReadMLong (PLDataSource *pDataSrc)
PLWORD ReadMWord (PLDataSource *pDataSrc)
void SetBmpInfo (const PLBmpInfo &SrcInfo)
void SetBmpInfo (const PLPoint &Size, int bpp, const PLPoint &Resolution, bool bAlphaChannel, bool bIsGreyscale)
PLBYTE * unpackPictRow (PLBYTE *pLineBuf, PLDataSource *pDataSrc, int Width, int rowBytes, int SrcBytes)

Protected Attributes

bool m_bAlphaChannel
bool m_bIsGreyscale
int m_bpp
PLDataSourcem_pDataSrc
PLPoint m_Resolution
PLPoint m_Size

Private Attributes

void * m_pGifFile

The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index