blob: f394dd2f6df359b754fd2ab6bea991b4e4d01b63 [file] [log] [blame]
/* ************************************************************************** */
/* * For conditions of distribution and use, * */
/* * see copyright notice in libmng.h * */
/* ************************************************************************** */
/* * * */
/* * project : libmng * */
/* * file : libmng_display.h copyright (c) 2000-2007 G.Juyn * */
/* * version : 1.0.10 * */
/* * * */
/* * purpose : Display management (definition) * */
/* * * */
/* * author : G.Juyn * */
/* * * */
/* * comment : Definition of the display managament routines * */
/* * * */
/* * changes : 0.5.1 - 05/08/2000 - G.Juyn * */
/* * - changed strict-ANSI stuff * */
/* * * */
/* * 0.5.2 - 05/20/2000 - G.Juyn * */
/* * - added JNG support stuff * */
/* * * */
/* * 0.5.3 - 06/16/2000 - G.Juyn * */
/* * - changed progressive-display processing * */
/* * 0.5.3 - 06/22/2000 - G.Juyn * */
/* * - added support for delta-image processing * */
/* * - added support for PPLT chunk processing * */
/* * * */
/* * 0.9.2 - 08/05/2000 - G.Juyn * */
/* * - changed file-prefixes * */
/* * 0.9.3 - 08/07/2000 - G.Juyn * */
/* * - B111300 - fixup for improved portability * */
/* * 0.9.3 - 08/26/2000 - G.Juyn * */
/* * - added MAGN chunk * */
/* * 0.9.3 - 10/16/2000 - G.Juyn * */
/* * - added JDAA chunk * */
/* * * */
/* * 0.9.4 - 11/24/2000 - G.Juyn * */
/* * - moved restore of object 0 to libmng_display * */
/* * * */
/* * 1.0.5 - 08/19/2002 - G.Juyn * */
/* * - B597134 - libmng pollutes the linker namespace * */
/* * 1.0.5 - 09/13/2002 - G.Juyn * */
/* * - fixed read/write of MAGN chunk * */
/* * 1.0.5 - 09/20/2002 - G.Juyn * */
/* * - added support for PAST * */
/* * 1.0.5 - 10/07/2002 - G.Juyn * */
/* * - added proposed change in handling of TERM- & if-delay * */
/* * 1.0.5 - 10/20/2002 - G.Juyn * */
/* * - fixed display of visible target of PAST operation * */
/* * * */
/* * 1.0.7 - 03/24/2004 - G.R-P. * */
/* * - added some SKIPCHUNK conditionals * */
/* * * */
/* * 1.0.9 - 12/11/2004 - G.Juyn * */
/* * - added conditional MNG_OPTIMIZE_DISPLAYCALLS * */
/* * * */
/* * 1.0.10 - 04/08/2007 - G.Juyn * */
/* * - added support for mPNG proposal * */
/* * 1.0.10 - 04/12/2007 - G.Juyn * */
/* * - added support for ANG proposal * */
/* * * */
/* ************************************************************************** */
#if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
#pragma option -A /* force ANSI-C */
#endif
#ifndef _libmng_display_h_
#define _libmng_display_h_
/* ************************************************************************** */
#ifdef MNG_INCLUDE_DISPLAY_PROCS
/* ************************************************************************** */
mng_retcode mng_display_progressive_refresh (mng_datap pData,
mng_uint32 iInterval);
/* ************************************************************************** */
mng_retcode mng_reset_objzero (mng_datap pData);
mng_retcode mng_display_image (mng_datap pData,
mng_imagep pImage,
mng_bool bLayeradvanced);
mng_retcode mng_execute_delta_image (mng_datap pData,
mng_imagep pTarget,
mng_imagep pDelta);
/* ************************************************************************** */
mng_retcode mng_process_display (mng_datap pData);
/* ************************************************************************** */
#ifdef MNG_OPTIMIZE_FOOTPRINT_INIT
png_imgtype mng_png_imgtype (mng_uint8 colortype,
mng_uint8 bitdepth);
#endif
/* ************************************************************************** */
#ifndef MNG_OPTIMIZE_DISPLAYCALLS
mng_retcode mng_process_display_ihdr (mng_datap pData);
#ifdef MNG_INCLUDE_MPNG_PROPOSAL
mng_retcode mng_process_display_mpng (mng_datap pData);
#endif
#ifdef MNG_INCLUDE_ANG_PROPOSAL
mng_retcode mng_process_display_ang (mng_datap pData);
#endif
mng_retcode mng_process_display_idat (mng_datap pData,
mng_uint32 iRawlen,
mng_uint8p pRawdata);
mng_retcode mng_process_display_iend (mng_datap pData);
mng_retcode mng_process_display_mend (mng_datap pData);
mng_retcode mng_process_display_mend2 (mng_datap pData);
mng_retcode mng_process_display_defi (mng_datap pData);
#ifndef MNG_SKIPCHUNK_BASI
mng_retcode mng_process_display_basi (mng_datap pData,
mng_uint16 iRed,
mng_uint16 iGreen,
mng_uint16 iBlue,
mng_bool bHasalpha,
mng_uint16 iAlpha,
mng_uint8 iViewable);
#endif
#ifndef MNG_SKIPCHUNK_CLON
mng_retcode mng_process_display_clon (mng_datap pData,
mng_uint16 iSourceid,
mng_uint16 iCloneid,
mng_uint8 iClonetype,
mng_bool bHasdonotshow,
mng_uint8 iDonotshow,
mng_uint8 iConcrete,
mng_bool bHasloca,
mng_uint8 iLocationtype,
mng_int32 iLocationx,
mng_int32 iLocationy);
mng_retcode mng_process_display_clon2 (mng_datap pData);
#endif
#ifndef MNG_SKIPCHUNK_DISC
mng_retcode mng_process_display_disc (mng_datap pData,
mng_uint32 iCount,
mng_uint16p pIds);
#endif
#ifndef MNG_SKIPCHUNK_FRAM
mng_retcode mng_process_display_fram (mng_datap pData,
mng_uint8 iFramemode,
mng_uint8 iChangedelay,
mng_uint32 iDelay,
mng_uint8 iChangetimeout,
mng_uint32 iTimeout,
mng_uint8 iChangeclipping,
mng_uint8 iCliptype,
mng_int32 iClipl,
mng_int32 iClipr,
mng_int32 iClipt,
mng_int32 iClipb);
mng_retcode mng_process_display_fram2 (mng_datap pData);
#endif
#ifndef MNG_SKIPCHUNK_MOVE
mng_retcode mng_process_display_move (mng_datap pData,
mng_uint16 iFromid,
mng_uint16 iToid,
mng_uint8 iMovetype,
mng_int32 iMovex,
mng_int32 iMovey);
#endif
#ifndef MNG_SKIPCHUNK_CLIP
mng_retcode mng_process_display_clip (mng_datap pData,
mng_uint16 iFromid,
mng_uint16 iToid,
mng_uint8 iCliptype,
mng_int32 iClipl,
mng_int32 iClipr,
mng_int32 iClipt,
mng_int32 iClipb);
#endif
#ifndef MNG_SKIPCHUNK_SHOW
mng_retcode mng_process_display_show (mng_datap pData);
#endif
#ifndef MNG_SKIPCHUNK_SAVE
mng_retcode mng_process_display_save (mng_datap pData);
#endif
#ifndef MNG_SKIPCHUNK_SEEK
mng_retcode mng_process_display_seek (mng_datap pData);
#endif
#ifdef MNG_INCLUDE_JNG
mng_retcode mng_process_display_jhdr (mng_datap pData);
mng_retcode mng_process_display_jdaa (mng_datap pData,
mng_uint32 iRawlen,
mng_uint8p pRawdata);
mng_retcode mng_process_display_jdat (mng_datap pData,
mng_uint32 iRawlen,
mng_uint8p pRawdata);
#endif
#ifndef MNG_NO_DELTA_PNG
mng_retcode mng_process_display_dhdr (mng_datap pData,
mng_uint16 iObjectid,
mng_uint8 iImagetype,
mng_uint8 iDeltatype,
mng_uint32 iBlockwidth,
mng_uint32 iBlockheight,
mng_uint32 iBlockx,
mng_uint32 iBlocky);
mng_retcode mng_process_display_prom (mng_datap pData,
mng_uint8 iBitdepth,
mng_uint8 iColortype,
mng_uint8 iFilltype);
mng_retcode mng_process_display_ipng (mng_datap pData);
#ifdef MNG_INCLUDE_JNG
mng_retcode mng_process_display_ijng (mng_datap pData);
#endif
mng_retcode mng_process_display_pplt (mng_datap pData,
mng_uint8 iType,
mng_uint32 iCount,
mng_palette8ep paIndexentries,
mng_uint8p paAlphaentries,
mng_uint8p paUsedentries);
#endif
#ifndef MNG_SKIPCHUNK_MAGN
mng_retcode mng_process_display_magn (mng_datap pData,
mng_uint16 iFirstid,
mng_uint16 iLastid,
mng_uint8 iMethodX,
mng_uint16 iMX,
mng_uint16 iMY,
mng_uint16 iML,
mng_uint16 iMR,
mng_uint16 iMT,
mng_uint16 iMB,
mng_uint8 iMethodY);
mng_retcode mng_process_display_magn2 (mng_datap pData);
#endif
#ifndef MNG_SKIPCHUNK_PAST
mng_retcode mng_process_display_past (mng_datap pData,
mng_uint16 iTargetid,
mng_uint8 iTargettype,
mng_int32 iTargetx,
mng_int32 iTargety,
mng_uint32 iCount,
mng_ptr pSources);
mng_retcode mng_process_display_past2 (mng_datap pData);
#endif
#else /* MNG_OPTIMIZE_DISPLAYCALLS */
mng_retcode mng_process_display_ihdr (mng_datap pData);
#ifdef MNG_INCLUDE_MPNG_PROPOSAL
mng_retcode mng_process_display_mpng (mng_datap pData);
#endif
mng_retcode mng_process_display_idat (mng_datap pData);
mng_retcode mng_process_display_iend (mng_datap pData);
mng_retcode mng_process_display_mend (mng_datap pData);
mng_retcode mng_process_display_mend2 (mng_datap pData);
mng_retcode mng_process_display_defi (mng_datap pData);
#ifndef MNG_SKIPCHUNK_BASI
mng_retcode mng_process_display_basi (mng_datap pData);
#endif
#ifndef MNG_SKIPCHUNK_CLON
mng_retcode mng_process_display_clon (mng_datap pData);
mng_retcode mng_process_display_clon2 (mng_datap pData);
#endif
#ifndef MNG_SKIPCHUNK_DISC
mng_retcode mng_process_display_disc (mng_datap pData);
#endif
#ifndef MNG_SKIPCHUNK_FRAM
mng_retcode mng_process_display_fram (mng_datap pData);
mng_retcode mng_process_display_fram2 (mng_datap pData);
#endif
#ifndef MNG_SKIPCHUNK_MOVE
mng_retcode mng_process_display_move (mng_datap pData);
#endif
#ifndef MNG_SKIPCHUNK_CLIP
mng_retcode mng_process_display_clip (mng_datap pData);
#endif
#ifndef MNG_SKIPCHUNK_SHOW
mng_retcode mng_process_display_show (mng_datap pData);
#endif
#ifndef MNG_SKIPCHUNK_SAVE
mng_retcode mng_process_display_save (mng_datap pData);
#endif
#ifndef MNG_SKIPCHUNK_SEEK
mng_retcode mng_process_display_seek (mng_datap pData);
#endif
#ifdef MNG_INCLUDE_JNG
mng_retcode mng_process_display_jhdr (mng_datap pData);
mng_retcode mng_process_display_jdaa (mng_datap pData);
mng_retcode mng_process_display_jdat (mng_datap pData);
#endif
#ifndef MNG_NO_DELTA_PNG
mng_retcode mng_process_display_dhdr (mng_datap pData);
mng_retcode mng_process_display_prom (mng_datap pData);
mng_retcode mng_process_display_ipng (mng_datap pData);
#ifdef MNG_INCLUDE_JNG
mng_retcode mng_process_display_ijng (mng_datap pData);
#endif
mng_retcode mng_process_display_pplt (mng_datap pData);
#endif
#ifndef MNG_SKIPCHUNK_MAGN
mng_retcode mng_process_display_magn (mng_datap pData);
mng_retcode mng_process_display_magn2 (mng_datap pData);
#endif
#ifndef MNG_SKIPCHUNK_PAST
mng_retcode mng_process_display_past (mng_datap pData);
mng_retcode mng_process_display_past2 (mng_datap pData);
#endif
#endif /* MNG_OPTIMIZE_DISPLAYCALLS */
/* ************************************************************************** */
#endif /* MNG_INCLUDE_DISPLAY_PROCS */
/* ************************************************************************** */
#endif /* _libmng_display_h_ */
/* ************************************************************************** */
/* * end of file * */
/* ************************************************************************** */