/* ************************************************************************** */
/* *             For conditions of distribution and use,                    * */
/* *                see copyright notice in libmng.h                        * */
/* ************************************************************************** */
/* *                                                                        * */
/* * project   : libmng                                                     * */
/* * file      : libmng_object_prc.h       copyright (c) 2000-2007 G.Juyn   * */
/* * version   : 1.0.10                                                     * */
/* *                                                                        * */
/* * purpose   : Object processing routines (definition)                    * */
/* *                                                                        * */
/* * author    : G.Juyn                                                     * */
/* *                                                                        * */
/* * comment   : Definition of the internal object processing routines      * */
/* *                                                                        * */
/* * changes   : 0.5.1 - 05/08/2000 - G.Juyn                                * */
/* *             - changed strict-ANSI stuff                                * */
/* *                                                                        * */
/* *             0.5.2 - 05/24/2000 - G.Juyn                                * */
/* *             - added support for global color-chunks in animation       * */
/* *             - added support for global PLTE,tRNS,bKGD in animation     * */
/* *             - added SAVE & SEEK animation objects                      * */
/* *             0.5.2 - 05/29/2000 - G.Juyn                                * */
/* *             - changed ani_object create routines not to return the     * */
/* *               created object (wasn't necessary)                        * */
/* *             - added compression/filter/interlace fields to             * */
/* *               object-buffer for delta-image processing                 * */
/* *                                                                        * */
/* *             0.5.3 - 06/22/2000 - G.Juyn                                * */
/* *             - added support for PPLT chunk                             * */
/* *                                                                        * */
/* *             0.9.2 - 08/05/2000 - G.Juyn                                * */
/* *             - changed file-prefixes                                    * */
/* *                                                                        * */
/* *             0.9.3 - 08/26/2000 - G.Juyn                                * */
/* *             - added MAGN chunk                                         * */
/* *             0.9.3 - 10/17/2000 - G.Juyn                                * */
/* *             - added routine to discard "invalid" objects               * */
/* *                                                                        * */
/* *             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/15/2002 - G.Juyn                                * */
/* *             - added event handling for dynamic MNG                     * */
/* *             1.0.5 - 09/20/2002 - G.Juyn                                * */
/* *             - added support for PAST                                   * */
/* *             1.0.5 - 09/23/2002 - G.Juyn                                * */
/* *             - added in-memory color-correction of abstract images      * */
/* *             1.0.5 - 10/07/2002 - G.Juyn                                * */
/* *             - fixed DISC support                                       * */
/* *                                                                        * */
/* *             1.0.6 - 07/07/2003 - G.R-P                                 * */
/* *             - added conditionals around Delta-PNG code                 * */
/* *             - added SKIPCHUNK feature                                  * */
/* *             1.0.6 - 07/29/2003 - G.R-P                                 * */
/* *             - added conditionals around PAST chunk support             * */
/* *                                                                        * */
/* *             1.0.7 - 03/24/2004 - G.R-P                                 * */
/* *             - added more SKIPCHUNK conditionals                        * */
/* *                                                                        * */
/* *             1.0.9 - 12/05/2004 - G.Juyn                                * */
/* *             - added conditional MNG_OPTIMIZE_OBJCLEANUP                * */
/* *                                                                        * */
/* *             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_object_prc_h_
#define _libmng_object_prc_h_

/* ************************************************************************** */

#ifdef MNG_INCLUDE_DISPLAY_PROCS

/* ************************************************************************** */

mng_retcode mng_drop_invalid_objects   (mng_datap      pData);

/* ************************************************************************** */

mng_retcode mng_create_imagedataobject (mng_datap      pData,
                                        mng_bool       bConcrete,
                                        mng_bool       bViewable,
                                        mng_uint32     iWidth,
                                        mng_uint32     iHeight,
                                        mng_uint8      iBitdepth,
                                        mng_uint8      iColortype,
                                        mng_uint8      iCompression,
                                        mng_uint8      iFilter,
                                        mng_uint8      iInterlace,
                                        mng_imagedatap *ppObject);

mng_retcode mng_free_imagedataobject   (mng_datap      pData,
                                        mng_imagedatap pImagedata);

mng_retcode mng_clone_imagedataobject  (mng_datap      pData,
                                        mng_bool       bConcrete,
                                        mng_imagedatap pSource,
                                        mng_imagedatap *ppClone);

/* ************************************************************************** */

mng_retcode mng_create_imageobject   (mng_datap  pData,
                                      mng_uint16 iId,
                                      mng_bool   bConcrete,
                                      mng_bool   bVisible,
                                      mng_bool   bViewable,
                                      mng_uint32 iWidth,
                                      mng_uint32 iHeight,
                                      mng_uint8  iBitdepth,
                                      mng_uint8  iColortype,
                                      mng_uint8  iCompression,
                                      mng_uint8  iFilter,
                                      mng_uint8  iInterlace,
                                      mng_int32  iPosx,
                                      mng_int32  iPosy,
                                      mng_bool   bClipped,
                                      mng_int32  iClipl,
                                      mng_int32  iClipr,
                                      mng_int32  iClipt,
                                      mng_int32  iClipb,
                                      mng_imagep *ppObject);

mng_retcode mng_free_imageobject     (mng_datap  pData,
                                      mng_imagep pImage);

mng_imagep  mng_find_imageobject     (mng_datap  pData,
                                      mng_uint16 iId);

mng_retcode mng_clone_imageobject    (mng_datap  pData,
                                      mng_uint16 iId,
                                      mng_bool   bPartial,
                                      mng_bool   bVisible,
                                      mng_bool   bAbstract,
                                      mng_bool   bHasloca,
                                      mng_uint8  iLocationtype,
                                      mng_int32  iLocationx,
                                      mng_int32  iLocationy,
                                      mng_imagep pSource,
                                      mng_imagep *ppClone);

mng_retcode mng_renum_imageobject    (mng_datap  pData,
                                      mng_imagep pSource,
                                      mng_uint16 iId,
                                      mng_bool   bVisible,
                                      mng_bool   bAbstract,
                                      mng_bool   bHasloca,
                                      mng_uint8  iLocationtype,
                                      mng_int32  iLocationx,
                                      mng_int32  iLocationy);

mng_retcode mng_reset_object_details (mng_datap  pData,
                                      mng_imagep pImage,
                                      mng_uint32 iWidth,
                                      mng_uint32 iHeight,
                                      mng_uint8  iBitdepth,
                                      mng_uint8  iColortype,
                                      mng_uint8  iCompression,
                                      mng_uint8  iFilter,
                                      mng_uint8  iInterlace,
                                      mng_bool   bResetall);

mng_retcode mng_promote_imageobject  (mng_datap  pData,
                                      mng_imagep pImage,
                                      mng_uint8  iBitdepth,
                                      mng_uint8  iColortype,
                                      mng_uint8  iFilltype);

mng_retcode mng_magnify_imageobject  (mng_datap  pData,
                                      mng_imagep pImage);

mng_retcode mng_colorcorrect_object  (mng_datap  pData,
                                      mng_imagep pImage);

/* ************************************************************************** */

mng_retcode mng_create_ani_image  (mng_datap      pData);

#ifndef MNG_OPTIMIZE_CHUNKREADER

mng_retcode mng_create_ani_plte   (mng_datap      pData,
                                   mng_uint32     iEntrycount,
                                   mng_palette8ep paEntries);

mng_retcode mng_create_ani_trns   (mng_datap      pData,
                                   mng_uint32     iRawlen,
                                   mng_uint8p     pRawdata);

mng_retcode mng_create_ani_gama   (mng_datap      pData,
                                   mng_bool       bEmpty,
                                   mng_uint32     iGamma);

mng_retcode mng_create_ani_chrm   (mng_datap      pData,
                                   mng_bool       bEmpty,
                                   mng_uint32     iWhitepointx,
                                   mng_uint32     iWhitepointy,
                                   mng_uint32     iRedx,
                                   mng_uint32     iRedy,
                                   mng_uint32     iGreenx,
                                   mng_uint32     iGreeny,
                                   mng_uint32     iBluex,
                                   mng_uint32     iBluey);

mng_retcode mng_create_ani_srgb   (mng_datap      pData,
                                   mng_bool       bEmpty,
                                   mng_uint8      iRenderinginent);

mng_retcode mng_create_ani_iccp   (mng_datap      pData,
                                   mng_bool       bEmpty,
                                   mng_uint32     iProfilesize,
                                   mng_ptr        pProfile);

mng_retcode mng_create_ani_bkgd   (mng_datap      pData,
                                   mng_uint16     iRed,
                                   mng_uint16     iGreen,
                                   mng_uint16     iBlue);

mng_retcode mng_create_ani_loop   (mng_datap      pData,
                                   mng_uint8      iLevel,
                                   mng_uint32     iRepeatcount,
                                   mng_uint8      iTermcond,
                                   mng_uint32     iItermin,
                                   mng_uint32     iItermax,
                                   mng_uint32     iCount,
                                   mng_uint32p    pSignals);

mng_retcode mng_create_ani_endl   (mng_datap      pData,
                                   mng_uint8      iLevel);

mng_retcode mng_create_ani_defi   (mng_datap      pData);

mng_retcode mng_create_ani_basi   (mng_datap      pData,
                                   mng_uint16     iRed,
                                   mng_uint16     iGreen,
                                   mng_uint16     iBlue,
                                   mng_bool       bHasalpha,
                                   mng_uint16     iAlpha,
                                   mng_uint8      iViewable);

mng_retcode mng_create_ani_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      iLocatype,
                                   mng_int32      iLocax,
                                   mng_int32      iLocay);

mng_retcode mng_create_ani_back   (mng_datap      pData,
                                   mng_uint16     iRed,
                                   mng_uint16     iGreen,
                                   mng_uint16     iBlue,
                                   mng_uint8      iMandatory,
                                   mng_uint16     iImageid,
                                   mng_uint8      iTile);

mng_retcode mng_create_ani_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_create_ani_move   (mng_datap      pData,
                                   mng_uint16     iFirstid,
                                   mng_uint16     iLastid,
                                   mng_uint8      iType,
                                   mng_int32      iLocax,
                                   mng_int32      iLocay);

mng_retcode mng_create_ani_clip   (mng_datap      pData,
                                   mng_uint16     iFirstid,
                                   mng_uint16     iLastid,
                                   mng_uint8      iType,
                                   mng_int32      iClipl,
                                   mng_int32      iClipr,
                                   mng_int32      iClipt,
                                   mng_int32      iClipb);

mng_retcode mng_create_ani_show   (mng_datap      pData,
                                   mng_uint16     iFirstid,
                                   mng_uint16     iLastid,
                                   mng_uint8      iMode);

mng_retcode mng_create_ani_term   (mng_datap      pData,
                                   mng_uint8      iTermaction,
                                   mng_uint8      iIteraction,
                                   mng_uint32     iDelay,
                                   mng_uint32     iItermax);

#ifndef MNG_SKIPCHUNK_SAVE
mng_retcode mng_create_ani_save   (mng_datap      pData);
#endif
#ifndef MNG_SKIPCHUNK_SEEK
mng_retcode mng_create_ani_seek   (mng_datap      pData,
                                   mng_uint32     iSegmentnamesize,
                                   mng_pchar      zSegmentname);
#endif
#ifndef MNG_NO_DELTA_PNG
mng_retcode mng_create_ani_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_create_ani_prom   (mng_datap      pData,
                                   mng_uint8      iBitdepth,
                                   mng_uint8      iColortype,
                                   mng_uint8      iFilltype);

mng_retcode mng_create_ani_ipng   (mng_datap      pData);
mng_retcode mng_create_ani_ijng   (mng_datap      pData);

mng_retcode mng_create_ani_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_create_ani_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);
#endif

