1 /* ************************************************************************** */
2 /* *             For conditions of distribution and use,                    * */
3 /* *                see copyright notice in libmng.h                        * */
4 /* ************************************************************************** */
5 /* *                                                                        * */
6 /* * project   : libmng                                                     * */
7 /* * file      : libmng_object_prc.h       copyright (c) 2000-2007 G.Juyn   * */
8 /* * version   : 1.0.10                                                     * */
9 /* *                                                                        * */
10 /* * purpose   : Object processing routines (definition)                    * */
11 /* *                                                                        * */
12 /* * author    : G.Juyn                                                     * */
13 /* *                                                                        * */
14 /* * comment   : Definition of the internal object processing routines      * */
15 /* *                                                                        * */
16 /* * changes   : 0.5.1 - 05/08/2000 - G.Juyn                                * */
17 /* *             - changed strict-ANSI stuff                                * */
18 /* *                                                                        * */
19 /* *             0.5.2 - 05/24/2000 - G.Juyn                                * */
20 /* *             - added support for global color-chunks in animation       * */
21 /* *             - added support for global PLTE,tRNS,bKGD in animation     * */
22 /* *             - added SAVE & SEEK animation objects                      * */
23 /* *             0.5.2 - 05/29/2000 - G.Juyn                                * */
24 /* *             - changed ani_object create routines not to return the     * */
25 /* *               created object (wasn't necessary)                        * */
26 /* *             - added compression/filter/interlace fields to             * */
27 /* *               object-buffer for delta-image processing                 * */
28 /* *                                                                        * */
29 /* *             0.5.3 - 06/22/2000 - G.Juyn                                * */
30 /* *             - added support for PPLT chunk                             * */
31 /* *                                                                        * */
32 /* *             0.9.2 - 08/05/2000 - G.Juyn                                * */
33 /* *             - changed file-prefixes                                    * */
34 /* *                                                                        * */
35 /* *             0.9.3 - 08/26/2000 - G.Juyn                                * */
36 /* *             - added MAGN chunk                                         * */
37 /* *             0.9.3 - 10/17/2000 - G.Juyn                                * */
38 /* *             - added routine to discard "invalid" objects               * */
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/15/2002 - G.Juyn                                * */
45 /* *             - added event handling for dynamic MNG                     * */
46 /* *             1.0.5 - 09/20/2002 - G.Juyn                                * */
47 /* *             - added support for PAST                                   * */
48 /* *             1.0.5 - 09/23/2002 - G.Juyn                                * */
49 /* *             - added in-memory color-correction of abstract images      * */
50 /* *             1.0.5 - 10/07/2002 - G.Juyn                                * */
51 /* *             - fixed DISC support                                       * */
52 /* *                                                                        * */
53 /* *             1.0.6 - 07/07/2003 - G.R-P                                 * */
54 /* *             - added conditionals around Delta-PNG code                 * */
55 /* *             - added SKIPCHUNK feature                                  * */
56 /* *             1.0.6 - 07/29/2003 - G.R-P                                 * */
57 /* *             - added conditionals around PAST chunk support             * */
58 /* *                                                                        * */
59 /* *             1.0.7 - 03/24/2004 - G.R-P                                 * */
60 /* *             - added more SKIPCHUNK conditionals                        * */
61 /* *                                                                        * */
62 /* *             1.0.9 - 12/05/2004 - G.Juyn                                * */
63 /* *             - added conditional MNG_OPTIMIZE_OBJCLEANUP                * */
64 /* *                                                                        * */
65 /* *             1.0.10 - 04/08/2007 - G.Juyn                               * */
66 /* *             - added support for mPNG proposal                          * */
67 /* *             1.0.10 - 04/12/2007 - G.Juyn                               * */
68 /* *             - added support for ANG proposal                           * */
69 /* *                                                                        * */
70 /* ************************************************************************** */
71 
72 #if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
73 #pragma option -A                      /* force ANSI-C */
74 #endif
75 
76 #ifndef _libmng_object_prc_h_
77 #define _libmng_object_prc_h_
78 
79 /* ************************************************************************** */
80 
81 #ifdef MNG_INCLUDE_DISPLAY_PROCS
82 
83 /* ************************************************************************** */
84 
85 mng_retcode mng_drop_invalid_objects   (mng_datap      pData);
86 
87 /* ************************************************************************** */
88 
89 mng_retcode mng_create_imagedataobject (mng_datap      pData,
90                                         mng_bool       bConcrete,
91                                         mng_bool       bViewable,
92                                         mng_uint32     iWidth,
93                                         mng_uint32     iHeight,
94                                         mng_uint8      iBitdepth,
95                                         mng_uint8      iColortype,
96                                         mng_uint8      iCompression,
97                                         mng_uint8      iFilter,
98                                         mng_uint8      iInterlace,
99                                         mng_imagedatap *ppObject);
100 
101 mng_retcode mng_free_imagedataobject   (mng_datap      pData,
102                                         mng_imagedatap pImagedata);
103 
104 mng_retcode mng_clone_imagedataobject  (mng_datap      pData,
105                                         mng_bool       bConcrete,
106                                         mng_imagedatap pSource,
107                                         mng_imagedatap *ppClone);
108 
109 /* ************************************************************************** */
110 
111 mng_retcode mng_create_imageobject   (mng_datap  pData,
112                                       mng_uint16 iId,
113                                       mng_bool   bConcrete,
114                                       mng_bool   bVisible,
115                                       mng_bool   bViewable,
116                                       mng_uint32 iWidth,
117                                       mng_uint32 iHeight,
118                                       mng_uint8  iBitdepth,
119                                       mng_uint8  iColortype,
120                                       mng_uint8  iCompression,
121                                       mng_uint8  iFilter,
122                                       mng_uint8  iInterlace,
123                                       mng_int32  iPosx,
124                                       mng_int32  iPosy,
125                                       mng_bool   bClipped,
126                                       mng_int32  iClipl,
127                                       mng_int32  iClipr,
128                                       mng_int32  iClipt,
129                                       mng_int32  iClipb,
130                                       mng_imagep *ppObject);
131 
132 mng_retcode mng_free_imageobject     (mng_datap  pData,
133                                       mng_imagep pImage);
134 
135 mng_imagep  mng_find_imageobject     (mng_datap  pData,
136                                       mng_uint16 iId);
137 
138 mng_retcode mng_clone_imageobject    (mng_datap  pData,
139                                       mng_uint16 iId,
140                                       mng_bool   bPartial,
141                                       mng_bool   bVisible,
142                                       mng_bool   bAbstract,
143                                       mng_bool   bHasloca,
144                                       mng_uint8  iLocationtype,
145                                       mng_int32  iLocationx,
146                                       mng_int32  iLocationy,
147                                       mng_imagep pSource,
148                                       mng_imagep *ppClone);
149 
150 mng_retcode mng_renum_imageobject    (mng_datap  pData,
151                                       mng_imagep pSource,
152                                       mng_uint16 iId,
153                                       mng_bool   bVisible,
154                                       mng_bool   bAbstract,
155                                       mng_bool   bHasloca,
156                                       mng_uint8  iLocationtype,
157                                       mng_int32  iLocationx,
158                                       mng_int32  iLocationy);
159 
160 mng_retcode mng_reset_object_details (mng_datap  pData,
161                                       mng_imagep pImage,
162                                       mng_uint32 iWidth,
163                                       mng_uint32 iHeight,
164                                       mng_uint8  iBitdepth,
165                                       mng_uint8  iColortype,
166                                       mng_uint8  iCompression,
167                                       mng_uint8  iFilter,
168                                       mng_uint8  iInterlace,
169                                       mng_bool   bResetall);
170 
171 mng_retcode mng_promote_imageobject  (mng_datap  pData,
172                                       mng_imagep pImage,
173                                       mng_uint8  iBitdepth,
174                                       mng_uint8  iColortype,
175                                       mng_uint8  iFilltype);
176 
177 mng_retcode mng_magnify_imageobject  (mng_datap  pData,
178                                       mng_imagep pImage);
179 
180 mng_retcode mng_colorcorrect_object  (mng_datap  pData,
181                                       mng_imagep pImage);
182 
183 /* ************************************************************************** */
184 
185 mng_retcode mng_create_ani_image  (mng_datap      pData);
186 
187 #ifndef MNG_OPTIMIZE_CHUNKREADER
188 
189 mng_retcode mng_create_ani_plte   (mng_datap      pData,
190                                    mng_uint32     iEntrycount,
191                                    mng_palette8ep paEntries);
192 
193 mng_retcode mng_create_ani_trns   (mng_datap      pData,
194                                    mng_uint32     iRawlen,
195                                    mng_uint8p     pRawdata);
196 
197 mng_retcode mng_create_ani_gama   (mng_datap      pData,
198                                    mng_bool       bEmpty,
199                                    mng_uint32     iGamma);
200 
201 mng_retcode mng_create_ani_chrm   (mng_datap      pData,
202                                    mng_bool       bEmpty,
203                                    mng_uint32     iWhitepointx,
204                                    mng_uint32     iWhitepointy,
205                                    mng_uint32     iRedx,
206                                    mng_uint32     iRedy,
207                                    mng_uint32     iGreenx,
208                                    mng_uint32     iGreeny,
209                                    mng_uint32     iBluex,
210                                    mng_uint32     iBluey);
211 
212 mng_retcode mng_create_ani_srgb   (mng_datap      pData,
213                                    mng_bool       bEmpty,
214                                    mng_uint8      iRenderinginent);
215 
216 mng_retcode mng_create_ani_iccp   (mng_datap      pData,
217                                    mng_bool       bEmpty,
218                                    mng_uint32     iProfilesize,
219                                    mng_ptr        pProfile);
220 
221 mng_retcode mng_create_ani_bkgd   (mng_datap      pData,
222                                    mng_uint16     iRed,
223                                    mng_uint16     iGreen,
224                                    mng_uint16     iBlue);
225 
226 mng_retcode mng_create_ani_loop   (mng_datap      pData,
227                                    mng_uint8      iLevel,
228                                    mng_uint32     iRepeatcount,
229                                    mng_uint8      iTermcond,
230                                    mng_uint32     iItermin,
231                                    mng_uint32     iItermax,
232                                    mng_uint32     iCount,
233                                    mng_uint32p    pSignals);
234 
235 mng_retcode mng_create_ani_endl   (mng_datap      pData,
236                                    mng_uint8      iLevel);
237 
238 mng_retcode mng_create_ani_defi   (mng_datap      pData);
239 
240 mng_retcode mng_create_ani_basi   (mng_datap      pData,
241                                    mng_uint16     iRed,
242                                    mng_uint16     iGreen,
243                                    mng_uint16     iBlue,
244                                    mng_bool       bHasalpha,
245                                    mng_uint16     iAlpha,
246                                    mng_uint8      iViewable);
247 
248 mng_retcode mng_create_ani_clon   (mng_datap      pData,
249                                    mng_uint16     iSourceid,
250                                    mng_uint16     iCloneid,
251                                    mng_uint8      iClonetype,
252                                    mng_bool       bHasdonotshow,
253                                    mng_uint8      iDonotshow,
254                                    mng_uint8      iConcrete,
255                                    mng_bool       bHasloca,
256                                    mng_uint8      iLocatype,
257                                    mng_int32      iLocax,
258                                    mng_int32      iLocay);
259 
260 mng_retcode mng_create_ani_back   (mng_datap      pData,
261                                    mng_uint16     iRed,
262                                    mng_uint16     iGreen,
263                                    mng_uint16     iBlue,
264                                    mng_uint8      iMandatory,
265                                    mng_uint16     iImageid,
266                                    mng_uint8      iTile);
267 
268 mng_retcode mng_create_ani_fram   (mng_datap      pData,
269                                    mng_uint8      iFramemode,
270                                    mng_uint8      iChangedelay,
271                                    mng_uint32     iDelay,
272                                    mng_uint8      iChangetimeout,
273                                    mng_uint32     iTimeout,
274                                    mng_uint8      iChangeclipping,
275                                    mng_uint8      iCliptype,
276                                    mng_int32      iClipl,
277                                    mng_int32      iClipr,
278                                    mng_int32      iClipt,
279                                    mng_int32      iClipb);
280 
281 mng_retcode mng_create_ani_move   (mng_datap      pData,
282                                    mng_uint16     iFirstid,
283                                    mng_uint16     iLastid,
284                                    mng_uint8      iType,
285                                    mng_int32      iLocax,
286                                    mng_int32      iLocay);
287 
288 mng_retcode mng_create_ani_clip   (mng_datap      pData,
289                                    mng_uint16     iFirstid,
290                                    mng_uint16     iLastid,
291                                    mng_uint8      iType,
292                                    mng_int32      iClipl,
293                                    mng_int32      iClipr,
294                                    mng_int32      iClipt,
295                                    mng_int32      iClipb);
296 
297 mng_retcode mng_create_ani_show   (mng_datap      pData,
298                                    mng_uint16     iFirstid,
299                                    mng_uint16     iLastid,
300                                    mng_uint8      iMode);
301 
302 mng_retcode mng_create_ani_term   (mng_datap      pData,
303                                    mng_uint8      iTermaction,
304                                    mng_uint8      iIteraction,
305                                    mng_uint32     iDelay,
306                                    mng_uint32     iItermax);
307 
308 #ifndef MNG_SKIPCHUNK_SAVE
309 mng_retcode mng_create_ani_save   (mng_datap      pData);
310 #endif
311 #ifndef MNG_SKIPCHUNK_SEEK
312 mng_retcode mng_create_ani_seek   (mng_datap      pData,
313                                    mng_uint32     iSegmentnamesize,
314                                    mng_pchar      zSegmentname);
315 #endif
316 #ifndef MNG_NO_DELTA_PNG
317 mng_retcode mng_create_ani_dhdr   (mng_datap      pData,
318                                    mng_uint16     iObjectid,
319                                    mng_uint8      iImagetype,
320                                    mng_uint8      iDeltatype,
321                                    mng_uint32     iBlockwidth,
322                                    mng_uint32     iBlockheight,
323                                    mng_uint32     iBlockx,
324                                    mng_uint32     iBlocky);
325 
326 mng_retcode mng_create_ani_prom   (mng_datap      pData,
327                                    mng_uint8      iBitdepth,
328                                    mng_uint8      iColortype,
329                                    mng_uint8      iFilltype);
330 
331 mng_retcode mng_create_ani_ipng   (mng_datap      pData);
332 mng_retcode mng_create_ani_ijng   (mng_datap      pData);
333 
334 mng_retcode mng_create_ani_pplt   (mng_datap      pData,
335                                    mng_uint8      iType,
336                                    mng_uint32     iCount,
337                                    mng_palette8ep paIndexentries,
338                                    mng_uint8p     paAlphaentries,
339                                    mng_uint8p     paUsedentries);
340 #endif
341 
342 #ifndef MNG_SKIPCHUNK_MAGN
343 mng_retcode mng_create_ani_magn   (mng_datap      pData,
344                                    mng_uint16     iFirstid,
345                                    mng_uint16     iLastid,
346                                    mng_uint8      iMethodX,
347                                    mng_uint16     iMX,
348                                    mng_uint16     iMY,
349                                    mng_uint16     iML,
350                                    mng_uint16     iMR,
351                                    mng_uint16     iMT,
352                                    mng_uint16     iMB,
353                                    mng_uint8      iMethodY);
354 #endif
355 
356 #ifndef MNG_SKIPCHUNK_PAST
357 mng_retcode mng_create_ani_past   (mng_datap      pData,
358                                    mng_uint16     iTargetid,
359                                    mng_uint8      iTargettype,
360                                    mng_int32      iTargetx,
361                                    mng_int32      iTargety,
362                                    mng_uint32     iCount,
363                                    mng_ptr        pSources);
364 #endif
365 
366 #ifndef MNG_SKIPCHUNK_DISC
367 mng_retcode mng_create_ani_disc   (mng_datap      pData,
368                                    mng_uint32     iCount,
369                                    mng_uint16p    pIds);
370 #endif
371 
372 #else /* MNG_OPTIMIZE_CHUNKREADER */
373 
374 mng_retcode mng_create_ani_plte   (mng_datap      pData);
375 mng_retcode mng_create_ani_trns   (mng_datap      pData);
376 mng_retcode mng_create_ani_gama   (mng_datap      pData,
377                                    mng_chunkp     pChunk);
378 mng_retcode mng_create_ani_chrm   (mng_datap      pData,
379                                    mng_chunkp     pChunk);
380 mng_retcode mng_create_ani_srgb   (mng_datap      pData,
381                                    mng_chunkp     pChunk);
382 mng_retcode mng_create_ani_iccp   (mng_datap      pData,
383                                    mng_chunkp     pChunk);
384 mng_retcode mng_create_ani_bkgd   (mng_datap      pData);
385 mng_retcode mng_create_ani_loop   (mng_datap      pData,
386                                    mng_chunkp     pChunk);
387 mng_retcode mng_create_ani_endl   (mng_datap      pData,
388                                    mng_uint8      iLevel);
389 mng_retcode mng_create_ani_defi   (mng_datap      pData);
390 mng_retcode mng_create_ani_basi   (mng_datap      pData,
391                                    mng_chunkp     pChunk);
392 mng_retcode mng_create_ani_clon   (mng_datap      pData,
393                                    mng_chunkp     pChunk);
394 mng_retcode mng_create_ani_back   (mng_datap      pData);
395 mng_retcode mng_create_ani_fram   (mng_datap      pData,
396                                    mng_chunkp     pChunk);
397 mng_retcode mng_create_ani_move   (mng_datap      pData,
398                                    mng_chunkp     pChunk);
399 mng_retcode mng_create_ani_clip   (mng_datap      pData,
400                                    mng_chunkp     pChunk);
401 mng_retcode mng_create_ani_show   (mng_datap      pData);
402 mng_retcode mng_create_ani_term   (mng_datap      pData,
403                                    mng_chunkp     pChunk);
404 #ifndef MNG_SKIPCHUNK_SAVE
405 mng_retcode mng_create_ani_save   (mng_datap      pData);
406 #endif
407 #ifndef MNG_SKIPCHUNK_SEEK
408 mng_retcode mng_create_ani_seek   (mng_datap      pData,
409                                    mng_chunkp     pChunk);
410 #endif
411 #ifndef MNG_NO_DELTA_PNG
412 mng_retcode mng_create_ani_dhdr   (mng_datap      pData,
413                                    mng_chunkp     pChunk);
414 mng_retcode mng_create_ani_prom   (mng_datap      pData,
415                                    mng_chunkp     pChunk);
416 mng_retcode mng_create_ani_ipng   (mng_datap      pData);
417 mng_retcode mng_create_ani_ijng   (mng_datap      pData);
418 
419 mng_retcode mng_create_ani_pplt   (mng_datap      pData,
420                                    mng_uint8      iType,
421                                    mng_uint32     iCount,
422                                    mng_palette8ep paIndexentries,
423                                    mng_uint8p     paAlphaentries,
424                                    mng_uint8p     paUsedentries);
425 #endif
426 
427 #ifndef MNG_SKIPCHUNK_MAGN
428 mng_retcode mng_create_ani_magn   (mng_datap      pData,
429                                    mng_chunkp     pChunk);
430 #endif
431 #ifndef MNG_SKIPCHUNK_PAST
432 mng_retcode mng_create_ani_past   (mng_datap      pData,
433                                    mng_chunkp     pChunk);
434 #endif
435 #ifndef MNG_SKIPCHUNK_DISC
436 mng_retcode mng_create_ani_disc   (mng_datap      pData,
437                                    mng_chunkp     pChunk);
438 #endif
439 
440 #endif /* MNG_OPTIMIZE_CHUNKREADER */
441 
442 /* ************************************************************************** */
443 
444 mng_retcode mng_free_ani_image    (mng_datap    pData,
445                                    mng_objectp  pObject);
446 
447 #ifndef MNG_OPTIMIZE_OBJCLEANUP
448 
449 mng_retcode mng_free_ani_plte     (mng_datap    pData,
450                                    mng_objectp  pObject);
451 mng_retcode mng_free_ani_trns     (mng_datap    pData,
452                                    mng_objectp  pObject);
453 mng_retcode mng_free_ani_gama     (mng_datap    pData,
454                                    mng_objectp  pObject);
455 #ifndef MNG_SKIPCHUNK_cHRM
456 mng_retcode mng_free_ani_chrm     (mng_datap    pData,
457                                    mng_objectp  pObject);
458 #endif
459 #ifndef MNG_SKIPCHUNK_sRGB
460 mng_retcode mng_free_ani_srgb     (mng_datap    pData,
461                                    mng_objectp  pObject);
462 #endif
463 #ifndef MNG_SKIPCHUNK_bKGD
464 mng_retcode mng_free_ani_bkgd     (mng_datap    pData,
465                                    mng_objectp  pObject);
466 #endif
467 #ifndef MNG_SKIPCHUNK_LOOP
468 mng_retcode mng_free_ani_endl     (mng_datap    pData,
469                                    mng_objectp  pObject);
470 #endif
471 mng_retcode mng_free_ani_defi     (mng_datap    pData,
472                                    mng_objectp  pObject);
473 mng_retcode mng_free_ani_basi     (mng_datap    pData,
474                                    mng_objectp  pObject);
475 mng_retcode mng_free_ani_clon     (mng_datap    pData,
476                                    mng_objectp  pObject);
477 mng_retcode mng_free_ani_back     (mng_datap    pData,
478                                    mng_objectp  pObject);
479 mng_retcode mng_free_ani_fram     (mng_datap    pData,
480                                    mng_objectp  pObject);
481 mng_retcode mng_free_ani_move     (mng_datap    pData,
482                                    mng_objectp  pObject);
483 mng_retcode mng_free_ani_clip     (mng_datap    pData,
484                                    mng_objectp  pObject);
485 mng_retcode mng_free_ani_show     (mng_datap    pData,
486                                    mng_objectp  pObject);
487 mng_retcode mng_free_ani_term     (mng_datap    pData,
488                                    mng_objectp  pObject);
489 #ifndef MNG_SKIPCHUNK_SAVE
490 mng_retcode mng_free_ani_save     (mng_datap    pData,
491                                    mng_objectp  pObject);
492 #endif
493 #ifndef MNG_NO_DELTA_PNG
494 mng_retcode mng_free_ani_dhdr     (mng_datap    pData,
495                                    mng_objectp  pObject);
496 mng_retcode mng_free_ani_prom     (mng_datap    pData,
497                                    mng_objectp  pObject);
498 mng_retcode mng_free_ani_ipng     (mng_datap    pData,
499                                    mng_objectp  pObject);
500 mng_retcode mng_free_ani_ijng     (mng_datap    pData,
501                                    mng_objectp  pObject);
502 mng_retcode mng_free_ani_pplt     (mng_datap    pData,
503                                    mng_objectp  pObject);
504 #endif
505 #ifndef MNG_SKIPCHUNK_MAGN
506 mng_retcode mng_free_ani_magn     (mng_datap    pData,
507                                    mng_objectp  pObject);
508 #endif
509 
510 #endif /* MNG_OPTIMIZE_OBJCLEANUP */
511 
512 
513 #ifndef MNG_SKIPCHUNK_iCCP
514 mng_retcode mng_free_ani_iccp     (mng_datap    pData,
515                                    mng_objectp  pObject);
516 #endif
517 #ifndef MNG_SKIPCHUNK_LOOP
518 mng_retcode mng_free_ani_loop     (mng_datap    pData,
519                                    mng_objectp  pObject);
520 #endif
521 #ifndef MNG_SKIPCHUNK_SAVE
522 mng_retcode mng_free_ani_seek     (mng_datap    pData,
523                                    mng_objectp  pObject);
524 #endif
525 #ifndef MNG_SKIPCHUNK_PAST
526 mng_retcode mng_free_ani_past     (mng_datap    pData,
527                                    mng_objectp  pObject);
528 #endif
529 mng_retcode mng_free_ani_disc     (mng_datap    pData,
530                                    mng_objectp  pObject);
531 
532 /* ************************************************************************** */
533 
534 mng_retcode mng_process_ani_image (mng_datap    pData,
535                                    mng_objectp  pObject);
536 
537 mng_retcode mng_process_ani_plte  (mng_datap    pData,
538                                    mng_objectp  pObject);
539 mng_retcode mng_process_ani_trns  (mng_datap    pData,
540                                    mng_objectp  pObject);
541 mng_retcode mng_process_ani_gama  (mng_datap    pData,
542                                    mng_objectp  pObject);
543 #ifndef MNG_SKIPCHUNK_cHRM
544 mng_retcode mng_process_ani_chrm  (mng_datap    pData,
545                                    mng_objectp  pObject);
546 #endif
547 #ifndef MNG_SKIPCHUNK_sRGB
548 mng_retcode mng_process_ani_srgb  (mng_datap    pData,
549                                    mng_objectp  pObject);
550 #endif
551 #ifndef MNG_SKIPCHUNK_iCCP
552 mng_retcode mng_process_ani_iccp  (mng_datap    pData,
553                                    mng_objectp  pObject);
554 #endif
555 #ifndef MNG_SKIPCHUNK_bKGD
556 mng_retcode mng_process_ani_bkgd  (mng_datap    pData,
557                                    mng_objectp  pObject);
558 #endif
559 #ifndef MNG_SKIPCHUNK_LOOP
560 mng_retcode mng_process_ani_loop  (mng_datap    pData,
561                                    mng_objectp  pObject);
562 mng_retcode mng_process_ani_endl  (mng_datap    pData,
563                                    mng_objectp  pObject);
564 #endif
565 mng_retcode mng_process_ani_defi  (mng_datap    pData,
566                                    mng_objectp  pObject);
567 mng_retcode mng_process_ani_basi  (mng_datap    pData,
568                                    mng_objectp  pObject);
569 mng_retcode mng_process_ani_clon  (mng_datap    pData,
570                                    mng_objectp  pObject);
571 mng_retcode mng_process_ani_back  (mng_datap    pData,
572                                    mng_objectp  pObject);
573 mng_retcode mng_process_ani_fram  (mng_datap    pData,
574                                    mng_objectp  pObject);
575 mng_retcode mng_process_ani_move  (mng_datap    pData,
576                                    mng_objectp  pObject);
577 mng_retcode mng_process_ani_clip  (mng_datap    pData,
578                                    mng_objectp  pObject);
579 mng_retcode mng_process_ani_show  (mng_datap    pData,
580                                    mng_objectp  pObject);
581 mng_retcode mng_process_ani_term  (mng_datap    pData,
582                                    mng_objectp  pObject);
583 #ifndef MNG_SKIPCHUNK_SAVE
584 mng_retcode mng_process_ani_save  (mng_datap    pData,
585                                    mng_objectp  pObject);
586 #endif
587 #ifndef MNG_SKIPCHUNK_SEEK
588 mng_retcode mng_process_ani_seek  (mng_datap    pData,
589                                    mng_objectp  pObject);
590 #endif
591 #ifndef MNG_NO_DELTA_PNG
592 mng_retcode mng_process_ani_dhdr  (mng_datap    pData,
593                                    mng_objectp  pObject);
594 mng_retcode mng_process_ani_prom  (mng_datap    pData,
595                                    mng_objectp  pObject);
596 mng_retcode mng_process_ani_ipng  (mng_datap    pData,
597                                    mng_objectp  pObject);
598 mng_retcode mng_process_ani_ijng  (mng_datap    pData,
599                                    mng_objectp  pObject);
600 mng_retcode mng_process_ani_pplt  (mng_datap    pData,
601                                    mng_objectp  pObject);
602 #endif
603 mng_retcode mng_process_ani_magn  (mng_datap    pData,
604                                    mng_objectp  pObject);
605 #ifndef MNG_SKIPCHUNK_PAST
606 mng_retcode mng_process_ani_past  (mng_datap    pData,
607                                    mng_objectp  pObject);
608 #endif
609 mng_retcode mng_process_ani_disc  (mng_datap    pData,
610                                    mng_objectp  pObject);
611 
612 /* ************************************************************************** */
613 
614 #ifdef MNG_SUPPORT_DYNAMICMNG
615 #ifndef MNG_OPTIMIZE_CHUNKREADER
616 mng_retcode mng_create_event      (mng_datap    pData,
617                                    mng_uint8    iEventtype,
618                                    mng_uint8    iMasktype,
619                                    mng_int32    iLeft,
620                                    mng_int32    iRight,
621                                    mng_int32    iTop,
622                                    mng_int32    iBottom,
623                                    mng_uint16   iObjectid,
624                                    mng_uint8    iIndex,
625                                    mng_uint32   iSegmentnamesize,
626                                    mng_pchar    zSegmentname);
627 #else
628 mng_retcode mng_create_event      (mng_datap    pData,
629                                    mng_ptr      pEntry);
630 #endif
631 mng_retcode mng_free_event        (mng_datap    pData,
632                                    mng_objectp  pObject);
633 mng_retcode mng_process_event     (mng_datap    pData,
634                                    mng_objectp  pObject);
635 #endif
636 
637 /* ************************************************************************** */
638 
639 #ifdef MNG_INCLUDE_MPNG_PROPOSAL
640 #ifndef MNG_OPTIMIZE_CHUNKREADER
641 mng_retcode mng_create_mpng_obj   (mng_datap    pData,
642                                    mng_uint32   iFramewidth,
643                                    mng_uint32   iFrameheight,
644                                    mng_uint16   iNumplays,
645                                    mng_uint16   iTickspersec,
646                                    mng_uint32   iFramessize,
647                                    mng_ptr      pFrames);
648 #else
649 mng_retcode mng_create_mpng_obj   (mng_datap    pData,
650                                    mng_ptr      pEntry);
651 #endif
652 mng_retcode mng_free_mpng_obj     (mng_datap    pData,
653                                    mng_objectp  pObject);
654 mng_retcode mng_process_mpng_obj  (mng_datap    pData,
655                                    mng_objectp  pObject);
656 #endif
657 
658 /* ************************************************************************** */
659 
660 #ifdef MNG_INCLUDE_ANG_PROPOSAL
661 #ifndef MNG_OPTIMIZE_CHUNKREADER
662 mng_retcode mng_create_ang_obj    (mng_datap    pData,
663                                    mng_uint32   iNumframes,
664                                    mng_uint32   iTickspersec,
665                                    mng_uint32   iNumplays,
666                                    mng_uint32   iTilewidth,
667                                    mng_uint32   iTileheight,
668                                    mng_uint8    iInterlace,
669                                    mng_uint8    iStillused);
670 #else
671 mng_retcode mng_create_ang_obj    (mng_datap    pData,
672                                    mng_ptr      pEntry);
673 #endif
674 mng_retcode mng_free_ang_obj      (mng_datap    pData,
675                                    mng_objectp  pObject);
676 mng_retcode mng_process_ang_obj   (mng_datap    pData,
677                                    mng_objectp  pObject);
678 #endif
679 
680 /* ************************************************************************** */
681 
682 #endif /* MNG_INCLUDE_DISPLAY_PROCS */
683 
684 /* ************************************************************************** */
685 
686 #endif /* _libmng_object_prc_h_ */
687 
688 /* ************************************************************************** */
689 /* * end of file                                                            * */
690 /* ************************************************************************** */
691