1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #ifndef _GIF_LIB_PRIVATE_H
- #define _GIF_LIB_PRIVATE_H
- #include "gif_lib.h"
- #include "gif_hash.h"
- #define EXTENSION_INTRODUCER 0x21
- #define DESCRIPTOR_INTRODUCER 0x2c
- #define TERMINATOR_INTRODUCER 0x3b
- #define LZ_MAX_CODE 4095
- #define LZ_BITS 12
- #define FLUSH_OUTPUT 4096
- #define FIRST_CODE 4097
- #define NO_SUCH_CODE 4098
- #define FILE_STATE_WRITE 0x01
- #define FILE_STATE_SCREEN 0x02
- #define FILE_STATE_IMAGE 0x04
- #define FILE_STATE_READ 0x08
- #define IS_READABLE(Private) (Private->FileState & FILE_STATE_READ)
- #define IS_WRITEABLE(Private) (Private->FileState & FILE_STATE_WRITE)
- typedef struct GifFilePrivateType {
- GifWord FileState, FileHandle,
- BitsPerPixel,
- ClearCode,
- EOFCode,
- RunningCode,
- RunningBits,
- MaxCode1,
- LastCode,
- CrntCode,
- StackPtr,
- CrntShiftState;
- unsigned long CrntShiftDWord;
- unsigned long PixelCount;
- FILE *File;
- InputFunc Read;
- OutputFunc Write;
- GifByteType Buf[256];
- GifByteType Stack[LZ_MAX_CODE];
- GifByteType Suffix[LZ_MAX_CODE + 1];
- GifPrefixType Prefix[LZ_MAX_CODE + 1];
- GifHashTableType *HashTable;
- bool gif89;
- } GifFilePrivateType;
- #endif
|