dgif_lib.c File Reference

#include "../config.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdlib.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include "gif_lib.h"
#include "gif_lib_private.h"

Go to the source code of this file.

Defines

#define COMMENT_EXT_FUNC_CODE   0xfe
#define READ(_gif, _buf, _len)

Functions

static int DGifGetWord (GifFileType *GifFile, int *Word)
static int DGifSetupDecompress (GifFileType *GifFile)
static int DGifDecompressLine (GifFileType *GifFile, GifPixelType *Line, int LineLen)
static int DGifGetPrefixChar (unsigned int *Prefix, int Code, int ClearCode)
static int DGifDecompressInput (GifFileType *GifFile, int *Code)
static int DGifBufferedInput (GifFileType *GifFile, GifByteType *Buf, GifByteType *NextByte)
GifFileTypeDGifOpen (void *userData, InputFunc readFunc)
int DGifGetScreenDesc (GifFileType *GifFile)
int DGifGetRecordType (GifFileType *GifFile, GifRecordType *Type)
int DGifGetImageDesc (GifFileType *GifFile)
int DGifGetLine (GifFileType *GifFile, GifPixelType *Line, int LineLen)
int DGifGetExtension (GifFileType *GifFile, int *ExtCode, GifByteType **Extension)
int DGifGetExtensionNext (GifFileType *GifFile, GifByteType **Extension)
int DGifCloseFile (GifFileType *GifFile)
int DGifGetCode (GifFileType *GifFile, int *CodeSize, GifByteType **CodeBlock)
int DGifGetCodeNext (GifFileType *GifFile, GifByteType **CodeBlock)


Define Documentation

#define COMMENT_EXT_FUNC_CODE   0xfe

Definition at line 39 of file dgif_lib.c.

Referenced by EGifPutComment().

#define READ ( _gif,
_buf,
_len   ) 

Value:

(((GifFilePrivateType*)_gif->Private)->Read ?                   \
    ((GifFilePrivateType*)_gif->Private)->Read(_gif,_buf,_len) : \
    fread(_buf,1,_len,((GifFilePrivateType*)_gif->Private)->File))

Definition at line 42 of file dgif_lib.c.

Referenced by DGifBufferedInput(), DGifGetCodeNext(), DGifGetExtension(), DGifGetExtensionNext(), DGifGetImageDesc(), DGifGetRecordType(), DGifGetScreenDesc(), DGifGetWord(), DGifOpen(), and DGifSetupDecompress().


Function Documentation

static int DGifBufferedInput ( GifFileType GifFile,
GifByteType Buf,
GifByteType NextByte 
) [static]

Definition at line 735 of file dgif_lib.c.

References _GifError, D_GIF_ERR_READ_FAILED, GIF_ERROR, GIF_OK, and READ.

int DGifCloseFile ( GifFileType GifFile  ) 

Definition at line 380 of file dgif_lib.c.

References _GifError, GifImageDesc::ColorMap, D_GIF_ERR_CLOSE_FAILED, D_GIF_ERR_NOT_READABLE, fclose(), GifFilePrivateType::File, File, free(), FreeMapObject(), FreeSavedImages(), GIF_ERROR, GIF_OK, if(), GifFileType::Image, IS_READABLE, NULL, GifFileType::Private, GifFileType::SavedImages, and GifFileType::SColorMap.

Referenced by ASImage2gif(), and gif2ASImage().

static int DGifDecompressInput ( GifFileType GifFile,
int *  Code 
) [static]

Definition at line 692 of file dgif_lib.c.

References GifFileType::Private.

Referenced by DGifDecompressLine().

static int DGifDecompressLine ( GifFileType GifFile,
GifPixelType Line,
int  LineLen 
) [static]

Definition at line 546 of file dgif_lib.c.

References _GifError, GifFilePrivateType::BitsPerPixel, GifFilePrivateType::ClearCode, ClearCode, D_GIF_ERR_EOF_TOO_SOON, D_GIF_ERR_IMAGE_DEFECT, DGifDecompressInput(), DGifGetPrefixChar(), GifFilePrivateType::EOFCode, EOFCode, GIF_ERROR, i, if(), j, GifFilePrivateType::LastCode, LZ_MAX_CODE, GifFilePrivateType::MaxCode1, NO_SUCH_CODE, GifFilePrivateType::PixelCount, Prefix, GifFilePrivateType::Prefix, GifFileType::Private, GifFilePrivateType::RunningBits, GifFilePrivateType::RunningCode, GifFilePrivateType::Stack, GifFilePrivateType::StackPtr, Suffix, and GifFilePrivateType::Suffix.

Referenced by DGifGetLine().

int DGifGetCode ( GifFileType GifFile,
int *  CodeSize,
GifByteType **  CodeBlock 
)

Definition at line 455 of file dgif_lib.c.

References _GifError, GifFilePrivateType::BitsPerPixel, D_GIF_ERR_NOT_READABLE, DGifGetCodeNext(), GIF_ERROR, if(), IS_READABLE, and GifFileType::Private.

int DGifGetCodeNext ( GifFileType GifFile,
GifByteType **  CodeBlock 
)

Definition at line 475 of file dgif_lib.c.

References _GifError, GifFilePrivateType::Buf, D_GIF_ERR_READ_FAILED, fseek, GIF_ERROR, GIF_OK, if(), NULL, GifFilePrivateType::PixelCount, GifFileType::Private, READ, SEEK_END, and GifFileType::UserData.

Referenced by DGifGetCode(), and DGifGetLine().

int DGifGetExtension ( GifFileType GifFile,
int *  ExtCode,
GifByteType **  Extension 
)

Definition at line 328 of file dgif_lib.c.

References _GifError, D_GIF_ERR_NOT_READABLE, D_GIF_ERR_READ_FAILED, DGifGetExtensionNext(), GIF_ERROR, if(), IS_READABLE, GifFileType::Private, and READ.

Referenced by get_gif_saved_images().

int DGifGetExtensionNext ( GifFileType GifFile,
GifByteType **  Extension 
)

Definition at line 354 of file dgif_lib.c.

References _GifError, GifFilePrivateType::Buf, D_GIF_ERR_READ_FAILED, GIF_ERROR, GIF_OK, if(), NULL, GifFileType::Private, and READ.

Referenced by DGifGetExtension(), and get_gif_saved_images().

int DGifGetImageDesc ( GifFileType GifFile  ) 

Definition at line 206 of file dgif_lib.c.

References _GifError, ColorMapObject::ColorCount, GifImageDesc::ColorMap, D_GIF_ERR_NOT_ENOUGH_MEM, D_GIF_ERR_NOT_READABLE, D_GIF_ERR_READ_FAILED, DGifGetWord(), FreeMapObject(), GIF_ERROR, GifImageDesc::Height, i, if(), GifFileType::Image, GifFileType::ImageCount, GifImageDesc::Interlace, IS_READABLE, GifImageDesc::Left, MakeMapObject(), NULL, GifFileType::Private, READ, realloc(), GifFileType::SavedImages, GifImageDesc::Top, GifImageDesc::Width, and x80.

Referenced by get_gif_image_desc().

int DGifGetLine ( GifFileType GifFile,
GifPixelType Line,
int  LineLen 
)

Definition at line 284 of file dgif_lib.c.

References _GifError, D_GIF_ERR_DATA_TOO_BIG, D_GIF_ERR_NOT_READABLE, DGifDecompressLine(), DGifGetCodeNext(), GIF_ERROR, GIF_OK, if(), GifFileType::Image, IS_READABLE, NULL, GifFilePrivateType::PixelCount, GifFileType::Private, and GifImageDesc::Width.

Referenced by get_gif_saved_images().

static int DGifGetPrefixChar ( unsigned int *  Prefix,
int  Code,
int  ClearCode 
) [static]

Definition at line 678 of file dgif_lib.c.

References i, and LZ_MAX_CODE.

Referenced by DGifDecompressLine().

int DGifGetRecordType ( GifFileType GifFile,
GifRecordType Type 
)

Definition at line 167 of file dgif_lib.c.

References _GifError, D_GIF_ERR_NOT_READABLE, D_GIF_ERR_READ_FAILED, D_GIF_ERR_WRONG_RECORD, EXTENSION_RECORD_TYPE, GIF_ERROR, GIF_OK, if(), IMAGE_DESC_RECORD_TYPE, IS_READABLE, GifFileType::Private, READ, TERMINATE_RECORD_TYPE, and UNDEFINED_RECORD_TYPE.

Referenced by get_gif_saved_images().

int DGifGetScreenDesc ( GifFileType GifFile  ) 

Definition at line 121 of file dgif_lib.c.

References _GifError, ColorMapObject::ColorCount, D_GIF_ERR_NOT_READABLE, D_GIF_ERR_READ_FAILED, DGifGetWord(), GIF_ERROR, GIF_OK, i, if(), IS_READABLE, MakeMapObject(), NULL, GifFileType::Private, READ, GifFileType::SBackGroundColor, GifFileType::SColorMap, GifFileType::SColorResolution, GifFileType::SHeight, GifFileType::SWidth, and x80.

Referenced by DGifOpen().

static int DGifGetWord ( GifFileType GifFile,
int *  Word 
) [static]

Definition at line 435 of file dgif_lib.c.

References _GifError, c, D_GIF_ERR_READ_FAILED, GIF_ERROR, GIF_OK, int, and READ.

Referenced by DGifGetImageDesc(), and DGifGetScreenDesc().

GifFileType* DGifOpen ( void *  userData,
InputFunc  readFunc 
)

Definition at line 60 of file dgif_lib.c.

References _GifError, D_GIF_ERR_NOT_ENOUGH_MEM, D_GIF_ERR_NOT_GIF_FILE, D_GIF_ERR_READ_FAILED, DGifGetScreenDesc(), GifFilePrivateType::File, FILE_STATE_READ, GifFilePrivateType::FileHandle, GifFilePrivateType::FileState, free(), GIF_ERROR, GIF_STAMP, GIF_STAMP_LEN, GIF_VERSION_POS, malloc(), NULL, GifFileType::Private, GifFilePrivateType::Read, READ, GifFileType::UserData, and VoidPtr.

Referenced by open_gif_read().

static int DGifSetupDecompress ( GifFileType GifFile  )  [static]

Definition at line 512 of file dgif_lib.c.

References GifFilePrivateType::BitsPerPixel, GifFilePrivateType::Buf, GifFilePrivateType::ClearCode, GifFilePrivateType::CrntShiftDWord, GifFilePrivateType::CrntShiftState, GifFilePrivateType::EOFCode, GIF_OK, i, GifFilePrivateType::LastCode, LZ_MAX_CODE, GifFilePrivateType::MaxCode1, NO_SUCH_CODE, Prefix, GifFilePrivateType::Prefix, GifFileType::Private, READ, GifFilePrivateType::RunningBits, GifFilePrivateType::RunningCode, and GifFilePrivateType::StackPtr.


Generated on Tue Jul 5 15:58:09 2011 for ROOT_528-00b_version by  doxygen 1.5.1