#ifndef MNG_SKIPCHUNK_PAST
mng_retcode mng_create_ani_past   (mng_datap      pData,
                                   mng_uint16     iTargetid,
                                   mng_uint8      iTargettype,
                                   mng_int32      iTargetx,
                                   mng_int32      iTargety,
                                   mng_uint32     iCount,
                                   mng_ptr        pSources);
#endif

#ifndef MNG_SKIPCHUNK_DISC
mng_retcode mng_create_ani_disc   (mng_datap      pData,
                                   mng_uint32     iCount,
                                   mng_uint16p    pIds);
#endif

#else /* MNG_OPTIMIZE_CHUNKREADER */

mng_retcode mng_create_ani_plte   (mng_datap      pData);
mng_retcode mng_create_ani_trns   (mng_datap      pData);
mng_retcode mng_create_ani_gama   (mng_datap      pData,
                                   mng_chunkp     pChunk);
mng_retcode mng_create_ani_chrm   (mng_datap      pData,
                                   mng_chunkp     pChunk);
mng_retcode mng_create_ani_srgb   (mng_datap      pData,
                                   mng_chunkp     pChunk);
mng_retcode mng_create_ani_iccp   (mng_datap      pData,
                                   mng_chunkp     pChunk);
mng_retcode mng_create_ani_bkgd   (mng_datap      pData);
mng_retcode mng_create_ani_loop   (mng_datap      pData,
                                   mng_chunkp     pChunk);
mng_retcode mng_create_ani_endl   (mng_datap      pData,
                                   mng_uint8      iLevel);
mng_retcode mng_create_ani_defi   (mng_datap      pData);
mng_retcode mng_create_ani_basi   (mng_datap      pData,
                                   mng_chunkp     pChunk);
mng_retcode mng_create_ani_clon   (mng_datap      pData,
                                   mng_chunkp     pChunk);
mng_retcode mng_create_ani_back   (mng_datap      pData);
mng_retcode mng_create_ani_fram   (mng_datap      pData,
                                   mng_chunkp     pChunk);
mng_retcode mng_create_ani_move   (mng_datap      pData,
                                   mng_chunkp     pChunk);
mng_retcode mng_create_ani_clip   (mng_datap      pData,
                                   mng_chunkp     pChunk);
mng_retcode mng_create_ani_show   (mng_datap      pData);
mng_retcode mng_create_ani_term   (mng_datap      pData,
                                   mng_chunkp     pChunk);
#ifndef MNG_SKIPCHUNK_SAVE
mng_retcode mng_create_ani_save   (mng_datap      pData);
#endif
#ifndef MNG_SKIPCHUNK_SEEK
mng_retcode mng_create_ani_seek   (mng_datap      pData,
                                   mng_chunkp     pChunk);
#endif
#ifndef MNG_NO_DELTA_PNG
mng_retcode mng_create_ani_dhdr   (mng_datap      pData,
                                   mng_chunkp     pChunk);
mng_retcode mng_create_ani_prom   (mng_datap      pData,
                                   mng_chunkp     pChunk);
mng_retcode mng_create_ani_ipng   (mng_datap      pData);
mng_retcode mng_create_ani_ijng   (mng_datap      pData);

mng_retcode mng_create_ani_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_create_ani_magn   (mng_datap      pData,
                                   mng_chunkp     pChunk);
#endif
#ifndef MNG_SKIPCHUNK_PAST
mng_retcode mng_create_ani_past   (mng_datap      pData,
                                   mng_chunkp     pChunk);
#endif
#ifndef MNG_SKIPCHUNK_DISC
mng_retcode mng_create_ani_disc   (mng_datap      pData,
                                   mng_chunkp     pChunk);
#endif

#endif /* MNG_OPTIMIZE_CHUNKREADER */

/* ************************************************************************** */

mng_retcode mng_free_ani_image    (mng_datap    pData,
                                   mng_objectp  pObject);

#ifndef MNG_OPTIMIZE_OBJCLEANUP

