📄 libmng_trace.c
字号:
/* ************************************************************************** *//* * For conditions of distribution and use, * *//* * see copyright notice in libmng.h * *//* ************************************************************************** *//* * * *//* * project : libmng * *//* * file : libmng_trace.c copyright (c) 2000 G.Juyn * *//* * version : 1.0.3 * *//* * * *//* * purpose : Trace functions (implementation) * *//* * * *//* * author : G.Juyn * *//* * web : http://www.3-t.com * *//* * email : mailto:info@3-t.com * *//* * * *//* * comment : implementation of the trace functions * *//* * * *//* * changes : 0.5.1 - 05/08/2000 - G.Juyn * *//* * - changed strict-ANSI stuff * *//* * 0.5.1 - 05/12/2000 - G.Juyn * *//* * - added callback error-reporting support * *//* * * *//* * 0.5.2 - 05/23/2000 - G.Juyn * *//* * - added trace telltale reporting * *//* * 0.5.2 - 05/24/2000 - G.Juyn * *//* * - added tracestrings for global animation color-chunks * *//* * - added tracestrings for get/set of default ZLIB/IJG parms * *//* * - added tracestrings for global PLTE,tRNS,bKGD * *//* * 0.5.2 - 05/30/2000 - G.Juyn * *//* * - added tracestrings for image-object promotion * *//* * - added tracestrings for delta-image processing * *//* * 0.5.2 - 06/02/2000 - G.Juyn * *//* * - added tracestrings for getalphaline callback * *//* * 0.5.2 - 06/05/2000 - G.Juyn * *//* * - added tracestring for RGB8_A8 canvasstyle * *//* * 0.5.2 - 06/06/2000 - G.Juyn * *//* * - added tracestring for mng_read_resume HLAPI function * *//* * * *//* * 0.5.3 - 06/21/2000 - G.Juyn * *//* * - added tracestrings for get/set speedtype * *//* * - added tracestring for get imagelevel * *//* * 0.5.3 - 06/22/2000 - G.Juyn * *//* * - added tracestring for delta-image processing * *//* * - added tracestrings for PPLT chunk processing * *//* * * *//* * 0.9.1 - 07/07/2000 - G.Juyn * *//* * - added tracecodes for special display processing * *//* * 0.9.1 - 07/08/2000 - G.Juyn * *//* * - added tracestring for get/set suspensionmode * *//* * - added tracestrings for get/set display variables * *//* * - added tracecode for read_databuffer (I/O-suspension) * *//* * 0.9.1 - 07/15/2000 - G.Juyn * *//* * - added tracestrings for SAVE/SEEK callbacks * *//* * - added tracestrings for get/set sectionbreaks * *//* * - added tracestring for special error routine * *//* * 0.9.1 - 07/19/2000 - G.Juyn * *//* * - added tracestring for updatemngheader * *//* * * *//* * 0.9.2 - 07/31/2000 - G.Juyn * *//* * - added tracestrings for status_xxxxx functions * *//* * 0.9.2 - 08/05/2000 - G.Juyn * *//* * - changed file-prefixes * *//* * - added tracestring for updatemngsimplicity * *//* * * *//* * 0.9.3 - 08/26/2000 - G.Juyn * *//* * - added MAGN chunk * *//* * 0.9.3 - 09/07/2000 - G.Juyn * *//* * - added support for new filter_types * *//* * 0.9.3 - 10/10/2000 - G.Juyn * *//* * - added support for alpha-depth prediction * *//* * 0.9.3 - 10/11/2000 - G.Juyn * *//* * - added JDAA chunk * *//* * - added support for nEED * *//* * 0.9.3 - 10/16/2000 - G.Juyn * *//* * - added functions to retrieve PNG/JNG specific header-info * *//* * - added optional support for bKGD for PNG images * *//* * 0.9.3 - 10/17/2000 - G.Juyn * *//* * - added callback to process non-critical unknown chunks * *//* * - added routine to discard "invalid" objects * *//* * 0.9.3 - 10/19/2000 - G.Juyn * *//* * - implemented delayed delta-processing * *//* * 0.9.3 - 10/20/2000 - G.Juyn * *//* * - added get/set for bKGD preference setting * *//* * 0.9.3 - 10/21/2000 - G.Juyn * *//* * - added get function for interlace/progressive display * *//* * * *//* * 0.9.4 - 1/18/2001 - G.Juyn * *//* * - added "new" MAGN methods 3, 4 & 5 * *//* * * *//* * 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 option to turn off progressive refresh * *//* * * *//* * 1.0.3 - 08/06/2001 - G.Juyn * *//* * - added get function for last processed BACK chunk * *//* * * *//* ************************************************************************** */#include "libmng.h"#include "libmng_data.h"#include "libmng_error.h"#include "libmng_trace.h"#ifdef __BORLANDC__#pragma hdrstop#endif#if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)#pragma option -A /* force ANSI-C */#endif/* ************************************************************************** */#ifdef MNG_INCLUDE_TRACE_PROCS/* ************************************************************************** */#ifdef MNG_INCLUDE_TRACE_STRINGS mng_trace_entry trace_table [] = { {MNG_FN_INITIALIZE, "initialize"}, {MNG_FN_RESET, "reset"}, {MNG_FN_CLEANUP, "cleanup"}, {MNG_FN_READ, "read"}, {MNG_FN_WRITE, "write"}, {MNG_FN_CREATE, "create"}, {MNG_FN_READDISPLAY, "readdisplay"}, {MNG_FN_DISPLAY, "display"}, {MNG_FN_DISPLAY_RESUME, "display_resume"}, {MNG_FN_DISPLAY_FREEZE, "display_freeze"}, {MNG_FN_DISPLAY_RESET, "display_reset"}, {MNG_FN_DISPLAY_GOFRAME, "display_goframe"}, {MNG_FN_DISPLAY_GOLAYER, "display_golayer"}, {MNG_FN_DISPLAY_GOTIME, "display_gotime"}, {MNG_FN_GETLASTERROR, "getlasterror"}, {MNG_FN_READ_RESUME, "read_resume"}, {MNG_FN_SETCB_MEMALLOC, "setcb_memalloc"}, {MNG_FN_SETCB_MEMFREE, "setcb_memfree"}, {MNG_FN_SETCB_READDATA, "setcb_readdata"}, {MNG_FN_SETCB_WRITEDATA, "setcb_writedata"}, {MNG_FN_SETCB_ERRORPROC, "setcb_errorproc"}, {MNG_FN_SETCB_TRACEPROC, "setcb_traceproc"}, {MNG_FN_SETCB_PROCESSHEADER, "setcb_processheader"}, {MNG_FN_SETCB_PROCESSTEXT, "setcb_processtext"}, {MNG_FN_SETCB_GETCANVASLINE, "setcb_getcanvasline"}, {MNG_FN_SETCB_GETBKGDLINE, "setcb_getbkgdline"}, {MNG_FN_SETCB_REFRESH, "setcb_refresh"}, {MNG_FN_SETCB_GETTICKCOUNT, "setcb_gettickcount"}, {MNG_FN_SETCB_SETTIMER, "setcb_settimer"}, {MNG_FN_SETCB_PROCESSGAMMA, "setcb_processgamma"}, {MNG_FN_SETCB_PROCESSCHROMA, "setcb_processchroma"}, {MNG_FN_SETCB_PROCESSSRGB, "setcb_processsrgb"}, {MNG_FN_SETCB_PROCESSICCP, "setcb_processiccp"}, {MNG_FN_SETCB_PROCESSAROW, "setcb_processarow"}, {MNG_FN_SETCB_OPENSTREAM, "setcb_openstream"}, {MNG_FN_SETCB_CLOSESTREAM, "setcb_closestream"}, {MNG_FN_SETCB_GETALPHALINE, "setcb_getalphaline"}, {MNG_FN_SETCB_PROCESSSAVE, "setcb_processsave"}, {MNG_FN_SETCB_PROCESSSEEK, "setcb_processseek"}, {MNG_FN_SETCB_PROCESSNEED, "setcb_processneed"}, {MNG_FN_SETCB_PROCESSUNKNOWN, "setcb_processunknown"}, {MNG_FN_SETCB_PROCESSMEND, "setcb_processmend"}, {MNG_FN_SETCB_PROCESSTERM, "setcb_processterm"}, {MNG_FN_GETCB_MEMALLOC, "getcb_memalloc"}, {MNG_FN_GETCB_MEMFREE, "getcb_memfree"}, {MNG_FN_GETCB_READDATA, "getcb_readdata,"}, {MNG_FN_GETCB_WRITEDATA, "getcb_writedata"}, {MNG_FN_GETCB_ERRORPROC, "getcb_errorproc"}, {MNG_FN_GETCB_TRACEPROC, "getcb_traceproc"}, {MNG_FN_GETCB_PROCESSHEADER, "getcb_processheader"}, {MNG_FN_GETCB_PROCESSTEXT, "getcb_processtext"}, {MNG_FN_GETCB_GETCANVASLINE, "getcb_getcanvasline"}, {MNG_FN_GETCB_GETBKGDLINE, "getcb_getbkgdline"}, {MNG_FN_GETCB_REFRESH, "getcb_refresh"}, {MNG_FN_GETCB_GETTICKCOUNT, "getcb_gettickcount"}, {MNG_FN_GETCB_SETTIMER, "getcb_settimer"}, {MNG_FN_GETCB_PROCESSGAMMA, "getcb_processgamma"}, {MNG_FN_GETCB_PROCESSCHROMA, "getcb_processchroma"}, {MNG_FN_GETCB_PROCESSSRGB, "getcb_processsrgb"}, {MNG_FN_GETCB_PROCESSICCP, "getcb_processiccp"}, {MNG_FN_GETCB_PROCESSAROW, "getcb_processarow"}, {MNG_FN_GETCB_OPENSTREAM, "getcb_openstream"}, {MNG_FN_GETCB_CLOSESTREAM, "getcb_closestream"}, {MNG_FN_GETCB_GETALPHALINE, "getcb_getalphaline"}, {MNG_FN_GETCB_PROCESSSAVE, "getcb_processsave"}, {MNG_FN_GETCB_PROCESSSEEK, "getcb_processseek"}, {MNG_FN_GETCB_PROCESSNEED, "getcb_processneed"}, {MNG_FN_GETCB_PROCESSUNKNOWN, "getcb_processunknown"}, {MNG_FN_GETCB_PROCESSMEND, "getcb_processmend"}, {MNG_FN_GETCB_PROCESSTERM, "getcb_processterm"}, {MNG_FN_SET_USERDATA, "set_userdata"}, {MNG_FN_SET_CANVASSTYLE, "set_canvasstyle"}, {MNG_FN_SET_BKGDSTYLE, "set_bkgdstyle"}, {MNG_FN_SET_BGCOLOR, "set_bgcolor"}, {MNG_FN_SET_STORECHUNKS, "set_storechunks"}, {MNG_FN_SET_VIEWGAMMA, "set_viewgamma"}, {MNG_FN_SET_DISPLAYGAMMA, "set_displaygamma"}, {MNG_FN_SET_DFLTIMGGAMMA, "set_dfltimggamma"}, {MNG_FN_SET_SRGB, "set_srgb"}, {MNG_FN_SET_OUTPUTPROFILE, "set_outputprofile"}, {MNG_FN_SET_SRGBPROFILE, "set_srgbprofile"}, {MNG_FN_SET_MAXCANVASWIDTH, "set_maxcanvaswidth"}, {MNG_FN_SET_MAXCANVASHEIGHT, "set_maxcanvasheight"}, {MNG_FN_SET_MAXCANVASSIZE, "set_maxcanvassize"}, {MNG_FN_SET_ZLIB_LEVEL, "set_zlib_level"}, {MNG_FN_SET_ZLIB_METHOD, "set_zlib_method"}, {MNG_FN_SET_ZLIB_WINDOWBITS, "set_zlib_windowbits"}, {MNG_FN_SET_ZLIB_MEMLEVEL, "set_zlib_memlevel"}, {MNG_FN_SET_ZLIB_STRATEGY, "set_zlib_strategy"}, {MNG_FN_SET_ZLIB_MAXIDAT, "set_zlib_maxidat"}, {MNG_FN_SET_JPEG_DCTMETHOD, "set_jpeg_dctmethod"}, {MNG_FN_SET_JPEG_QUALITY, "set_jpeg_quality"}, {MNG_FN_SET_JPEG_SMOOTHING, "set_jpeg_smoothing"}, {MNG_FN_SET_JPEG_PROGRESSIVE, "set_jpeg_progressive"}, {MNG_FN_SET_JPEG_OPTIMIZED, "set_jpeg_optimized"}, {MNG_FN_SET_JPEG_MAXJDAT, "set_jpeg_maxjdat"}, {MNG_FN_SET_SPEED, "set_speed"}, {MNG_FN_SET_SUSPENSIONMODE, "set_suspensionmode"}, {MNG_FN_SET_SECTIONBREAKS, "set_sectionbreaks"}, {MNG_FN_SET_USEBKGD, "set_usebkgd"}, {MNG_FN_SET_OUTPUTPROFILE2, "set_outputprofile2"}, {MNG_FN_SET_SRGBPROFILE2, "set_srgbprofile2"}, {MNG_FN_SET_OUTPUTSRGB, "set_outputsrgb"}, {MNG_FN_SET_SRGBIMPLICIT, "set_srgbimplicit"},
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -