|
1 /* ************************************************************************** */ |
|
2 /* * For conditions of distribution and use, * */ |
|
3 /* * see copyright notice in libmng.h * */ |
|
4 /* ************************************************************************** */ |
|
5 /* * * */ |
|
6 /* * project : libmng * */ |
|
7 /* * file : libmng_chunk_descr.h copyright (c) 2007 G.Juyn * */ |
|
8 /* * version : 1.0.10 * */ |
|
9 /* * * */ |
|
10 /* * purpose : Chunk descriptor functions (implementation) * */ |
|
11 /* * * */ |
|
12 /* * author : G.Juyn * */ |
|
13 /* * * */ |
|
14 /* * comment : definition of the chunk- anf field-descriptor routines * */ |
|
15 /* * * */ |
|
16 /* * changes : 1.0.9 - 12/06/2004 - G.Juyn * */ |
|
17 /* * - added conditional MNG_OPTIMIZE_CHUNKREADER * */ |
|
18 /* * * */ |
|
19 /* * 1.0.10 - 04/08/2007 - G.Juyn * */ |
|
20 /* * - added support for mPNG proposal * */ |
|
21 /* * 1.0.10 - 04/12/2007 - G.Juyn * */ |
|
22 /* * - added support for ANG proposal * */ |
|
23 /* * * */ |
|
24 /* ************************************************************************** */ |
|
25 |
|
26 #if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI) |
|
27 #pragma option -A /* force ANSI-C */ |
|
28 #endif |
|
29 |
|
30 #ifndef _libmng_chunk_descr_h_ |
|
31 #define _libmng_chunk_descr_h_ |
|
32 |
|
33 /* ************************************************************************** */ |
|
34 |
|
35 #ifdef MNG_OPTIMIZE_CHUNKREADER |
|
36 #if defined(MNG_INCLUDE_READ_PROCS) || defined(MNG_INCLUDE_WRITE_PROCS) |
|
37 |
|
38 /* ************************************************************************** */ |
|
39 |
|
40 void mng_get_chunkheader (mng_chunkid iChunkname, |
|
41 mng_chunk_headerp pResult); |
|
42 |
|
43 /* ************************************************************************** */ |
|
44 |
|
45 #define MNG_F_SPECIALFUNC(n) mng_retcode n (mng_datap pData, \ |
|
46 mng_chunkp pChunk, \ |
|
47 mng_uint32* piRawlen, \ |
|
48 mng_uint8p* ppRawdata) |
|
49 |
|
50 MNG_F_SPECIALFUNC (mng_debunk_plte) ; |
|
51 MNG_F_SPECIALFUNC (mng_debunk_trns) ; |
|
52 MNG_F_SPECIALFUNC (mng_deflate_itxt) ; |
|
53 MNG_F_SPECIALFUNC (mng_splt_entries) ; |
|
54 MNG_F_SPECIALFUNC (mng_hist_entries) ; |
|
55 |
|
56 MNG_F_SPECIALFUNC (mng_debunk_loop) ; |
|
57 MNG_F_SPECIALFUNC (mng_debunk_past) ; |
|
58 MNG_F_SPECIALFUNC (mng_disc_entries) ; |
|
59 MNG_F_SPECIALFUNC (mng_fram_remainder) ; |
|
60 MNG_F_SPECIALFUNC (mng_save_entries) ; |
|
61 MNG_F_SPECIALFUNC (mng_pplt_entries) ; |
|
62 MNG_F_SPECIALFUNC (mng_drop_entries) ; |
|
63 MNG_F_SPECIALFUNC (mng_ordr_entries) ; |
|
64 MNG_F_SPECIALFUNC (mng_debunk_magn) ; |
|
65 MNG_F_SPECIALFUNC (mng_evnt_entries) ; |
|
66 MNG_F_SPECIALFUNC (mng_adat_tiles) ; |
|
67 |
|
68 /* ************************************************************************** */ |
|
69 |
|
70 #define MNG_C_SPECIALFUNC(n) mng_retcode n (mng_datap pData, \ |
|
71 mng_chunkp pChunk) |
|
72 |
|
73 MNG_C_SPECIALFUNC (mng_special_ihdr) ; |
|
74 MNG_C_SPECIALFUNC (mng_special_plte) ; |
|
75 MNG_C_SPECIALFUNC (mng_special_idat) ; |
|
76 MNG_C_SPECIALFUNC (mng_special_iend) ; |
|
77 MNG_C_SPECIALFUNC (mng_special_trns) ; |
|
78 MNG_C_SPECIALFUNC (mng_special_gama) ; |
|
79 MNG_C_SPECIALFUNC (mng_special_chrm) ; |
|
80 MNG_C_SPECIALFUNC (mng_special_srgb) ; |
|
81 MNG_C_SPECIALFUNC (mng_special_iccp) ; |
|
82 MNG_C_SPECIALFUNC (mng_special_text) ; |
|
83 MNG_C_SPECIALFUNC (mng_special_ztxt) ; |
|
84 MNG_C_SPECIALFUNC (mng_special_itxt) ; |
|
85 MNG_C_SPECIALFUNC (mng_special_bkgd) ; |
|
86 MNG_C_SPECIALFUNC (mng_special_phys) ; |
|
87 MNG_C_SPECIALFUNC (mng_special_sbit) ; |
|
88 MNG_C_SPECIALFUNC (mng_special_splt) ; |
|
89 MNG_C_SPECIALFUNC (mng_special_hist) ; |
|
90 MNG_C_SPECIALFUNC (mng_special_time) ; |
|
91 |
|
92 MNG_C_SPECIALFUNC (mng_special_jhdr) ; |
|
93 MNG_C_SPECIALFUNC (mng_special_jdaa) ; |
|
94 MNG_C_SPECIALFUNC (mng_special_jdat) ; |
|
95 MNG_C_SPECIALFUNC (mng_special_jsep) ; |
|
96 |
|
97 MNG_C_SPECIALFUNC (mng_special_mhdr) ; |
|
98 MNG_C_SPECIALFUNC (mng_special_mend) ; |
|
99 MNG_C_SPECIALFUNC (mng_special_loop) ; |
|
100 MNG_C_SPECIALFUNC (mng_special_endl) ; |
|
101 MNG_C_SPECIALFUNC (mng_special_defi) ; |
|
102 MNG_C_SPECIALFUNC (mng_special_basi) ; |
|
103 MNG_C_SPECIALFUNC (mng_special_clon) ; |
|
104 MNG_C_SPECIALFUNC (mng_special_past) ; |
|
105 MNG_C_SPECIALFUNC (mng_special_disc) ; |
|
106 MNG_C_SPECIALFUNC (mng_special_back) ; |
|
107 MNG_C_SPECIALFUNC (mng_special_fram) ; |
|
108 MNG_C_SPECIALFUNC (mng_special_move) ; |
|
109 MNG_C_SPECIALFUNC (mng_special_clip) ; |
|
110 MNG_C_SPECIALFUNC (mng_special_show) ; |
|
111 MNG_C_SPECIALFUNC (mng_special_term) ; |
|
112 MNG_C_SPECIALFUNC (mng_special_save) ; |
|
113 MNG_C_SPECIALFUNC (mng_special_seek) ; |
|
114 MNG_C_SPECIALFUNC (mng_special_expi) ; |
|
115 MNG_C_SPECIALFUNC (mng_special_fpri) ; |
|
116 MNG_C_SPECIALFUNC (mng_special_need) ; |
|
117 MNG_C_SPECIALFUNC (mng_special_phyg) ; |
|
118 |
|
119 MNG_C_SPECIALFUNC (mng_special_dhdr) ; |
|
120 MNG_C_SPECIALFUNC (mng_special_prom) ; |
|
121 MNG_C_SPECIALFUNC (mng_special_ipng) ; |
|
122 MNG_C_SPECIALFUNC (mng_special_pplt) ; |
|
123 MNG_C_SPECIALFUNC (mng_special_ijng) ; |
|
124 MNG_C_SPECIALFUNC (mng_special_drop) ; |
|
125 MNG_C_SPECIALFUNC (mng_special_dbyk) ; |
|
126 MNG_C_SPECIALFUNC (mng_special_ordr) ; |
|
127 |
|
128 MNG_C_SPECIALFUNC (mng_special_magn) ; |
|
129 MNG_C_SPECIALFUNC (mng_special_evnt) ; |
|
130 MNG_C_SPECIALFUNC (mng_special_mpng) ; |
|
131 MNG_C_SPECIALFUNC (mng_special_ahdr) ; |
|
132 MNG_C_SPECIALFUNC (mng_special_adat) ; |
|
133 MNG_C_SPECIALFUNC (mng_special_unknown) ; |
|
134 |
|
135 /* ************************************************************************** */ |
|
136 |
|
137 #endif /* MNG_INCLUDE_READ_PROCS) || MNG_INCLUDE_WRITE_PROCS */ |
|
138 #endif /* MNG_OPTIMIZE_CHUNKREADER */ |
|
139 |
|
140 /* ************************************************************************** */ |
|
141 |
|
142 #endif /* _libmng_chunk_descr_h_ */ |
|
143 |
|
144 /* ************************************************************************** */ |
|
145 /* * end of file * */ |
|
146 /* ************************************************************************** */ |