/src/FreeImage/Source/LibMNG/libmng_display.h
C++ Header | 343 lines | 226 code | 44 blank | 73 comment | 1 complexity | bfe1bf9f9efbf93ca3b3f596c6923f5c MD5 | raw file
1/* ************************************************************************** */ 2/* * For conditions of distribution and use, * */ 3/* * see copyright notice in libmng.h * */ 4/* ************************************************************************** */ 5/* * * */ 6/* * project : libmng * */ 7/* * file : libmng_display.h copyright (c) 2000-2007 G.Juyn * */ 8/* * version : 1.0.10 * */ 9/* * * */ 10/* * purpose : Display management (definition) * */ 11/* * * */ 12/* * author : G.Juyn * */ 13/* * * */ 14/* * comment : Definition of the display managament routines * */ 15/* * * */ 16/* * changes : 0.5.1 - 05/08/2000 - G.Juyn * */ 17/* * - changed strict-ANSI stuff * */ 18/* * * */ 19/* * 0.5.2 - 05/20/2000 - G.Juyn * */ 20/* * - added JNG support stuff * */ 21/* * * */ 22/* * 0.5.3 - 06/16/2000 - G.Juyn * */ 23/* * - changed progressive-display processing * */ 24/* * 0.5.3 - 06/22/2000 - G.Juyn * */ 25/* * - added support for delta-image processing * */ 26/* * - added support for PPLT chunk processing * */ 27/* * * */ 28/* * 0.9.2 - 08/05/2000 - G.Juyn * */ 29/* * - changed file-prefixes * */ 30/* * 0.9.3 - 08/07/2000 - G.Juyn * */ 31/* * - B111300 - fixup for improved portability * */ 32/* * 0.9.3 - 08/26/2000 - G.Juyn * */ 33/* * - added MAGN chunk * */ 34/* * 0.9.3 - 10/16/2000 - G.Juyn * */ 35/* * - added JDAA chunk * */ 36/* * * */ 37/* * 0.9.4 - 11/24/2000 - G.Juyn * */ 38/* * - moved restore of object 0 to libmng_display * */ 39/* * * */ 40/* * 1.0.5 - 08/19/2002 - G.Juyn * */ 41/* * - B597134 - libmng pollutes the linker namespace * */ 42/* * 1.0.5 - 09/13/2002 - G.Juyn * */ 43/* * - fixed read/write of MAGN chunk * */ 44/* * 1.0.5 - 09/20/2002 - G.Juyn * */ 45/* * - added support for PAST * */ 46/* * 1.0.5 - 10/07/2002 - G.Juyn * */ 47/* * - added proposed change in handling of TERM- & if-delay * */ 48/* * 1.0.5 - 10/20/2002 - G.Juyn * */ 49/* * - fixed display of visible target of PAST operation * */ 50/* * * */ 51/* * 1.0.7 - 03/24/2004 - G.R-P. * */ 52/* * - added some SKIPCHUNK conditionals * */ 53/* * * */ 54/* * 1.0.9 - 12/11/2004 - G.Juyn * */ 55/* * - added conditional MNG_OPTIMIZE_DISPLAYCALLS * */ 56/* * * */ 57/* * 1.0.10 - 04/08/2007 - G.Juyn * */ 58/* * - added support for mPNG proposal * */ 59/* * 1.0.10 - 04/12/2007 - G.Juyn * */ 60/* * - added support for ANG proposal * */ 61/* * * */ 62/* ************************************************************************** */ 63 64#if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI) 65#pragma option -A /* force ANSI-C */ 66#endif 67 68#ifndef _libmng_display_h_ 69#define _libmng_display_h_ 70 71/* ************************************************************************** */ 72 73#ifdef MNG_INCLUDE_DISPLAY_PROCS 74 75/* ************************************************************************** */ 76 77mng_retcode mng_display_progressive_refresh (mng_datap pData, 78 mng_uint32 iInterval); 79 80/* ************************************************************************** */ 81 82mng_retcode mng_reset_objzero (mng_datap pData); 83 84mng_retcode mng_display_image (mng_datap pData, 85 mng_imagep pImage, 86 mng_bool bLayeradvanced); 87 88mng_retcode mng_execute_delta_image (mng_datap pData, 89 mng_imagep pTarget, 90 mng_imagep pDelta); 91 92/* ************************************************************************** */ 93 94mng_retcode mng_process_display (mng_datap pData); 95 96/* ************************************************************************** */ 97 98#ifdef MNG_OPTIMIZE_FOOTPRINT_INIT 99png_imgtype mng_png_imgtype (mng_uint8 colortype, 100 mng_uint8 bitdepth); 101#endif 102 103/* ************************************************************************** */ 104 105#ifndef MNG_OPTIMIZE_DISPLAYCALLS 106 107mng_retcode mng_process_display_ihdr (mng_datap pData); 108 109#ifdef MNG_INCLUDE_MPNG_PROPOSAL 110mng_retcode mng_process_display_mpng (mng_datap pData); 111#endif 112 113#ifdef MNG_INCLUDE_ANG_PROPOSAL 114mng_retcode mng_process_display_ang (mng_datap pData); 115#endif 116 117mng_retcode mng_process_display_idat (mng_datap pData, 118 mng_uint32 iRawlen, 119 mng_uint8p pRawdata); 120 121mng_retcode mng_process_display_iend (mng_datap pData); 122mng_retcode mng_process_display_mend (mng_datap pData); 123mng_retcode mng_process_display_mend2 (mng_datap pData); 124mng_retcode mng_process_display_defi (mng_datap pData); 125 126#ifndef MNG_SKIPCHUNK_BASI 127mng_retcode mng_process_display_basi (mng_datap pData, 128 mng_uint16 iRed, 129 mng_uint16 iGreen, 130 mng_uint16 iBlue, 131 mng_bool bHasalpha, 132 mng_uint16 iAlpha, 133 mng_uint8 iViewable); 134#endif 135 136#ifndef MNG_SKIPCHUNK_CLON 137mng_retcode mng_process_display_clon (mng_datap pData, 138 mng_uint16 iSourceid, 139 mng_uint16 iCloneid, 140 mng_uint8 iClonetype, 141 mng_bool bHasdonotshow, 142 mng_uint8 iDonotshow, 143 mng_uint8 iConcrete, 144 mng_bool bHasloca, 145 mng_uint8 iLocationtype, 146 mng_int32 iLocationx, 147 mng_int32 iLocationy); 148mng_retcode mng_process_display_clon2 (mng_datap pData); 149#endif 150 151#ifndef MNG_SKIPCHUNK_DISC 152mng_retcode mng_process_display_disc (mng_datap pData, 153 mng_uint32 iCount, 154 mng_uint16p pIds); 155#endif 156 157#ifndef MNG_SKIPCHUNK_FRAM 158mng_retcode mng_process_display_fram (mng_datap pData, 159 mng_uint8 iFramemode, 160 mng_uint8 iChangedelay, 161 mng_uint32 iDelay, 162 mng_uint8 iChangetimeout, 163 mng_uint32 iTimeout, 164 mng_uint8 iChangeclipping, 165 mng_uint8 iCliptype, 166 mng_int32 iClipl, 167 mng_int32 iClipr, 168 mng_int32 iClipt, 169 mng_int32 iClipb); 170mng_retcode mng_process_display_fram2 (mng_datap pData); 171#endif 172 173#ifndef MNG_SKIPCHUNK_MOVE 174mng_retcode mng_process_display_move (mng_datap pData, 175 mng_uint16 iFromid, 176 mng_uint16 iToid, 177 mng_uint8 iMovetype, 178 mng_int32 iMovex, 179 mng_int32 iMovey); 180#endif 181 182#ifndef MNG_SKIPCHUNK_CLIP 183mng_retcode mng_process_display_clip (mng_datap pData, 184 mng_uint16 iFromid, 185 mng_uint16 iToid, 186 mng_uint8 iCliptype, 187 mng_int32 iClipl, 188 mng_int32 iClipr, 189 mng_int32 iClipt, 190 mng_int32 iClipb); 191#endif 192 193#ifndef MNG_SKIPCHUNK_SHOW 194mng_retcode mng_process_display_show (mng_datap pData); 195#endif 196#ifndef MNG_SKIPCHUNK_SAVE 197mng_retcode mng_process_display_save (mng_datap pData); 198#endif 199#ifndef MNG_SKIPCHUNK_SEEK 200mng_retcode mng_process_display_seek (mng_datap pData); 201#endif 202#ifdef MNG_INCLUDE_JNG 203mng_retcode mng_process_display_jhdr (mng_datap pData); 204 205mng_retcode mng_process_display_jdaa (mng_datap pData, 206 mng_uint32 iRawlen, 207 mng_uint8p pRawdata); 208 209mng_retcode mng_process_display_jdat (mng_datap pData, 210 mng_uint32 iRawlen, 211 mng_uint8p pRawdata); 212 213#endif 214#ifndef MNG_NO_DELTA_PNG 215mng_retcode mng_process_display_dhdr (mng_datap pData, 216 mng_uint16 iObjectid, 217 mng_uint8 iImagetype, 218 mng_uint8 iDeltatype, 219 mng_uint32 iBlockwidth, 220 mng_uint32 iBlockheight, 221 mng_uint32 iBlockx, 222 mng_uint32 iBlocky); 223 224mng_retcode mng_process_display_prom (mng_datap pData, 225 mng_uint8 iBitdepth, 226 mng_uint8 iColortype, 227 mng_uint8 iFilltype); 228 229mng_retcode mng_process_display_ipng (mng_datap pData); 230#ifdef MNG_INCLUDE_JNG 231mng_retcode mng_process_display_ijng (mng_datap pData); 232#endif 233 234mng_retcode mng_process_display_pplt (mng_datap pData, 235 mng_uint8 iType, 236 mng_uint32 iCount, 237 mng_palette8ep paIndexentries, 238 mng_uint8p paAlphaentries, 239 mng_uint8p paUsedentries); 240#endif 241 242#ifndef MNG_SKIPCHUNK_MAGN 243mng_retcode mng_process_display_magn (mng_datap pData, 244 mng_uint16 iFirstid, 245 mng_uint16 iLastid, 246 mng_uint8 iMethodX, 247 mng_uint16 iMX, 248 mng_uint16 iMY, 249 mng_uint16 iML, 250 mng_uint16 iMR, 251 mng_uint16 iMT, 252 mng_uint16 iMB, 253 mng_uint8 iMethodY); 254mng_retcode mng_process_display_magn2 (mng_datap pData); 255#endif 256 257#ifndef MNG_SKIPCHUNK_PAST 258mng_retcode mng_process_display_past (mng_datap pData, 259 mng_uint16 iTargetid, 260 mng_uint8 iTargettype, 261 mng_int32 iTargetx, 262 mng_int32 iTargety, 263 mng_uint32 iCount, 264 mng_ptr pSources); 265mng_retcode mng_process_display_past2 (mng_datap pData); 266#endif 267 268#else /* MNG_OPTIMIZE_DISPLAYCALLS */ 269 270mng_retcode mng_process_display_ihdr (mng_datap pData); 271#ifdef MNG_INCLUDE_MPNG_PROPOSAL 272mng_retcode mng_process_display_mpng (mng_datap pData); 273#endif 274mng_retcode mng_process_display_idat (mng_datap pData); 275mng_retcode mng_process_display_iend (mng_datap pData); 276mng_retcode mng_process_display_mend (mng_datap pData); 277mng_retcode mng_process_display_mend2 (mng_datap pData); 278mng_retcode mng_process_display_defi (mng_datap pData); 279#ifndef MNG_SKIPCHUNK_BASI 280mng_retcode mng_process_display_basi (mng_datap pData); 281#endif 282#ifndef MNG_SKIPCHUNK_CLON 283mng_retcode mng_process_display_clon (mng_datap pData); 284mng_retcode mng_process_display_clon2 (mng_datap pData); 285#endif 286#ifndef MNG_SKIPCHUNK_DISC 287mng_retcode mng_process_display_disc (mng_datap pData); 288#endif 289#ifndef MNG_SKIPCHUNK_FRAM 290mng_retcode mng_process_display_fram (mng_datap pData); 291mng_retcode mng_process_display_fram2 (mng_datap pData); 292#endif 293#ifndef MNG_SKIPCHUNK_MOVE 294mng_retcode mng_process_display_move (mng_datap pData); 295#endif 296#ifndef MNG_SKIPCHUNK_CLIP 297mng_retcode mng_process_display_clip (mng_datap pData); 298#endif 299#ifndef MNG_SKIPCHUNK_SHOW 300mng_retcode mng_process_display_show (mng_datap pData); 301#endif 302#ifndef MNG_SKIPCHUNK_SAVE 303mng_retcode mng_process_display_save (mng_datap pData); 304#endif 305#ifndef MNG_SKIPCHUNK_SEEK 306mng_retcode mng_process_display_seek (mng_datap pData); 307#endif 308#ifdef MNG_INCLUDE_JNG 309mng_retcode mng_process_display_jhdr (mng_datap pData); 310mng_retcode mng_process_display_jdaa (mng_datap pData); 311mng_retcode mng_process_display_jdat (mng_datap pData); 312#endif 313#ifndef MNG_NO_DELTA_PNG 314mng_retcode mng_process_display_dhdr (mng_datap pData); 315mng_retcode mng_process_display_prom (mng_datap pData); 316mng_retcode mng_process_display_ipng (mng_datap pData); 317#ifdef MNG_INCLUDE_JNG 318mng_retcode mng_process_display_ijng (mng_datap pData); 319#endif 320mng_retcode mng_process_display_pplt (mng_datap pData); 321#endif 322#ifndef MNG_SKIPCHUNK_MAGN 323mng_retcode mng_process_display_magn (mng_datap pData); 324mng_retcode mng_process_display_magn2 (mng_datap pData); 325#endif 326#ifndef MNG_SKIPCHUNK_PAST 327mng_retcode mng_process_display_past (mng_datap pData); 328mng_retcode mng_process_display_past2 (mng_datap pData); 329#endif 330 331#endif /* MNG_OPTIMIZE_DISPLAYCALLS */ 332 333/* ************************************************************************** */ 334 335#endif /* MNG_INCLUDE_DISPLAY_PROCS */ 336 337/* ************************************************************************** */ 338 339#endif /* _libmng_display_h_ */ 340 341/* ************************************************************************** */ 342/* * end of file * */ 343/* ************************************************************************** */