mng_retcode mng_free_ani_plte     (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_free_ani_trns     (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_free_ani_gama     (mng_datap    pData,
                                   mng_objectp  pObject);
#ifndef MNG_SKIPCHUNK_cHRM
mng_retcode mng_free_ani_chrm     (mng_datap    pData,
                                   mng_objectp  pObject);
#endif
#ifndef MNG_SKIPCHUNK_sRGB
mng_retcode mng_free_ani_srgb     (mng_datap    pData,
                                   mng_objectp  pObject);
#endif
#ifndef MNG_SKIPCHUNK_bKGD
mng_retcode mng_free_ani_bkgd     (mng_datap    pData,
                                   mng_objectp  pObject);
#endif
#ifndef MNG_SKIPCHUNK_LOOP
mng_retcode mng_free_ani_endl     (mng_datap    pData,
                                   mng_objectp  pObject);
#endif
mng_retcode mng_free_ani_defi     (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_free_ani_basi     (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_free_ani_clon     (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_free_ani_back     (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_free_ani_fram     (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_free_ani_move     (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_free_ani_clip     (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_free_ani_show     (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_free_ani_term     (mng_datap    pData,
                                   mng_objectp  pObject);
#ifndef MNG_SKIPCHUNK_SAVE
mng_retcode mng_free_ani_save     (mng_datap    pData,
                                   mng_objectp  pObject);
#endif
#ifndef MNG_NO_DELTA_PNG
mng_retcode mng_free_ani_dhdr     (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_free_ani_prom     (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_free_ani_ipng     (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_free_ani_ijng     (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_free_ani_pplt     (mng_datap    pData,
                                   mng_objectp  pObject);
#endif
#ifndef MNG_SKIPCHUNK_MAGN
mng_retcode mng_free_ani_magn     (mng_datap    pData,
                                   mng_objectp  pObject);
#endif

#endif /* MNG_OPTIMIZE_OBJCLEANUP */


#ifndef MNG_SKIPCHUNK_iCCP
mng_retcode mng_free_ani_iccp     (mng_datap    pData,
                                   mng_objectp  pObject);
#endif
#ifndef MNG_SKIPCHUNK_LOOP
mng_retcode mng_free_ani_loop     (mng_datap    pData,
                                   mng_objectp  pObject);
#endif
#ifndef MNG_SKIPCHUNK_SAVE
mng_retcode mng_free_ani_seek     (mng_datap    pData,
                                   mng_objectp  pObject);
#endif
#ifndef MNG_SKIPCHUNK_PAST
mng_retcode mng_free_ani_past     (mng_datap    pData,
                                   mng_objectp  pObject);
#endif
mng_retcode mng_free_ani_disc     (mng_datap    pData,
                                   mng_objectp  pObject);

/* ************************************************************************** */

mng_retcode mng_process_ani_image (mng_datap    pData,
                                   mng_objectp  pObject);

mng_retcode mng_process_ani_plte  (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_process_ani_trns  (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_process_ani_gama  (mng_datap    pData,
                                   mng_objectp  pObject);
#ifndef MNG_SKIPCHUNK_cHRM
mng_retcode mng_process_ani_chrm  (mng_datap    pData,
                                   mng_objectp  pObject);
#endif
#ifndef MNG_SKIPCHUNK_sRGB
mng_retcode mng_process_ani_srgb  (mng_datap    pData,
                                   mng_objectp  pObject);
#endif
#ifndef MNG_SKIPCHUNK_iCCP
mng_retcode mng_process_ani_iccp  (mng_datap    pData,
                                   mng_objectp  pObject);
#endif
#ifndef MNG_SKIPCHUNK_bKGD
mng_retcode mng_process_ani_bkgd  (mng_datap    pData,
                                   mng_objectp  pObject);
#endif
#ifndef MNG_SKIPCHUNK_LOOP
mng_retcode mng_process_ani_loop  (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_process_ani_endl  (mng_datap    pData,
                                   mng_objectp  pObject);
#endif
mng_retcode mng_process_ani_defi  (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_process_ani_basi  (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_process_ani_clon  (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_process_ani_back  (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_process_ani_fram  (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_process_ani_move  (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_process_ani_clip  (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_process_ani_show  (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_process_ani_term  (mng_datap    pData,
                                   mng_objectp  pObject);
#ifndef MNG_SKIPCHUNK_SAVE
mng_retcode mng_process_ani_save  (mng_datap    pData,
                                   mng_objectp  pObject);
#endif
#ifndef MNG_SKIPCHUNK_SEEK
mng_retcode mng_process_ani_seek  (mng_datap    pData,
                                   mng_objectp  pObject);
#endif
#ifndef MNG_NO_DELTA_PNG
mng_retcode mng_process_ani_dhdr  (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_process_ani_prom  (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_process_ani_ipng  (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_process_ani_ijng  (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_process_ani_pplt  (mng_datap    pData,
                                   mng_objectp  pObject);
#endif
mng_retcode mng_process_ani_magn  (mng_datap    pData,
                                   mng_objectp  pObject);
#ifndef MNG_SKIPCHUNK_PAST
mng_retcode mng_process_ani_past  (mng_datap    pData,
                                   mng_objectp  pObject);
#endif
mng_retcode mng_process_ani_disc  (mng_datap    pData,
                                   mng_objectp  pObject);

/* ************************************************************************** */

#ifdef MNG_SUPPORT_DYNAMICMNG
#ifndef MNG_OPTIMIZE_CHUNKREADER
mng_retcode mng_create_event      (mng_datap    pData,
                                   mng_uint8    iEventtype,
                                   mng_uint8    iMasktype,
                                   mng_int32    iLeft,
                                   mng_int32    iRight,
                                   mng_int32    iTop,
                                   mng_int32    iBottom,
                                   mng_uint16   iObjectid,
                                   mng_uint8    iIndex,
                                   mng_uint32   iSegmentnamesize,
                                   mng_pchar    zSegmentname);
#else
mng_retcode mng_create_event      (mng_datap    pData,
                                   mng_ptr      pEntry);
#endif
mng_retcode mng_free_event        (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_process_event     (mng_datap    pData,
                                   mng_objectp  pObject);
#endif

/* ************************************************************************** */

#ifdef MNG_INCLUDE_MPNG_PROPOSAL
#ifndef MNG_OPTIMIZE_CHUNKREADER
mng_retcode mng_create_mpng_obj   (mng_datap    pData,
                                   mng_uint32   iFramewidth,
                                   mng_uint32   iFrameheight,
                                   mng_uint16   iNumplays,
                                   mng_uint16   iTickspersec,
                                   mng_uint32   iFramessize,
                                   mng_ptr      pFrames);
#else
mng_retcode mng_create_mpng_obj   (mng_datap    pData,
                                   mng_ptr      pEntry);
#endif
mng_retcode mng_free_mpng_obj     (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_process_mpng_obj  (mng_datap    pData,
                                   mng_objectp  pObject);
#endif

/* ************************************************************************** */

#ifdef MNG_INCLUDE_ANG_PROPOSAL
#ifndef MNG_OPTIMIZE_CHUNKREADER
mng_retcode mng_create_ang_obj    (mng_datap    pData,
                                   mng_uint32   iNumframes,
                                   mng_uint32   iTickspersec,
                                   mng_uint32   iNumplays,
                                   mng_uint32   iTilewidth,
                                   mng_uint32   iTileheight,
                                   mng_uint8    iInterlace,
                                   mng_uint8    iStillused);
#else
mng_retcode mng_create_ang_obj    (mng_datap    pData,
                                   mng_ptr      pEntry);
#endif
mng_retcode mng_free_ang_obj      (mng_datap    pData,
                                   mng_objectp  pObject);
mng_retcode mng_process_ang_obj   (mng_datap    pData,
                                   mng_objectp  pObject);
#endif

/* ************************************************************************** */

#endif /* MNG_INCLUDE_DISPLAY_PROCS */

/* ************************************************************************** */

#endif /* _libmng_object_prc_h_ */

/* ************************************************************************** */
/* * end of file                                                            * */
/* ************************************************************************** */
