|
1 /* ************************************************************************** */ |
|
2 /* * For conditions of distribution and use, * */ |
|
3 /* * see copyright notice in libmng.h * */ |
|
4 /* ************************************************************************** */ |
|
5 /* * * */ |
|
6 /* * project : libmng * */ |
|
7 /* * file : libmng_display.h copyright (c) 2000-2007 G.Juyn * */ |
|
8 /* * version : 1.0.10 * */ |
|
9 /* * * */ |
|
10 /* * purpose : Display management (definition) * */ |
|
11 /* * * */ |
|
12 /* * author : G.Juyn * */ |
|
13 /* * * */ |
|
14 /* * comment : Definition of the display managament routines * */ |
|
15 /* * * */ |
|
16 /* * changes : 0.5.1 - 05/08/2000 - G.Juyn * */ |
|
17 /* * - changed strict-ANSI stuff * */ |
|
18 /* * * */ |
|
19 /* * 0.5.2 - 05/20/2000 - G.Juyn * */ |
|
20 /* * - added JNG support stuff * */ |
|
21 /* * * */ |
|
22 /* * 0.5.3 - 06/16/2000 - G.Juyn * */ |
|
23 /* * - changed progressive-display processing * */ |
|
24 /* * 0.5.3 - 06/22/2000 - G.Juyn * */ |
|
25 /* * - added support for delta-image processing * */ |
|
26 /* * - added support for PPLT chunk processing * */ |
|
27 /* * * */ |
|
28 /* * 0.9.2 - 08/05/2000 - G.Juyn * */ |
|
29 /* * - changed file-prefixes * */ |
|
30 /* * 0.9.3 - 08/07/2000 - G.Juyn * */ |
|
31 /* * - B111300 - fixup for improved portability * */ |
|
32 /* * 0.9.3 - 08/26/2000 - G.Juyn * */ |
|
33 /* * - added MAGN chunk * */ |
|
34 /* * 0.9.3 - 10/16/2000 - G.Juyn * */ |
|
35 /* * - added JDAA chunk * */ |
|
36 /* * * */ |
|
37 /* * 0.9.4 - 11/24/2000 - G.Juyn * */ |
|
38 /* * - moved restore of object 0 to libmng_display * */ |
|
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/20/2002 - G.Juyn * */ |
|
45 /* * - added support for PAST * */ |
|
46 /* * 1.0.5 - 10/07/2002 - G.Juyn * */ |
|
47 /* * - added proposed change in handling of TERM- & if-delay * */ |
|
48 /* * 1.0.5 - 10/20/2002 - G.Juyn * */ |
|
49 /* * - fixed display of visible target of PAST operation * */ |
|
50 /* * * */ |
|
51 /* * 1.0.7 - 03/24/2004 - G.R-P. * */ |
|
52 /* * - added some SKIPCHUNK conditionals * */ |
|
53 /* * * */ |
|
54 /* * 1.0.9 - 12/11/2004 - G.Juyn * */ |
|
55 /* * - added conditional MNG_OPTIMIZE_DISPLAYCALLS * */ |
|
56 /* * * */ |
|
57 /* * 1.0.10 - 04/08/2007 - G.Juyn * */ |
|
58 /* * - added support for mPNG proposal * */ |
|
59 /* * 1.0.10 - 04/12/2007 - G.Juyn * */ |
|
60 /* * - added support for ANG proposal * */ |
|
61 /* * * */ |
|
62 /* ************************************************************************** */ |
|
63 |
|
64 #if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI) |
|
65 #pragma option -A /* force ANSI-C */ |
|
66 #endif |
|
67 |
|
68 #ifndef _libmng_display_h_ |
|
69 #define _libmng_display_h_ |
|
70 |
|
71 /* ************************************************************************** */ |
|
72 |
|
73 #ifdef MNG_INCLUDE_DISPLAY_PROCS |
|
74 |
|
75 /* ************************************************************************** */ |
|
76 |
|
77 mng_retcode mng_display_progressive_refresh (mng_datap pData, |
|
78 mng_uint32 iInterval); |
|
79 |
|
80 /* ************************************************************************** */ |
|
81 |
|
82 mng_retcode mng_reset_objzero (mng_datap pData); |
|
83 |
|
84 mng_retcode mng_display_image (mng_datap pData, |
|
85 mng_imagep pImage, |
|
86 mng_bool bLayeradvanced); |
|
87 |
|
88 mng_retcode mng_execute_delta_image (mng_datap pData, |
|
89 mng_imagep pTarget, |
|
90 mng_imagep pDelta); |
|
91 |
|
92 /* ************************************************************************** */ |
|
93 |
|
94 mng_retcode mng_process_display (mng_datap pData); |
|
95 |
|
96 /* ************************************************************************** */ |
|
97 |
|
98 #ifdef MNG_OPTIMIZE_FOOTPRINT_INIT |
|
99 png_imgtype mng_png_imgtype (mng_uint8 colortype, |
|
100 mng_uint8 bitdepth); |
|
101 #endif |
|
102 |
|
103 /* ************************************************************************** */ |
|
104 |
|
105 #ifndef MNG_OPTIMIZE_DISPLAYCALLS |
|
106 |
|
107 mng_retcode mng_process_display_ihdr (mng_datap pData); |
|
108 |
|
109 #ifdef MNG_INCLUDE_MPNG_PROPOSAL |
|
110 mng_retcode mng_process_display_mpng (mng_datap pData); |
|
111 #endif |
|
112 |
|
113 #ifdef MNG_INCLUDE_ANG_PROPOSAL |
|
114 mng_retcode mng_process_display_ang (mng_datap pData); |
|
115 #endif |
|
116 |
|
117 mng_retcode mng_process_display_idat (mng_datap pData, |
|
118 mng_uint32 iRawlen, |
|
119 mng_uint8p pRawdata); |
|
120 |
|
121 mng_retcode mng_process_display_iend (mng_datap pData); |
|
122 mng_retcode mng_process_display_mend (mng_datap pData); |
|
123 mng_retcode mng_process_display_mend2 (mng_datap pData); |
|
124 mng_retcode mng_process_display_defi (mng_datap pData); |
|
125 |
|
126 #ifndef MNG_SKIPCHUNK_BASI |
|
127 mng_retcode mng_process_display_basi (mng_datap pData, |
|
128 mng_uint16 iRed, |
|
129 mng_uint16 iGreen, |
|
130 mng_uint16 iBlue, |
|
131 mng_bool bHasalpha, |
|
132 mng_uint16 iAlpha, |
|
133 mng_uint8 iViewable); |
|
134 #endif |
|
135 |
|
136 #ifndef MNG_SKIPCHUNK_CLON |
|
137 mng_retcode mng_process_display_clon (mng_datap pData, |
|
138 mng_uint16 iSourceid, |
|
139 mng_uint16 iCloneid, |
|
140 mng_uint8 iClonetype, |
|
141 mng_bool bHasdonotshow, |
|
142 mng_uint8 iDonotshow, |
|
143 mng_uint8 iConcrete, |
|
144 mng_bool bHasloca, |
|
145 mng_uint8 iLocationtype, |
|
146 mng_int32 iLocationx, |
|
147 mng_int32 iLocationy); |
|
148 mng_retcode mng_process_display_clon2 (mng_datap pData); |
|
149 #endif |
|
150 |
|
151 #ifndef MNG_SKIPCHUNK_DISC |
|
152 mng_retcode mng_process_display_disc (mng_datap pData, |
|
153 mng_uint32 iCount, |
|
154 mng_uint16p pIds); |
|
155 #endif |
|
156 |
|
157 #ifndef MNG_SKIPCHUNK_FRAM |
|
158 mng_retcode mng_process_display_fram (mng_datap pData, |
|
159 mng_uint8 iFramemode, |
|
160 mng_uint8 iChangedelay, |
|
161 mng_uint32 iDelay, |
|
162 mng_uint8 iChangetimeout, |
|
163 mng_uint32 iTimeout, |
|
164 mng_uint8 iChangeclipping, |
|
165 mng_uint8 iCliptype, |
|
166 mng_int32 iClipl, |
|
167 mng_int32 iClipr, |
|
168 mng_int32 iClipt, |
|
169 mng_int32 iClipb); |
|
170 mng_retcode mng_process_display_fram2 (mng_datap pData); |
|
171 #endif |
|
172 |
|
173 #ifndef MNG_SKIPCHUNK_MOVE |
|
174 mng_retcode mng_process_display_move (mng_datap pData, |
|
175 mng_uint16 iFromid, |
|
176 mng_uint16 iToid, |
|
177 mng_uint8 iMovetype, |
|
178 mng_int32 iMovex, |
|
179 mng_int32 iMovey); |
|
180 #endif |
|
181 |
|
182 #ifndef MNG_SKIPCHUNK_CLIP |
|
183 mng_retcode mng_process_display_clip (mng_datap pData, |
|
184 mng_uint16 iFromid, |
|
185 mng_uint16 iToid, |
|
186 mng_uint8 iCliptype, |
|
187 mng_int32 iClipl, |
|
188 mng_int32 iClipr, |
|
189 mng_int32 iClipt, |
|
190 mng_int32 iClipb); |
|
191 #endif |
|
192 |
|
193 #ifndef MNG_SKIPCHUNK_SHOW |
|
194 mng_retcode mng_process_display_show (mng_datap pData); |
|
195 #endif |
|
196 #ifndef MNG_SKIPCHUNK_SAVE |
|
197 mng_retcode mng_process_display_save (mng_datap pData); |
|
198 #endif |
|
199 #ifndef MNG_SKIPCHUNK_SEEK |
|
200 mng_retcode mng_process_display_seek (mng_datap pData); |
|
201 #endif |
|
202 #ifdef MNG_INCLUDE_JNG |
|
203 mng_retcode mng_process_display_jhdr (mng_datap pData); |
|
204 |
|
205 mng_retcode mng_process_display_jdaa (mng_datap pData, |
|
206 mng_uint32 iRawlen, |
|
207 mng_uint8p pRawdata); |
|
208 |
|
209 mng_retcode mng_process_display_jdat (mng_datap pData, |
|
210 mng_uint32 iRawlen, |
|
211 mng_uint8p pRawdata); |
|
212 |
|
213 #endif |
|
214 #ifndef MNG_NO_DELTA_PNG |
|
215 mng_retcode mng_process_display_dhdr (mng_datap pData, |
|
216 mng_uint16 iObjectid, |
|
217 mng_uint8 iImagetype, |
|
218 mng_uint8 iDeltatype, |
|
219 mng_uint32 iBlockwidth, |
|
220 mng_uint32 iBlockheight, |
|
221 mng_uint32 iBlockx, |
|
222 mng_uint32 iBlocky); |
|
223 |
|
224 mng_retcode mng_process_display_prom (mng_datap pData, |
|
225 mng_uint8 iBitdepth, |
|
226 mng_uint8 iColortype, |
|
227 mng_uint8 iFilltype); |
|
228 |
|
229 mng_retcode mng_process_display_ipng (mng_datap pData); |
|
230 #ifdef MNG_INCLUDE_JNG |
|
231 mng_retcode mng_process_display_ijng (mng_datap pData); |
|
232 #endif |
|
233 |
|
234 mng_retcode mng_process_display_pplt (mng_datap pData, |
|
235 mng_uint8 iType, |
|
236 mng_uint32 iCount, |
|
237 mng_palette8ep paIndexentries, |
|
238 mng_uint8p paAlphaentries, |
|
239 mng_uint8p paUsedentries); |
|
240 #endif |
|
241 |
|
242 #ifndef MNG_SKIPCHUNK_MAGN |
|
243 mng_retcode mng_process_display_magn (mng_datap pData, |
|
244 mng_uint16 iFirstid, |
|
245 mng_uint16 iLastid, |
|
246 mng_uint8 iMethodX, |
|
247 mng_uint16 iMX, |
|
248 mng_uint16 iMY, |
|
249 mng_uint16 iML, |
|
250 mng_uint16 iMR, |
|
251 mng_uint16 iMT, |
|
252 mng_uint16 iMB, |
|
253 mng_uint8 iMethodY); |
|
254 mng_retcode mng_process_display_magn2 (mng_datap pData); |
|
255 #endif |
|
256 |
|
257 #ifndef MNG_SKIPCHUNK_PAST |
|
258 mng_retcode mng_process_display_past (mng_datap pData, |
|
259 mng_uint16 iTargetid, |
|
260 mng_uint8 iTargettype, |
|
261 mng_int32 iTargetx, |
|
262 mng_int32 iTargety, |
|
263 mng_uint32 iCount, |
|
264 mng_ptr pSources); |
|
265 mng_retcode mng_process_display_past2 (mng_datap pData); |
|
266 #endif |
|
267 |
|
268 #else /* MNG_OPTIMIZE_DISPLAYCALLS */ |
|
269 |
|
270 mng_retcode mng_process_display_ihdr (mng_datap pData); |
|
271 #ifdef MNG_INCLUDE_MPNG_PROPOSAL |
|
272 mng_retcode mng_process_display_mpng (mng_datap pData); |
|
273 #endif |
|
274 mng_retcode mng_process_display_idat (mng_datap pData); |
|
275 mng_retcode mng_process_display_iend (mng_datap pData); |
|
276 mng_retcode mng_process_display_mend (mng_datap pData); |
|
277 mng_retcode mng_process_display_mend2 (mng_datap pData); |
|
278 mng_retcode mng_process_display_defi (mng_datap pData); |
|
279 #ifndef MNG_SKIPCHUNK_BASI |
|
280 mng_retcode mng_process_display_basi (mng_datap pData); |
|
281 #endif |
|
282 #ifndef MNG_SKIPCHUNK_CLON |
|
283 mng_retcode mng_process_display_clon (mng_datap pData); |
|
284 mng_retcode mng_process_display_clon2 (mng_datap pData); |
|
285 #endif |
|
286 #ifndef MNG_SKIPCHUNK_DISC |
|
287 mng_retcode mng_process_display_disc (mng_datap pData); |
|
288 #endif |
|
289 #ifndef MNG_SKIPCHUNK_FRAM |
|
290 mng_retcode mng_process_display_fram (mng_datap pData); |
|
291 mng_retcode mng_process_display_fram2 (mng_datap pData); |
|
292 #endif |
|
293 #ifndef MNG_SKIPCHUNK_MOVE |
|
294 mng_retcode mng_process_display_move (mng_datap pData); |
|
295 #endif |
|
296 #ifndef MNG_SKIPCHUNK_CLIP |
|
297 mng_retcode mng_process_display_clip (mng_datap pData); |
|
298 #endif |
|
299 #ifndef MNG_SKIPCHUNK_SHOW |
|
300 mng_retcode mng_process_display_show (mng_datap pData); |
|
301 #endif |
|
302 #ifndef MNG_SKIPCHUNK_SAVE |
|
303 mng_retcode mng_process_display_save (mng_datap pData); |
|
304 #endif |
|
305 #ifndef MNG_SKIPCHUNK_SEEK |
|
306 mng_retcode mng_process_display_seek (mng_datap pData); |
|
307 #endif |
|
308 #ifdef MNG_INCLUDE_JNG |
|
309 mng_retcode mng_process_display_jhdr (mng_datap pData); |
|
310 mng_retcode mng_process_display_jdaa (mng_datap pData); |
|
311 mng_retcode mng_process_display_jdat (mng_datap pData); |
|
312 #endif |
|
313 #ifndef MNG_NO_DELTA_PNG |
|
314 mng_retcode mng_process_display_dhdr (mng_datap pData); |
|
315 mng_retcode mng_process_display_prom (mng_datap pData); |
|
316 mng_retcode mng_process_display_ipng (mng_datap pData); |
|
317 #ifdef MNG_INCLUDE_JNG |
|
318 mng_retcode mng_process_display_ijng (mng_datap pData); |
|
319 #endif |
|
320 mng_retcode mng_process_display_pplt (mng_datap pData); |
|
321 #endif |
|
322 #ifndef MNG_SKIPCHUNK_MAGN |
|
323 mng_retcode mng_process_display_magn (mng_datap pData); |
|
324 mng_retcode mng_process_display_magn2 (mng_datap pData); |
|
325 #endif |
|
326 #ifndef MNG_SKIPCHUNK_PAST |
|
327 mng_retcode mng_process_display_past (mng_datap pData); |
|
328 mng_retcode mng_process_display_past2 (mng_datap pData); |
|
329 #endif |
|
330 |
|
331 #endif /* MNG_OPTIMIZE_DISPLAYCALLS */ |
|
332 |
|
333 /* ************************************************************************** */ |
|
334 |
|
335 #endif /* MNG_INCLUDE_DISPLAY_PROCS */ |
|
336 |
|
337 /* ************************************************************************** */ |
|
338 |
|
339 #endif /* _libmng_display_h_ */ |
|
340 |
|
341 /* ************************************************************************** */ |
|
342 /* * end of file * */ |
|
343 /* ************************************************************************** */ |