1
/* ************************************************************************** */
2
/* * For conditions of distribution and use, * */
3
/* * see copyright notice in libmng.h * */
4
/* ************************************************************************** */
6
/* * project : libmng * */
7
/* * file : libmng_object_prc.h copyright (c) 2000-2007 G.Juyn * */
8
/* * version : 1.0.10 * */
10
/* * purpose : Object processing routines (definition) * */
12
/* * author : G.Juyn * */
14
/* * comment : Definition of the internal object processing routines * */
16
/* * changes : 0.5.1 - 05/08/2000 - G.Juyn * */
17
/* * - changed strict-ANSI stuff * */
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 * */
29
/* * 0.5.3 - 06/22/2000 - G.Juyn * */
30
/* * - added support for PPLT chunk * */
32
/* * 0.9.2 - 08/05/2000 - G.Juyn * */
33
/* * - changed file-prefixes * */
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 * */
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 * */
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 * */
59
/* * 1.0.7 - 03/24/2004 - G.R-P * */
60
/* * - added more SKIPCHUNK conditionals * */
62
/* * 1.0.9 - 12/05/2004 - G.Juyn * */
63
/* * - added conditional MNG_OPTIMIZE_OBJCLEANUP * */
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 * */
70
/* ************************************************************************** */
72
#if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
73
#pragma option -A /* force ANSI-C */
76
#ifndef _libmng_object_prc_h_
77
#define _libmng_object_prc_h_
79
/* ************************************************************************** */
81
#ifdef MNG_INCLUDE_DISPLAY_PROCS
83
/* ************************************************************************** */
85
mng_retcode mng_drop_invalid_objects (mng_datap pData);
87
/* ************************************************************************** */
89
mng_retcode mng_create_imagedataobject (mng_datap pData,
96
mng_uint8 iCompression,
99
mng_imagedatap *ppObject);
101
mng_retcode mng_free_imagedataobject (mng_datap pData,
102
mng_imagedatap pImagedata);
104
mng_retcode mng_clone_imagedataobject (mng_datap pData,
106
mng_imagedatap pSource,
107
mng_imagedatap *ppClone);
109
/* ************************************************************************** */
111
mng_retcode mng_create_imageobject (mng_datap pData,
119
mng_uint8 iColortype,
120
mng_uint8 iCompression,
122
mng_uint8 iInterlace,
130
mng_imagep *ppObject);
132
mng_retcode mng_free_imageobject (mng_datap pData,
135
mng_imagep mng_find_imageobject (mng_datap pData,
138
mng_retcode mng_clone_imageobject (mng_datap pData,
144
mng_uint8 iLocationtype,
145
mng_int32 iLocationx,
146
mng_int32 iLocationy,
148
mng_imagep *ppClone);
150
mng_retcode mng_renum_imageobject (mng_datap pData,
156
mng_uint8 iLocationtype,
157
mng_int32 iLocationx,
158
mng_int32 iLocationy);
160
mng_retcode mng_reset_object_details (mng_datap pData,
165
mng_uint8 iColortype,
166
mng_uint8 iCompression,
168
mng_uint8 iInterlace,
171
mng_retcode mng_promote_imageobject (mng_datap pData,
174
mng_uint8 iColortype,
175
mng_uint8 iFilltype);
177
mng_retcode mng_magnify_imageobject (mng_datap pData,
180
mng_retcode mng_colorcorrect_object (mng_datap pData,
183
/* ************************************************************************** */
185
mng_retcode mng_create_ani_image (mng_datap pData);
187
#ifndef MNG_OPTIMIZE_CHUNKREADER
189
mng_retcode mng_create_ani_plte (mng_datap pData,
190
mng_uint32 iEntrycount,
191
mng_palette8ep paEntries);
193
mng_retcode mng_create_ani_trns (mng_datap pData,
195
mng_uint8p pRawdata);
197
mng_retcode mng_create_ani_gama (mng_datap pData,
201
mng_retcode mng_create_ani_chrm (mng_datap pData,
203
mng_uint32 iWhitepointx,
204
mng_uint32 iWhitepointy,
212
mng_retcode mng_create_ani_srgb (mng_datap pData,
214
mng_uint8 iRenderinginent);
216
mng_retcode mng_create_ani_iccp (mng_datap pData,
218
mng_uint32 iProfilesize,
221
mng_retcode mng_create_ani_bkgd (mng_datap pData,
226
mng_retcode mng_create_ani_loop (mng_datap pData,
228
mng_uint32 iRepeatcount,
233
mng_uint32p pSignals);
235
mng_retcode mng_create_ani_endl (mng_datap pData,
238
mng_retcode mng_create_ani_defi (mng_datap pData);
240
mng_retcode mng_create_ani_basi (mng_datap pData,
246
mng_uint8 iViewable);
248
mng_retcode mng_create_ani_clon (mng_datap pData,
249
mng_uint16 iSourceid,
251
mng_uint8 iClonetype,
252
mng_bool bHasdonotshow,
253
mng_uint8 iDonotshow,
260
mng_retcode mng_create_ani_back (mng_datap pData,
264
mng_uint8 iMandatory,
268
mng_retcode mng_create_ani_fram (mng_datap pData,
269
mng_uint8 iFramemode,
270
mng_uint8 iChangedelay,
272
mng_uint8 iChangetimeout,
274
mng_uint8 iChangeclipping,
281
mng_retcode mng_create_ani_move (mng_datap pData,
288
mng_retcode mng_create_ani_clip (mng_datap pData,
297
mng_retcode mng_create_ani_show (mng_datap pData,
302
mng_retcode mng_create_ani_term (mng_datap pData,
303
mng_uint8 iTermaction,
304
mng_uint8 iIteraction,
306
mng_uint32 iItermax);
308
#ifndef MNG_SKIPCHUNK_SAVE
309
mng_retcode mng_create_ani_save (mng_datap pData);
311
#ifndef MNG_SKIPCHUNK_SEEK
312
mng_retcode mng_create_ani_seek (mng_datap pData,
313
mng_uint32 iSegmentnamesize,
314
mng_pchar zSegmentname);
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,
326
mng_retcode mng_create_ani_prom (mng_datap pData,
328
mng_uint8 iColortype,
329
mng_uint8 iFilltype);
331
mng_retcode mng_create_ani_ipng (mng_datap pData);
332
mng_retcode mng_create_ani_ijng (mng_datap pData);
334
mng_retcode mng_create_ani_pplt (mng_datap pData,
337
mng_palette8ep paIndexentries,
338
mng_uint8p paAlphaentries,
339
mng_uint8p paUsedentries);
342
#ifndef MNG_SKIPCHUNK_MAGN
343
mng_retcode mng_create_ani_magn (mng_datap pData,
356
#ifndef MNG_SKIPCHUNK_PAST
357
mng_retcode mng_create_ani_past (mng_datap pData,
358
mng_uint16 iTargetid,
359
mng_uint8 iTargettype,
366
#ifndef MNG_SKIPCHUNK_DISC
367
mng_retcode mng_create_ani_disc (mng_datap pData,
372
#else /* MNG_OPTIMIZE_CHUNKREADER */
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,
378
mng_retcode mng_create_ani_chrm (mng_datap pData,
380
mng_retcode mng_create_ani_srgb (mng_datap pData,
382
mng_retcode mng_create_ani_iccp (mng_datap pData,
384
mng_retcode mng_create_ani_bkgd (mng_datap pData);
385
mng_retcode mng_create_ani_loop (mng_datap pData,
387
mng_retcode mng_create_ani_endl (mng_datap pData,
389
mng_retcode mng_create_ani_defi (mng_datap pData);
390
mng_retcode mng_create_ani_basi (mng_datap pData,
392
mng_retcode mng_create_ani_clon (mng_datap pData,
394
mng_retcode mng_create_ani_back (mng_datap pData);
395
mng_retcode mng_create_ani_fram (mng_datap pData,
397
mng_retcode mng_create_ani_move (mng_datap pData,
399
mng_retcode mng_create_ani_clip (mng_datap pData,
401
mng_retcode mng_create_ani_show (mng_datap pData);
402
mng_retcode mng_create_ani_term (mng_datap pData,
404
#ifndef MNG_SKIPCHUNK_SAVE
405
mng_retcode mng_create_ani_save (mng_datap pData);
407
#ifndef MNG_SKIPCHUNK_SEEK
408
mng_retcode mng_create_ani_seek (mng_datap pData,
411
#ifndef MNG_NO_DELTA_PNG
412
mng_retcode mng_create_ani_dhdr (mng_datap pData,
414
mng_retcode mng_create_ani_prom (mng_datap pData,
416
mng_retcode mng_create_ani_ipng (mng_datap pData);
417
mng_retcode mng_create_ani_ijng (mng_datap pData);
419
mng_retcode mng_create_ani_pplt (mng_datap pData,
422
mng_palette8ep paIndexentries,
423
mng_uint8p paAlphaentries,
424
mng_uint8p paUsedentries);
427
#ifndef MNG_SKIPCHUNK_MAGN
428
mng_retcode mng_create_ani_magn (mng_datap pData,
431
#ifndef MNG_SKIPCHUNK_PAST
432
mng_retcode mng_create_ani_past (mng_datap pData,
435
#ifndef MNG_SKIPCHUNK_DISC
436
mng_retcode mng_create_ani_disc (mng_datap pData,
440
#endif /* MNG_OPTIMIZE_CHUNKREADER */
442
/* ************************************************************************** */
444
mng_retcode mng_free_ani_image (mng_datap pData,
445
mng_objectp pObject);
447
#ifndef MNG_OPTIMIZE_OBJCLEANUP
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);
459
#ifndef MNG_SKIPCHUNK_sRGB
460
mng_retcode mng_free_ani_srgb (mng_datap pData,
461
mng_objectp pObject);
463
#ifndef MNG_SKIPCHUNK_bKGD
464
mng_retcode mng_free_ani_bkgd (mng_datap pData,
465
mng_objectp pObject);
467
#ifndef MNG_SKIPCHUNK_LOOP
468
mng_retcode mng_free_ani_endl (mng_datap pData,
469
mng_objectp pObject);
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);
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);
505
#ifndef MNG_SKIPCHUNK_MAGN
506
mng_retcode mng_free_ani_magn (mng_datap pData,
507
mng_objectp pObject);
510
#endif /* MNG_OPTIMIZE_OBJCLEANUP */
513
#ifndef MNG_SKIPCHUNK_iCCP
514
mng_retcode mng_free_ani_iccp (mng_datap pData,
515
mng_objectp pObject);
517
#ifndef MNG_SKIPCHUNK_LOOP
518
mng_retcode mng_free_ani_loop (mng_datap pData,
519
mng_objectp pObject);
521
#ifndef MNG_SKIPCHUNK_SAVE
522
mng_retcode mng_free_ani_seek (mng_datap pData,
523
mng_objectp pObject);
525
#ifndef MNG_SKIPCHUNK_PAST
526
mng_retcode mng_free_ani_past (mng_datap pData,
527
mng_objectp pObject);
529
mng_retcode mng_free_ani_disc (mng_datap pData,
530
mng_objectp pObject);
532
/* ************************************************************************** */
534
mng_retcode mng_process_ani_image (mng_datap pData,
535
mng_objectp pObject);
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);
547
#ifndef MNG_SKIPCHUNK_sRGB
548
mng_retcode mng_process_ani_srgb (mng_datap pData,
549
mng_objectp pObject);
551
#ifndef MNG_SKIPCHUNK_iCCP
552
mng_retcode mng_process_ani_iccp (mng_datap pData,
553
mng_objectp pObject);
555
#ifndef MNG_SKIPCHUNK_bKGD
556
mng_retcode mng_process_ani_bkgd (mng_datap pData,
557
mng_objectp pObject);
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);
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);
587
#ifndef MNG_SKIPCHUNK_SEEK
588
mng_retcode mng_process_ani_seek (mng_datap pData,
589
mng_objectp pObject);
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);
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);
609
mng_retcode mng_process_ani_disc (mng_datap pData,
610
mng_objectp pObject);
612
/* ************************************************************************** */
614
#ifdef MNG_SUPPORT_DYNAMICMNG
615
#ifndef MNG_OPTIMIZE_CHUNKREADER
616
mng_retcode mng_create_event (mng_datap pData,
617
mng_uint8 iEventtype,
623
mng_uint16 iObjectid,
625
mng_uint32 iSegmentnamesize,
626
mng_pchar zSegmentname);
628
mng_retcode mng_create_event (mng_datap pData,
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);
637
/* ************************************************************************** */
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,
649
mng_retcode mng_create_mpng_obj (mng_datap pData,
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);
658
/* ************************************************************************** */
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);
671
mng_retcode mng_create_ang_obj (mng_datap pData,
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);
680
/* ************************************************************************** */
682
#endif /* MNG_INCLUDE_DISPLAY_PROCS */
684
/* ************************************************************************** */
686
#endif /* _libmng_object_prc_h_ */
688
/* ************************************************************************** */
689
/* * end of file * */
690
/* ************************************************************************** */
1
/* ************************************************************************** */
2
/* * For conditions of distribution and use, * */
3
/* * see copyright notice in libmng.h * */
4
/* ************************************************************************** */
6
/* * project : libmng * */
7
/* * file : libmng_object_prc.h copyright (c) 2000-2007 G.Juyn * */
8
/* * version : 1.0.10 * */
10
/* * purpose : Object processing routines (definition) * */
12
/* * author : G.Juyn * */
14
/* * comment : Definition of the internal object processing routines * */
16
/* * changes : 0.5.1 - 05/08/2000 - G.Juyn * */
17
/* * - changed strict-ANSI stuff * */
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 * */
29
/* * 0.5.3 - 06/22/2000 - G.Juyn * */
30
/* * - added support for PPLT chunk * */
32
/* * 0.9.2 - 08/05/2000 - G.Juyn * */
33
/* * - changed file-prefixes * */
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 * */
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 * */
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 * */
59
/* * 1.0.7 - 03/24/2004 - G.R-P * */
60
/* * - added more SKIPCHUNK conditionals * */
62
/* * 1.0.9 - 12/05/2004 - G.Juyn * */
63
/* * - added conditional MNG_OPTIMIZE_OBJCLEANUP * */
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 * */
70
/* ************************************************************************** */
72
#if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
73
#pragma option -A /* force ANSI-C */
76
#ifndef _libmng_object_prc_h_
77
#define _libmng_object_prc_h_
79
/* ************************************************************************** */
81
#ifdef MNG_INCLUDE_DISPLAY_PROCS
83
/* ************************************************************************** */
85
mng_retcode mng_drop_invalid_objects (mng_datap pData);
87
/* ************************************************************************** */
89
mng_retcode mng_create_imagedataobject (mng_datap pData,
96
mng_uint8 iCompression,
99
mng_imagedatap *ppObject);
101
mng_retcode mng_free_imagedataobject (mng_datap pData,
102
mng_imagedatap pImagedata);
104
mng_retcode mng_clone_imagedataobject (mng_datap pData,
106
mng_imagedatap pSource,
107
mng_imagedatap *ppClone);
109
/* ************************************************************************** */
111
mng_retcode mng_create_imageobject (mng_datap pData,
119
mng_uint8 iColortype,
120
mng_uint8 iCompression,
122
mng_uint8 iInterlace,
130
mng_imagep *ppObject);
132
mng_retcode mng_free_imageobject (mng_datap pData,
135
mng_imagep mng_find_imageobject (mng_datap pData,
138
mng_retcode mng_clone_imageobject (mng_datap pData,
144
mng_uint8 iLocationtype,
145
mng_int32 iLocationx,
146
mng_int32 iLocationy,
148
mng_imagep *ppClone);
150
mng_retcode mng_renum_imageobject (mng_datap pData,
156
mng_uint8 iLocationtype,
157
mng_int32 iLocationx,
158
mng_int32 iLocationy);
160
mng_retcode mng_reset_object_details (mng_datap pData,
165
mng_uint8 iColortype,
166
mng_uint8 iCompression,
168
mng_uint8 iInterlace,
171
mng_retcode mng_promote_imageobject (mng_datap pData,
174
mng_uint8 iColortype,
175
mng_uint8 iFilltype);
177
mng_retcode mng_magnify_imageobject (mng_datap pData,
180
mng_retcode mng_colorcorrect_object (mng_datap pData,
183
/* ************************************************************************** */
185
mng_retcode mng_create_ani_image (mng_datap pData);
187
#ifndef MNG_OPTIMIZE_CHUNKREADER
189
mng_retcode mng_create_ani_plte (mng_datap pData,
190
mng_uint32 iEntrycount,
191
mng_palette8ep paEntries);
193
mng_retcode mng_create_ani_trns (mng_datap pData,
195
mng_uint8p pRawdata);
197
mng_retcode mng_create_ani_gama (mng_datap pData,
201
mng_retcode mng_create_ani_chrm (mng_datap pData,
203
mng_uint32 iWhitepointx,
204
mng_uint32 iWhitepointy,
212
mng_retcode mng_create_ani_srgb (mng_datap pData,
214
mng_uint8 iRenderinginent);
216
mng_retcode mng_create_ani_iccp (mng_datap pData,
218
mng_uint32 iProfilesize,
221
mng_retcode mng_create_ani_bkgd (mng_datap pData,
226
mng_retcode mng_create_ani_loop (mng_datap pData,
228
mng_uint32 iRepeatcount,
233
mng_uint32p pSignals);
235
mng_retcode mng_create_ani_endl (mng_datap pData,
238
mng_retcode mng_create_ani_defi (mng_datap pData);
240
mng_retcode mng_create_ani_basi (mng_datap pData,
246
mng_uint8 iViewable);
248
mng_retcode mng_create_ani_clon (mng_datap pData,
249
mng_uint16 iSourceid,
251
mng_uint8 iClonetype,
252
mng_bool bHasdonotshow,
253
mng_uint8 iDonotshow,
260
mng_retcode mng_create_ani_back (mng_datap pData,
264
mng_uint8 iMandatory,
268
mng_retcode mng_create_ani_fram (mng_datap pData,
269
mng_uint8 iFramemode,
270
mng_uint8 iChangedelay,
272
mng_uint8 iChangetimeout,
274
mng_uint8 iChangeclipping,
281
mng_retcode mng_create_ani_move (mng_datap pData,
288
mng_retcode mng_create_ani_clip (mng_datap pData,
297
mng_retcode mng_create_ani_show (mng_datap pData,
302
mng_retcode mng_create_ani_term (mng_datap pData,
303
mng_uint8 iTermaction,
304
mng_uint8 iIteraction,
306
mng_uint32 iItermax);
308
#ifndef MNG_SKIPCHUNK_SAVE
309
mng_retcode mng_create_ani_save (mng_datap pData);
311
#ifndef MNG_SKIPCHUNK_SEEK
312
mng_retcode mng_create_ani_seek (mng_datap pData,
313
mng_uint32 iSegmentnamesize,
314
mng_pchar zSegmentname);
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,
326
mng_retcode mng_create_ani_prom (mng_datap pData,
328
mng_uint8 iColortype,
329
mng_uint8 iFilltype);
331
mng_retcode mng_create_ani_ipng (mng_datap pData);
332
mng_retcode mng_create_ani_ijng (mng_datap pData);
334
mng_retcode mng_create_ani_pplt (mng_datap pData,
337
mng_palette8ep paIndexentries,
338
mng_uint8p paAlphaentries,
339
mng_uint8p paUsedentries);
342
#ifndef MNG_SKIPCHUNK_MAGN
343
mng_retcode mng_create_ani_magn (mng_datap pData,
356
#ifndef MNG_SKIPCHUNK_PAST
357
mng_retcode mng_create_ani_past (mng_datap pData,
358
mng_uint16 iTargetid,
359
mng_uint8 iTargettype,
366
#ifndef MNG_SKIPCHUNK_DISC
367
mng_retcode mng_create_ani_disc (mng_datap pData,
372
#else /* MNG_OPTIMIZE_CHUNKREADER */
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,
378
mng_retcode mng_create_ani_chrm (mng_datap pData,
380
mng_retcode mng_create_ani_srgb (mng_datap pData,
382
mng_retcode mng_create_ani_iccp (mng_datap pData,
384
mng_retcode mng_create_ani_bkgd (mng_datap pData);
385
mng_retcode mng_create_ani_loop (mng_datap pData,
387
mng_retcode mng_create_ani_endl (mng_datap pData,
389
mng_retcode mng_create_ani_defi (mng_datap pData);
390
mng_retcode mng_create_ani_basi (mng_datap pData,
392
mng_retcode mng_create_ani_clon (mng_datap pData,
394
mng_retcode mng_create_ani_back (mng_datap pData);
395
mng_retcode mng_create_ani_fram (mng_datap pData,
397
mng_retcode mng_create_ani_move (mng_datap pData,
399
mng_retcode mng_create_ani_clip (mng_datap pData,
401
mng_retcode mng_create_ani_show (mng_datap pData);
402
mng_retcode mng_create_ani_term (mng_datap pData,
404
#ifndef MNG_SKIPCHUNK_SAVE
405
mng_retcode mng_create_ani_save (mng_datap pData);
407
#ifndef MNG_SKIPCHUNK_SEEK
408
mng_retcode mng_create_ani_seek (mng_datap pData,
411
#ifndef MNG_NO_DELTA_PNG
412
mng_retcode mng_create_ani_dhdr (mng_datap pData,
414
mng_retcode mng_create_ani_prom (mng_datap pData,
416
mng_retcode mng_create_ani_ipng (mng_datap pData);
417
mng_retcode mng_create_ani_ijng (mng_datap pData);
419
mng_retcode mng_create_ani_pplt (mng_datap pData,
422
mng_palette8ep paIndexentries,
423
mng_uint8p paAlphaentries,
424
mng_uint8p paUsedentries);
427
#ifndef MNG_SKIPCHUNK_MAGN
428
mng_retcode mng_create_ani_magn (mng_datap pData,
431
#ifndef MNG_SKIPCHUNK_PAST
432
mng_retcode mng_create_ani_past (mng_datap pData,
435
#ifndef MNG_SKIPCHUNK_DISC
436
mng_retcode mng_create_ani_disc (mng_datap pData,
440
#endif /* MNG_OPTIMIZE_CHUNKREADER */
442
/* ************************************************************************** */
444
mng_retcode mng_free_ani_image (mng_datap pData,
445
mng_objectp pObject);
447
#ifndef MNG_OPTIMIZE_OBJCLEANUP
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);
459
#ifndef MNG_SKIPCHUNK_sRGB
460
mng_retcode mng_free_ani_srgb (mng_datap pData,
461
mng_objectp pObject);
463
#ifndef MNG_SKIPCHUNK_bKGD
464
mng_retcode mng_free_ani_bkgd (mng_datap pData,
465
mng_objectp pObject);
467
#ifndef MNG_SKIPCHUNK_LOOP
468
mng_retcode mng_free_ani_endl (mng_datap pData,
469
mng_objectp pObject);
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);
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);
505
#ifndef MNG_SKIPCHUNK_MAGN
506
mng_retcode mng_free_ani_magn (mng_datap pData,
507
mng_objectp pObject);
510
#endif /* MNG_OPTIMIZE_OBJCLEANUP */
513
#ifndef MNG_SKIPCHUNK_iCCP
514
mng_retcode mng_free_ani_iccp (mng_datap pData,
515
mng_objectp pObject);
517
#ifndef MNG_SKIPCHUNK_LOOP
518
mng_retcode mng_free_ani_loop (mng_datap pData,
519
mng_objectp pObject);
521
#ifndef MNG_SKIPCHUNK_SAVE
522
mng_retcode mng_free_ani_seek (mng_datap pData,
523
mng_objectp pObject);
525
#ifndef MNG_SKIPCHUNK_PAST
526
mng_retcode mng_free_ani_past (mng_datap pData,
527
mng_objectp pObject);
529
mng_retcode mng_free_ani_disc (mng_datap pData,
530
mng_objectp pObject);
532
/* ************************************************************************** */
534
mng_retcode mng_process_ani_image (mng_datap pData,
535
mng_objectp pObject);
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);
547
#ifndef MNG_SKIPCHUNK_sRGB
548
mng_retcode mng_process_ani_srgb (mng_datap pData,
549
mng_objectp pObject);
551
#ifndef MNG_SKIPCHUNK_iCCP
552
mng_retcode mng_process_ani_iccp (mng_datap pData,
553
mng_objectp pObject);
555
#ifndef MNG_SKIPCHUNK_bKGD
556
mng_retcode mng_process_ani_bkgd (mng_datap pData,
557
mng_objectp pObject);
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);
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);
587
#ifndef MNG_SKIPCHUNK_SEEK
588
mng_retcode mng_process_ani_seek (mng_datap pData,
589
mng_objectp pObject);
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);
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);
609
mng_retcode mng_process_ani_disc (mng_datap pData,
610
mng_objectp pObject);
612
/* ************************************************************************** */
614
#ifdef MNG_SUPPORT_DYNAMICMNG
615
#ifndef MNG_OPTIMIZE_CHUNKREADER
616
mng_retcode mng_create_event (mng_datap pData,
617
mng_uint8 iEventtype,
623
mng_uint16 iObjectid,
625
mng_uint32 iSegmentnamesize,
626
mng_pchar zSegmentname);
628
mng_retcode mng_create_event (mng_datap pData,
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);
637
/* ************************************************************************** */
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,
649
mng_retcode mng_create_mpng_obj (mng_datap pData,
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);
658
/* ************************************************************************** */
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);
671
mng_retcode mng_create_ang_obj (mng_datap pData,
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);
680
/* ************************************************************************** */
682
#endif /* MNG_INCLUDE_DISPLAY_PROCS */
684
/* ************************************************************************** */
686
#endif /* _libmng_object_prc_h_ */
688
/* ************************************************************************** */
689
/* * end of file * */
690
/* ************************************************************************** */