source: trunk/src/3rdparty/libmng/libmng_chunk_io.h

Last change on this file was 2, checked in by dmik, 20 years ago

Imported xplatform parts of the official release 3.3.1 from Trolltech

  • Property svn:keywords set to Id
File size: 9.4 KB
Line 
1/* ************************************************************************** */
2/* * For conditions of distribution and use, * */
3/* * see copyright notice in libmng.h * */
4/* ************************************************************************** */
5/* * * */
6/* * project : libmng * */
7/* * file : libmng_chunk_io.h copyright (c) 2000 G.Juyn * */
8/* * version : 1.0.0 * */
9/* * * */
10/* * purpose : Chunk I/O routines (definition) * */
11/* * * */
12/* * author : G.Juyn * */
13/* * web : http://www.3-t.com * */
14/* * email : mailto:info@3-t.com * */
15/* * * */
16/* * comment : Definition of the chunk input/output routines * */
17/* * * */
18/* * changes : 0.5.1 - 05/04/2000 - G.Juyn * */
19/* * - changed CRC initializtion to use dynamic structure * */
20/* * (wasn't thread-safe the old way !) * */
21/* * 0.5.1 - 05/08/2000 - G.Juyn * */
22/* * - changed write routines definition * */
23/* * - changed strict-ANSI stuff * */
24/* * * */
25/* * 0.9.2 - 08/05/2000 - G.Juyn * */
26/* * - changed file-prefixes * */
27/* * * */
28/* * 0.9.3 - 08/26/2000 - G.Juyn * */
29/* * - added MAGN chunk * */
30/* * 0.9.3 - 10/16/2000 - G.Juyn * */
31/* * - added support for JDAA * */
32/* * * */
33/* ************************************************************************** */
34
35#if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
36#pragma option -A /* force ANSI-C */
37#endif
38
39#ifndef _libmng_chunk_io_h_
40#define _libmng_chunk_io_h_
41
42/* ************************************************************************** */
43
44mng_uint32 crc (mng_datap pData,
45 mng_uint8p buf,
46 mng_int32 len);
47
48/* ************************************************************************** */
49
50#ifdef MNG_INCLUDE_READ_PROCS
51
52#define READ_CHUNK(n) mng_retcode n (mng_datap pData, \
53 mng_chunkp pHeader, \
54 mng_uint32 iRawlen, \
55 mng_uint8p pRawdata, \
56 mng_chunkp* ppChunk)
57
58READ_CHUNK (read_ihdr) ;
59READ_CHUNK (read_plte) ;
60READ_CHUNK (read_idat) ;
61READ_CHUNK (read_iend) ;
62READ_CHUNK (read_trns) ;
63READ_CHUNK (read_gama) ;
64READ_CHUNK (read_chrm) ;
65READ_CHUNK (read_srgb) ;
66READ_CHUNK (read_iccp) ;
67READ_CHUNK (read_text) ;
68READ_CHUNK (read_ztxt) ;
69READ_CHUNK (read_itxt) ;
70READ_CHUNK (read_bkgd) ;
71READ_CHUNK (read_phys) ;
72READ_CHUNK (read_sbit) ;
73READ_CHUNK (read_splt) ;
74READ_CHUNK (read_hist) ;
75READ_CHUNK (read_time) ;
76READ_CHUNK (read_mhdr) ;
77READ_CHUNK (read_mend) ;
78READ_CHUNK (read_loop) ;
79READ_CHUNK (read_endl) ;
80READ_CHUNK (read_defi) ;
81READ_CHUNK (read_basi) ;
82READ_CHUNK (read_clon) ;
83READ_CHUNK (read_past) ;
84READ_CHUNK (read_disc) ;
85READ_CHUNK (read_back) ;
86READ_CHUNK (read_fram) ;
87READ_CHUNK (read_move) ;
88READ_CHUNK (read_clip) ;
89READ_CHUNK (read_show) ;
90READ_CHUNK (read_term) ;
91READ_CHUNK (read_save) ;
92READ_CHUNK (read_seek) ;
93READ_CHUNK (read_expi) ;
94READ_CHUNK (read_fpri) ;
95READ_CHUNK (read_phyg) ;
96READ_CHUNK (read_jhdr) ;
97READ_CHUNK (read_jdaa) ;
98READ_CHUNK (read_jdat) ;
99READ_CHUNK (read_jsep) ;
100READ_CHUNK (read_dhdr) ;
101READ_CHUNK (read_prom) ;
102READ_CHUNK (read_ipng) ;
103READ_CHUNK (read_pplt) ;
104READ_CHUNK (read_ijng) ;
105READ_CHUNK (read_drop) ;
106READ_CHUNK (read_dbyk) ;
107READ_CHUNK (read_ordr) ;
108READ_CHUNK (read_magn) ;
109READ_CHUNK (read_need) ;
110READ_CHUNK (read_unknown) ;
111
112/* ************************************************************************** */
113
114#else /* MNG_INCLUDE_READ_PROCS */
115#define read_ihdr 0
116#define read_plte 0
117#define read_idat 0
118#define read_iend 0
119#define read_trns 0
120#define read_gama 0
121#define read_chrm 0
122#define read_srgb 0
123#define read_iccp 0
124#define read_text 0
125#define read_ztxt 0
126#define read_itxt 0
127#define read_bkgd 0
128#define read_phys 0
129#define read_sbit 0
130#define read_splt 0
131#define read_hist 0
132#define read_time 0
133#define read_mhdr 0
134#define read_mend 0
135#define read_loop 0
136#define read_endl 0
137#define read_defi 0
138#define read_basi 0
139#define read_clon 0
140#define read_past 0
141#define read_disc 0
142#define read_back 0
143#define read_fram 0
144#define read_move 0
145#define read_clip 0
146#define read_show 0
147#define read_term 0
148#define read_save 0
149#define read_seek 0
150#define read_expi 0
151#define read_fpri 0
152#define read_phyg 0
153#define read_jhdr 0
154#define read_jdaa 0
155#define read_jdat 0
156#define read_jsep 0
157#define read_dhdr 0
158#define read_prom 0
159#define read_ipng 0
160#define read_pplt 0
161#define read_ijng 0
162#define read_drop 0
163#define read_dbyk 0
164#define read_ordr 0
165#define read_magn 0
166#define read_need 0
167#define read_unknown 0
168#endif /* MNG_INCLUDE_READ_PROCS */
169
170/* ************************************************************************** */
171
172#ifdef MNG_INCLUDE_WRITE_PROCS
173
174#define WRITE_CHUNK(n) mng_retcode n (mng_datap pData, \
175 mng_chunkp pChunk)
176
177WRITE_CHUNK (write_ihdr) ;
178WRITE_CHUNK (write_plte) ;
179WRITE_CHUNK (write_idat) ;
180WRITE_CHUNK (write_iend) ;
181WRITE_CHUNK (write_trns) ;
182WRITE_CHUNK (write_gama) ;
183WRITE_CHUNK (write_chrm) ;
184WRITE_CHUNK (write_srgb) ;
185WRITE_CHUNK (write_iccp) ;
186WRITE_CHUNK (write_text) ;
187WRITE_CHUNK (write_ztxt) ;
188WRITE_CHUNK (write_itxt) ;
189WRITE_CHUNK (write_bkgd) ;
190WRITE_CHUNK (write_phys) ;
191WRITE_CHUNK (write_sbit) ;
192WRITE_CHUNK (write_splt) ;
193WRITE_CHUNK (write_hist) ;
194WRITE_CHUNK (write_time) ;
195WRITE_CHUNK (write_mhdr) ;
196WRITE_CHUNK (write_mend) ;
197WRITE_CHUNK (write_loop) ;
198WRITE_CHUNK (write_endl) ;
199WRITE_CHUNK (write_defi) ;
200WRITE_CHUNK (write_basi) ;
201WRITE_CHUNK (write_clon) ;
202WRITE_CHUNK (write_past) ;
203WRITE_CHUNK (write_disc) ;
204WRITE_CHUNK (write_back) ;
205WRITE_CHUNK (write_fram) ;
206WRITE_CHUNK (write_move) ;
207WRITE_CHUNK (write_clip) ;
208WRITE_CHUNK (write_show) ;
209WRITE_CHUNK (write_term) ;
210WRITE_CHUNK (write_save) ;
211WRITE_CHUNK (write_seek) ;
212WRITE_CHUNK (write_expi) ;
213WRITE_CHUNK (write_fpri) ;
214WRITE_CHUNK (write_phyg) ;
215WRITE_CHUNK (write_jhdr) ;
216WRITE_CHUNK (write_jdaa) ;
217WRITE_CHUNK (write_jdat) ;
218WRITE_CHUNK (write_jsep) ;
219WRITE_CHUNK (write_dhdr) ;
220WRITE_CHUNK (write_prom) ;
221WRITE_CHUNK (write_ipng) ;
222WRITE_CHUNK (write_pplt) ;
223WRITE_CHUNK (write_ijng) ;
224WRITE_CHUNK (write_drop) ;
225WRITE_CHUNK (write_dbyk) ;
226WRITE_CHUNK (write_ordr) ;
227WRITE_CHUNK (write_magn) ;
228WRITE_CHUNK (write_need) ;
229WRITE_CHUNK (write_unknown) ;
230
231/* ************************************************************************** */
232
233#else /* MNG_INCLUDE_WRITE_PROCS */
234#define write_ihdr 0
235#define write_plte 0
236#define write_idat 0
237#define write_iend 0
238#define write_trns 0
239#define write_gama 0
240#define write_chrm 0
241#define write_srgb 0
242#define write_iccp 0
243#define write_text 0
244#define write_ztxt 0
245#define write_itxt 0
246#define write_bkgd 0
247#define write_phys 0
248#define write_sbit 0
249#define write_splt 0
250#define write_hist 0
251#define write_time 0
252#define write_mhdr 0
253#define write_mend 0
254#define write_loop 0
255#define write_endl 0
256#define write_defi 0
257#define write_basi 0
258#define write_clon 0
259#define write_past 0
260#define write_disc 0
261#define write_back 0
262#define write_fram 0
263#define write_move 0
264#define write_clip 0
265#define write_show 0
266#define write_term 0
267#define write_save 0
268#define write_seek 0
269#define write_expi 0
270#define write_fpri 0
271#define write_phyg 0
272#define write_jhdr 0
273#define write_jdaa 0
274#define write_jdat 0
275#define write_jsep 0
276#define write_dhdr 0
277#define write_prom 0
278#define write_ipng 0
279#define write_pplt 0
280#define write_ijng 0
281#define write_drop 0
282#define write_dbyk 0
283#define write_ordr 0
284#define write_magn 0
285#define write_need 0
286#define write_unknown 0
287#endif /* MNG_INCLUDE_WRITE_PROCS */
288
289/* ************************************************************************** */
290
291#endif /* _libmng_chunk_io_h_ */
292
293/* ************************************************************************** */
294/* * end of file * */
295/* ************************************************************************** */
Note: See TracBrowser for help on using the repository browser.