?? libmng.h
字號:
/* * - version numbers (obviously) * */
/* * * */
/* * 1.0.1 - 02/08/2001 - G.Juyn * */
/* * - added MEND processing callback * */
/* * 1.0.1 - 04/21/2001 - G.Juyn (code by G.Kelly) * */
/* * - added BGRA8 canvas with premultiplied alpha * */
/* * 1.0.1 - 05/02/2001 - G.Juyn * */
/* * - added "default" sRGB generation (Thanks Marti!) * */
/* * * */
/* * 1.0.2 - 06/23/2001 - G.Juyn * */
/* * - 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 * */
/* * * */
/* * 1.0.5 - 07/04/2002 - G.Juyn * */
/* * - added errorcode for extreme chunk-sizes * */
/* * 1.0.5 - 08/07/2002 - G.Juyn * */
/* * - added test-option for PNG filter method 193 (=no filter) * */
/* * 1.0.5 - 08/15/2002 - G.Juyn * */
/* * - completed PROM support * */
/* * - completed delta-image support * */
/* * 1.0.5 - 08/19/2002 - G.Juyn * */
/* * - added HLAPI function to copy chunks * */
/* * 1.0.5 - 09/14/2002 - G.Juyn * */
/* * - added event handling for dynamic MNG * */
/* * - added 'supports' call to check function availability * */
/* * 1.0.5 - 09/15/2002 - G.Juyn * */
/* * - fixed LOOP iteration=0 special case * */
/* * 1.0.5 - 09/20/2002 - G.Juyn * */
/* * - added support for PAST * */
/* * 1.0.5 - 09/22/2002 - G.Juyn * */
/* * - added bgrx8 canvas (filler byte) * */
/* * 1.0.5 - 10/07/2002 - G.Juyn * */
/* * - added check for TERM placement during create/write * */
/* * - added beta version function & constant * */
/* * 1.0.5 - 11/07/2002 - G.Juyn * */
/* * - added support to get totals after mng_read() * */
/* * * */
/* * 1.0.6 - 07/07/2003 - G. Randers-Pehrson * */
/* * - added support for reducing the footprint of libmng * */
/* * by macros that optionally skip unused chunks, remove * */
/* * 16-bit sample support, remove Delta support, and * */
/* * remove JNG support, to accomodate Mozilla/Firebird. * */
/* * 1.0.6 - 07/14/2003 - G. Randers-Pehrson * */
/* * - further optional removal of unused functions * */
/* * * */
/* * 1.0.7 - 11/27/2003 - R.A * */
/* * - added CANVAS_RGB565 and CANVAS_BGR565 * */
/* * 1.0.7 - 12/06/2003 - R.A * */
/* * - added CANVAS_RGBA565 and CANVAS_BGRA565 * */
/* * 1.0.7 - 01/25/2004 - J.S * */
/* * - added premultiplied alpha canvas' for RGBA, ARGB, ABGR * */
/* * 1.0.7 - 03/07/2004 - G. Randers-Pehrson * */
/* * - put gamma, cms-related declarations inside #ifdef * */
/* * 1.0.7 - 03/10/2004 - G.R-P * */
/* * - added conditionals around openstream/closestream * */
/* * * */
/* * 1.0.8 - 04/02/2004 - G.Juyn * */
/* * - added CRC existence & checking flags * */
/* * 1.0.8 - 04/12/2004 - G.Juyn * */
/* * - added data-push mechanisms for specialized decoders * */
/* * 1.0.8 - 06/05/2004 - G.R-P * */
/* * - define MNG_INCLUDE_ZLIB when MNG_USE_ZLIB_CRC is defined * */
/* * * */
/* ************************************************************************** */
#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_USE_ZLIB_CRC
#define MNG_INCLUDE_ZLIB
#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 __cplusplus
extern "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.8"
#define MNG_VERSION_SO 1 /* eg. libmng.so.1 */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -