⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 libmng.h

📁 Linux下的基于X11的图形开发环境。
💻 H
📖 第 1 页 / 共 5 页
字号:
/* *             - added optimization option for MNG-video playback         * *//* *             - added processterm callback                               * *//* *             1.0.2 - 06/25/2001 - G.Juyn                                * *//* *             - added late binding errorcode (not used internally)       * *//* *             - added option to turn off progressive refresh             * *//* *                                                                        * *//* *             1.0.3 - 08/06/2001 - G.Juyn                                * *//* *             - added get function for last processed BACK chunk         * *//* *                                                                        * *//* ************************************************************************** */#if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)#pragma option -A                      /* force ANSI-C */#endif#ifndef _libmng_h_#define _libmng_h_/* ************************************************************************** */#include "libmng_conf.h"               /* user-specific configuration options *//* ************************************************************************** */#define MNG_CHECK_BAD_ICCP             /* let's catch that sucker !!! */#ifdef MNG_SUPPORT_READ                /* dependencies based on user-configuration */#define MNG_INCLUDE_READ_PROCS#endif#ifdef MNG_SUPPORT_WRITE#define MNG_INCLUDE_WRITE_PROCS#endif#ifdef MNG_SUPPORT_DISPLAY#define MNG_INCLUDE_FILTERS#define MNG_INCLUDE_INTERLACE#define MNG_INCLUDE_OBJECTS#define MNG_INCLUDE_DISPLAY_PROCS#define MNG_INCLUDE_TIMING_PROCS#define MNG_INCLUDE_ZLIB#endif#ifdef MNG_STORE_CHUNKS#define MNG_INCLUDE_ZLIB#endif#ifdef MNG_SUPPORT_IJG6B#define MNG_INCLUDE_JNG#define MNG_INCLUDE_IJG6B#define MNG_USE_SETJMP#endif#ifdef MNG_INCLUDE_JNG#if defined(MNG_SUPPORT_DISPLAY) || defined(MNG_ACCESS_CHUNKS)#define MNG_INCLUDE_JNG_READ#endif#if defined(MNG_SUPPORT_WRITE) || defined(MNG_ACCESS_CHUNKS)#define MNG_INCLUDE_JNG_WRITE#endif#endif#ifdef MNG_FULL_CMS#define MNG_INCLUDE_LCMS#endif#ifdef MNG_AUTO_DITHER#define MNG_INCLUDE_DITHERING#endif#ifdef MNG_SUPPORT_TRACE#define MNG_INCLUDE_TRACE_PROCS#ifdef MNG_TRACE_TELLTALE#define MNG_INCLUDE_TRACE_STRINGS#endif#endif#ifdef MNG_ERROR_TELLTALE#define MNG_INCLUDE_ERROR_STRINGS#endif/* ************************************************************************** */#include "libmng_types.h"              /* platform-specific definitions                                          and other assorted stuff *//* ************************************************************************** */#ifdef __cplusplusextern "C" {#endif/* ************************************************************************** *//* *                                                                        * *//* *  Versioning control                                                    * *//* *                                                                        * *//* *  version_so and version_dll will NOT reflect version_major;            * *//* *  these will only change for binary incompatible changes (which will    * *//* *  hopefully never occur)                                                * *//* *  note: they will be set to 1 on the first public release !!!           * *//* *                                                                        * *//* *  first public release:                                                 * *//* *  #define MNG_VERSION_TEXT    "1.0.0"                                   * *//* *  #define MNG_VERSION_SO      1       eg. libmng.so.1                   * *//* *  #define MNG_VERSION_DLL     1       eg. libmng.dll                    * *//* *  #define MNG_VERSION_MAJOR   1                                         * *//* *  #define MNG_VERSION_MINOR   0                                         * *//* *  #define MNG_VERSION_RELEASE 0                                         * *//* *                                                                        * *//* *  bug fix & cosmetics :                                                 * *//* *  #define MNG_VERSION_TEXT    "1.0.1"                                   * *//* *  #define MNG_VERSION_SO      1       eg. libmng.so.1                   * *//* *  #define MNG_VERSION_DLL     1       eg. libmng.dll                    * *//* *  #define MNG_VERSION_MAJOR   1                                         * *//* *  #define MNG_VERSION_MINOR   0                                         * *//* *  #define MNG_VERSION_RELEASE 1                                         * *//* *                                                                        * *//* *  feature change :                                                      * *//* *  #define MNG_VERSION_TEXT    "1.2.0"                                   * *//* *  #define MNG_VERSION_SO      1       eg. libmng.so.1                   * *//* *  #define MNG_VERSION_DLL     1       eg. libmng.dll                    * *//* *  #define MNG_VERSION_MAJOR   1                                         * *//* *  #define MNG_VERSION_MINOR   2                                         * *//* *  #define MNG_VERSION_RELEASE 0                                         * *//* *                                                                        * *//* *  major rewrite (still binary compatible) :                             * *//* *  #define MNG_VERSION_TEXT    "2.0.0"                                   * *//* *  #define MNG_VERSION_SO      1       eg. libmng.so.1                   * *//* *  #define MNG_VERSION_DLL     1       eg. libmng.dll                    * *//* *  #define MNG_VERSION_MAJOR   2                                         * *//* *  #define MNG_VERSION_MINOR   0                                         * *//* *  #define MNG_VERSION_RELEASE 0                                         * *//* *                                                                        * *//* *  binary incompatible change:                                           * *//* *  #define MNG_VERSION_TEXT    "13.0.0"                                  * *//* *  #define MNG_VERSION_SO      2       eg. libmng.so.2                   * *//* *  #define MNG_VERSION_DLL     2       eg. libmng2.dll                   * *//* *  #define MNG_VERSION_MAJOR   13                                        * *//* *  #define MNG_VERSION_MINOR   0                                         * *//* *  #define MNG_VERSION_RELEASE 0                                         * *//* *                                                                        * *//* *  note that version_so & version_dll will always remain equal so it     * *//* *  doesn't matter which one is called to do version-checking; they are   * *//* *  just provided for their target platform                               * *//* *                                                                        * *//* ************************************************************************** */#define MNG_VERSION_TEXT    "1.0.4"#define MNG_VERSION_SO      1          /* eg. libmng.so.1  */#define MNG_VERSION_DLL     1          /* but: libmng.dll (!) */#define MNG_VERSION_MAJOR   1#define MNG_VERSION_MINOR   0#define MNG_VERSION_RELEASE 4MNG_EXT mng_pchar MNG_DECL mng_version_text    (void);MNG_EXT mng_uint8 MNG_DECL mng_version_so      (void);MNG_EXT mng_uint8 MNG_DECL mng_version_dll     (void);MNG_EXT mng_uint8 MNG_DECL mng_version_major   (void);MNG_EXT mng_uint8 MNG_DECL mng_version_minor   (void);MNG_EXT mng_uint8 MNG_DECL mng_version_release (void);/* ************************************************************************** *//* *                                                                        * *//* *  MNG/PNG specification level conformance                               * *//* *                                                                        * *//* ************************************************************************** */#define MNG_PNG_VERSION     "1.2"#define MNG_PNG_VERSION_MAJ 1#define MNG_PNG_VERSION_MIN 2#define MNG_MNG_VERSION     "1.0"#define MNG_MNG_VERSION_MAJ 1#define MNG_MNG_VERSION_MIN 0#define MNG_MNG_DRAFT       99         /* deprecated;                                          only used for nEED "MNG DRAFT nn" *//* ************************************************************************** *//* *                                                                        * *//* *  High-level application functions                                      * *//* *                                                                        * *//* ************************************************************************** *//* library initialization function *//* must be the first called before anything can be done at all *//* initializes internal datastructure(s) */MNG_EXT mng_handle  MNG_DECL mng_initialize      (mng_ptr       pUserdata,                                                  mng_memalloc  fMemalloc,                                                  mng_memfree   fMemfree,                                                  mng_traceproc fTraceproc);/* library reset function *//* can be used to re-initialize the library, so another image can be   processed. there's absolutely no harm in calling it, even when it's not   really necessary */MNG_EXT mng_retcode MNG_DECL mng_reset           (mng_handle    hHandle);/* library cleanup function *//* must be the last called to clean up internal datastructure(s) */MNG_EXT mng_retcode MNG_DECL mng_cleanup         (mng_handle*   hHandle);/* high-level read functions *//* use mng_read if you simply want to read a Network Graphic *//* mng_read_resume is used in I/O-read-suspension scenarios, where the   "readdata" callback may return FALSE & length=0 indicating it's buffer is   depleted or too short to supply the required bytes, and the buffer needs   to be refilled; libmng will return the errorcode MNG_NEEDMOREDATA telling   the app to refill it's read-buffer after which it must call mng_read_resume   (or mng_display_resume if it also displaying the image simultaneously) */#ifdef MNG_SUPPORT_READMNG_EXT mng_retcode MNG_DECL mng_read            (mng_handle    hHandle);MNG_EXT mng_retcode MNG_DECL mng_read_resume     (mng_handle    hHandle);#endif/* high-level write & create functions *//* use this if you want to write a previously read Network Graphic or   if you want to create a new graphic and write it *//* to write a previously read graphic you must have defined MNG_STORE_CHUNKS *//* to create a new graphic you'll also need access to the chunks   (eg. #define MNG_ACCESS_CHUNKS !) */#ifdef MNG_SUPPORT_WRITEMNG_EXT mng_retcode MNG_DECL mng_write           (mng_handle    hHandle);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -