📄 libmng_types.h
字号:
#elif ULONG_MAX == 0xffffffffUtypedef unsigned long mng_uint32;typedef signed long mng_int32;#else#error "Sorry, I can't find any 32-bit integers on this platform."#endiftypedef signed short mng_int16; /* other basic integers */typedef unsigned short mng_uint16;typedef signed char mng_int8;typedef unsigned char mng_uint8;typedef double mng_float; /* basic float */typedef size_t mng_size_t; /* size field for memory allocation */typedef char * mng_pchar; /* string */typedef void * mng_ptr; /* generic pointer */typedef void (*mng_fptr) (void); /* generic function pointer *//* ************************************************************************** *//* * * *//* * Platform-independant from here * *//* * * *//* ************************************************************************** */typedef mng_uint32 * mng_uint32p; /* pointer to unsigned longs */typedef mng_int32 * mng_int32p; /* pointer to longs */typedef mng_uint16 * mng_uint16p; /* pointer to unsigned words */typedef mng_uint8 * mng_uint8p; /* pointer to unsigned bytes */typedef mng_int8 mng_bool; /* booleans */struct mng_data_struct;typedef struct mng_data_struct * mng_handle; /* generic handle */typedef mng_int32 mng_retcode; /* generic return code */typedef mng_int32 mng_chunkid; /* 4-byte chunkname identifier */typedef mng_ptr mng_chunkp; /* pointer to a chunk-structure */typedef mng_ptr mng_objectp; /* pointer to an object-structure */typedef mng_chunkid * mng_chunkidp; /* pointer to chunkid */typedef struct { /* 8-bit palette element */ mng_uint8 iRed; mng_uint8 iGreen; mng_uint8 iBlue; } mng_palette8e;typedef mng_palette8e mng_palette8[256]; /* 8-bit palette */typedef mng_palette8e * mng_palette8ep;typedef mng_uint8 mng_uint8arr[256]; /* generic arrays */typedef mng_uint8 mng_uint8arr4[4];typedef mng_uint16 mng_uint16arr[256];typedef mng_uint32 mng_uint32arr2[2];/* ************************************************************************** */#define MNG_FALSE 0#define MNG_TRUE 1#define MNG_NULL 0#define MNG_SUSPENDBUFFERSIZE 32768#define MNG_SUSPENDREQUESTSIZE 1024/* ************************************************************************** */#ifdef MNG_INCLUDE_ZLIB/* size of temporary zlib buffer for deflate processing */#define MNG_ZLIB_MAXBUF 8192/* default zlib compression parameters for deflateinit2 */#define MNG_ZLIB_LEVEL 9 /* level */#define MNG_ZLIB_METHOD Z_DEFLATED /* method */#define MNG_ZLIB_WINDOWBITS 15 /* window size */#define MNG_ZLIB_MEMLEVEL 9 /* memory level */#define MNG_ZLIB_STRATEGY Z_DEFAULT_STRATEGY /* strategy */#define MNG_MAX_IDAT_SIZE 4096 /* maximum size of IDAT data */#endif /* MNG_INCLUDE_ZLIB *//* ************************************************************************** */#ifdef MNG_INCLUDE_JNG#ifdef MNG_INCLUDE_IJG6B /* IJG helper defs */typedef struct jpeg_compress_struct mngjpeg_comp;typedef struct jpeg_decompress_struct mngjpeg_decomp;typedef struct jpeg_error_mgr mngjpeg_error;typedef struct jpeg_source_mgr mngjpeg_source;typedef mngjpeg_comp * mngjpeg_compp;typedef mngjpeg_decomp * mngjpeg_decompp;typedef mngjpeg_error * mngjpeg_errorp;typedef mngjpeg_source * mngjpeg_sourcep;typedef J_DCT_METHOD mngjpeg_dctmethod;/* default IJG parameters for compression */#define MNG_JPEG_DCT JDCT_DEFAULT /* DCT algorithm (JDCT_ISLOW) */#define MNG_JPEG_QUALITY 100 /* quality 0..100; 100=best */#define MNG_JPEG_SMOOTHING 0 /* default no smoothing */#define MNG_JPEG_PROGRESSIVE MNG_FALSE /* default is just baseline */#define MNG_JPEG_OPTIMIZED MNG_FALSE /* default is not optimized */#endif /* MNG_INCLUDE_IJG6B */#define MNG_JPEG_MAXBUF 65500 /* max size of temp JPEG buffer */#define MNG_MAX_JDAT_SIZE 4096 /* maximum size of JDAT data */#endif /* MNG_INCLUDE_JNG *//* ************************************************************************** */#ifdef MNG_INCLUDE_LCMStypedef cmsHPROFILE mng_cmsprof; /* little CMS helper defs */typedef cmsHTRANSFORM mng_cmstrans;typedef cmsCIExyY mng_CIExyY;typedef cmsCIExyYTRIPLE mng_CIExyYTRIPLE;typedef LPGAMMATABLE mng_gammatabp;#endif /* MNG_INCLUDE_LCMS *//* ************************************************************************** */ /* enumeration of known graphics types */enum mng_imgtypes {mng_it_unknown, mng_it_png, mng_it_mng, mng_it_jng};typedef enum mng_imgtypes mng_imgtype; /* enumeration of animation speed-types */enum mng_speedtypes {mng_st_normal, mng_st_fast, mng_st_slow, mng_st_slowest};typedef enum mng_speedtypes mng_speedtype;/* ************************************************************************** */ /* memory management callbacks */typedef mng_ptr (MNG_DECL *mng_memalloc) (mng_size_t iLen);typedef void (MNG_DECL *mng_memfree) (mng_ptr iPtr, mng_size_t iLen); /* I/O management callbacks */typedef mng_bool (MNG_DECL *mng_openstream) (mng_handle hHandle);typedef mng_bool (MNG_DECL *mng_closestream) (mng_handle hHandle);typedef mng_bool (MNG_DECL *mng_readdata) (mng_handle hHandle, mng_ptr pBuf, mng_uint32 iBuflen, mng_uint32p pRead);typedef mng_bool (MNG_DECL *mng_writedata) (mng_handle hHandle, mng_ptr pBuf, mng_uint32 iBuflen, mng_uint32p pWritten); /* error & trace processing callbacks */typedef mng_bool (MNG_DECL *mng_errorproc) (mng_handle hHandle, mng_int32 iErrorcode, mng_int8 iSeverity, mng_chunkid iChunkname, mng_uint32 iChunkseq, mng_int32 iExtra1, mng_int32 iExtra2, mng_pchar zErrortext);typedef mng_bool (MNG_DECL *mng_traceproc) (mng_handle hHandle, mng_int32 iFuncnr, mng_int32 iFuncseq, mng_pchar zFuncname); /* read processing callbacks */typedef mng_bool (MNG_DECL *mng_processheader) (mng_handle hHandle, mng_uint32 iWidth, mng_uint32 iHeight);typedef mng_bool (MNG_DECL *mng_processtext) (mng_handle hHandle, mng_uint8 iType, mng_pchar zKeyword, mng_pchar zText, mng_pchar zLanguage, mng_pchar zTranslation);typedef mng_bool (MNG_DECL *mng_processsave) (mng_handle hHandle);typedef mng_bool (MNG_DECL *mng_processseek) (mng_handle hHandle, mng_pchar zName);typedef mng_bool (MNG_DECL *mng_processneed) (mng_handle hHandle, mng_pchar zKeyword);typedef mng_bool (MNG_DECL *mng_processmend) (mng_handle hHandle, mng_uint32 iIterationsdone, mng_uint32 iIterationsleft);typedef mng_bool (MNG_DECL *mng_processunknown) (mng_handle hHandle, mng_chunkid iChunkid, mng_uint32 iRawlen, mng_ptr pRawdata);typedef mng_bool (MNG_DECL *mng_processterm) (mng_handle hHandle, mng_uint8 iTermaction, mng_uint8 iIteraction, mng_uint32 iDelay, mng_uint32 iItermax); /* display processing callbacks */typedef mng_ptr (MNG_DECL *mng_getcanvasline) (mng_handle hHandle, mng_uint32 iLinenr);typedef mng_ptr (MNG_DECL *mng_getbkgdline) (mng_handle hHandle, mng_uint32 iLinenr);typedef mng_ptr (MNG_DECL *mng_getalphaline) (mng_handle hHandle, mng_uint32 iLinenr);typedef mng_bool (MNG_DECL *mng_refresh) (mng_handle hHandle, mng_uint32 iX, mng_uint32 iY, mng_uint32 iWidth, mng_uint32 iHeight); /* timer management callbacks */typedef mng_uint32 (MNG_DECL *mng_gettickcount) (mng_handle hHandle);typedef mng_bool (MNG_DECL *mng_settimer) (mng_handle hHandle, mng_uint32 iMsecs); /* color management callbacks */typedef mng_bool (MNG_DECL *mng_processgamma) (mng_handle hHandle, mng_uint32 iGamma);typedef mng_bool (MNG_DECL *mng_processchroma) (mng_handle hHandle, mng_uint32 iWhitepointx, mng_uint32 iWhitepointy, mng_uint32 iRedx, mng_uint32 iRedy, mng_uint32 iGreenx, mng_uint32 iGreeny, mng_uint32 iBluex, mng_uint32 iBluey);typedef mng_bool (MNG_DECL *mng_processsrgb) (mng_handle hHandle, mng_uint8 iRenderingintent);typedef mng_bool (MNG_DECL *mng_processiccp) (mng_handle hHandle, mng_uint32 iProfilesize, mng_ptr pProfile);typedef mng_bool (MNG_DECL *mng_processarow) (mng_handle hHandle, mng_uint32 iRowsamples, mng_bool bIsRGBA16, mng_ptr pRow); /* chunk access callback(s) */typedef mng_bool (MNG_DECL *mng_iteratechunk) (mng_handle hHandle, mng_handle hChunk, mng_chunkid iChunkid, mng_uint32 iChunkseq);/* ************************************************************************** */#endif /* _libmng_types_h_ *//* ************************************************************************** *//* * end of file * *//* ************************************************************************** */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -