~ubuntu-branches/ubuntu/trusty/freeimage/trusty-proposed

« back to all changes in this revision

Viewing changes to Source/LibMNG/libmng_object_prc.h

  • Committer: Package Import Robot
  • Author(s): Scott Howard
  • Date: 2014-01-13 21:57:45 UTC
  • mfrom: (8.1.1 sid)
  • Revision ID: package-import@ubuntu.com-20140113215745-3y21c8ro0ih30hfg
Tags: 3.15.4-1
* QA Upload
* New upstream minor release 
  - Includes fix to build on !linux (Closes: #650485)
* Refreshed patches (line endings had to change)
  - Remove document-mode.patch (accepted upstream)
* Lintian fixes: S-V 3.9.5, DM-Upload-Allowed removed
* Remove document-mode.patch (accepted upstream)

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
 
/* ************************************************************************** */
 
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
/* ************************************************************************** */