1
/* ************************************************************************** */
2
/* * For conditions of distribution and use, * */
3
/* * see copyright notice in libmng.h * */
4
/* ************************************************************************** */
6
/* * project : libmng * */
7
/* * file : libmng_display.h copyright (c) 2000-2007 G.Juyn * */
8
/* * version : 1.0.10 * */
10
/* * purpose : Display management (definition) * */
12
/* * author : G.Juyn * */
14
/* * comment : Definition of the display managament routines * */
16
/* * changes : 0.5.1 - 05/08/2000 - G.Juyn * */
17
/* * - changed strict-ANSI stuff * */
19
/* * 0.5.2 - 05/20/2000 - G.Juyn * */
20
/* * - added JNG support stuff * */
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 * */
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 * */
37
/* * 0.9.4 - 11/24/2000 - G.Juyn * */
38
/* * - moved restore of object 0 to libmng_display * */
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 * */
51
/* * 1.0.7 - 03/24/2004 - G.R-P. * */
52
/* * - added some SKIPCHUNK conditionals * */
54
/* * 1.0.9 - 12/11/2004 - G.Juyn * */
55
/* * - added conditional MNG_OPTIMIZE_DISPLAYCALLS * */
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 * */
62
/* ************************************************************************** */
64
#if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
65
#pragma option -A /* force ANSI-C */
68
#ifndef _libmng_display_h_
69
#define _libmng_display_h_
71
/* ************************************************************************** */
73
#ifdef MNG_INCLUDE_DISPLAY_PROCS
75
/* ************************************************************************** */
77
mng_retcode mng_display_progressive_refresh (mng_datap pData,
78
mng_uint32 iInterval);
80
/* ************************************************************************** */
82
mng_retcode mng_reset_objzero (mng_datap pData);
84
mng_retcode mng_display_image (mng_datap pData,
86
mng_bool bLayeradvanced);
88
mng_retcode mng_execute_delta_image (mng_datap pData,
92
/* ************************************************************************** */
94
mng_retcode mng_process_display (mng_datap pData);
96
/* ************************************************************************** */
98
#ifdef MNG_OPTIMIZE_FOOTPRINT_INIT
99
png_imgtype mng_png_imgtype (mng_uint8 colortype,
103
/* ************************************************************************** */
105
#ifndef MNG_OPTIMIZE_DISPLAYCALLS
107
mng_retcode mng_process_display_ihdr (mng_datap pData);
109
#ifdef MNG_INCLUDE_MPNG_PROPOSAL
110
mng_retcode mng_process_display_mpng (mng_datap pData);
113
#ifdef MNG_INCLUDE_ANG_PROPOSAL
114
mng_retcode mng_process_display_ang (mng_datap pData);
117
mng_retcode mng_process_display_idat (mng_datap pData,
119
mng_uint8p pRawdata);
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);
126
#ifndef MNG_SKIPCHUNK_BASI
127
mng_retcode mng_process_display_basi (mng_datap pData,
133
mng_uint8 iViewable);
136
#ifndef MNG_SKIPCHUNK_CLON
137
mng_retcode mng_process_display_clon (mng_datap pData,
138
mng_uint16 iSourceid,
140
mng_uint8 iClonetype,
141
mng_bool bHasdonotshow,
142
mng_uint8 iDonotshow,
145
mng_uint8 iLocationtype,
146
mng_int32 iLocationx,
147
mng_int32 iLocationy);
148
mng_retcode mng_process_display_clon2 (mng_datap pData);
151
#ifndef MNG_SKIPCHUNK_DISC
152
mng_retcode mng_process_display_disc (mng_datap pData,
157
#ifndef MNG_SKIPCHUNK_FRAM
158
mng_retcode mng_process_display_fram (mng_datap pData,
159
mng_uint8 iFramemode,
160
mng_uint8 iChangedelay,
162
mng_uint8 iChangetimeout,
164
mng_uint8 iChangeclipping,
170
mng_retcode mng_process_display_fram2 (mng_datap pData);
173
#ifndef MNG_SKIPCHUNK_MOVE
174
mng_retcode mng_process_display_move (mng_datap pData,
182
#ifndef MNG_SKIPCHUNK_CLIP
183
mng_retcode mng_process_display_clip (mng_datap pData,
193
#ifndef MNG_SKIPCHUNK_SHOW
194
mng_retcode mng_process_display_show (mng_datap pData);
196
#ifndef MNG_SKIPCHUNK_SAVE
197
mng_retcode mng_process_display_save (mng_datap pData);
199
#ifndef MNG_SKIPCHUNK_SEEK
200
mng_retcode mng_process_display_seek (mng_datap pData);
202
#ifdef MNG_INCLUDE_JNG
203
mng_retcode mng_process_display_jhdr (mng_datap pData);
205
mng_retcode mng_process_display_jdaa (mng_datap pData,
207
mng_uint8p pRawdata);
209
mng_retcode mng_process_display_jdat (mng_datap pData,
211
mng_uint8p pRawdata);
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,
224
mng_retcode mng_process_display_prom (mng_datap pData,
226
mng_uint8 iColortype,
227
mng_uint8 iFilltype);
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);
234
mng_retcode mng_process_display_pplt (mng_datap pData,
237
mng_palette8ep paIndexentries,
238
mng_uint8p paAlphaentries,
239
mng_uint8p paUsedentries);
242
#ifndef MNG_SKIPCHUNK_MAGN
243
mng_retcode mng_process_display_magn (mng_datap pData,
254
mng_retcode mng_process_display_magn2 (mng_datap pData);
257
#ifndef MNG_SKIPCHUNK_PAST
258
mng_retcode mng_process_display_past (mng_datap pData,
259
mng_uint16 iTargetid,
260
mng_uint8 iTargettype,
265
mng_retcode mng_process_display_past2 (mng_datap pData);
268
#else /* MNG_OPTIMIZE_DISPLAYCALLS */
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);
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);
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);
286
#ifndef MNG_SKIPCHUNK_DISC
287
mng_retcode mng_process_display_disc (mng_datap pData);
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);
293
#ifndef MNG_SKIPCHUNK_MOVE
294
mng_retcode mng_process_display_move (mng_datap pData);
296
#ifndef MNG_SKIPCHUNK_CLIP
297
mng_retcode mng_process_display_clip (mng_datap pData);
299
#ifndef MNG_SKIPCHUNK_SHOW
300
mng_retcode mng_process_display_show (mng_datap pData);
302
#ifndef MNG_SKIPCHUNK_SAVE
303
mng_retcode mng_process_display_save (mng_datap pData);
305
#ifndef MNG_SKIPCHUNK_SEEK
306
mng_retcode mng_process_display_seek (mng_datap pData);
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);
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);
320
mng_retcode mng_process_display_pplt (mng_datap pData);
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);
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);
331
#endif /* MNG_OPTIMIZE_DISPLAYCALLS */
333
/* ************************************************************************** */
335
#endif /* MNG_INCLUDE_DISPLAY_PROCS */
337
/* ************************************************************************** */
339
#endif /* _libmng_display_h_ */
341
/* ************************************************************************** */
342
/* * end of file * */
343
/* ************************************************************************** */
1
/* ************************************************************************** */
2
/* * For conditions of distribution and use, * */
3
/* * see copyright notice in libmng.h * */
4
/* ************************************************************************** */
6
/* * project : libmng * */
7
/* * file : libmng_display.h copyright (c) 2000-2007 G.Juyn * */
8
/* * version : 1.0.10 * */
10
/* * purpose : Display management (definition) * */
12
/* * author : G.Juyn * */
14
/* * comment : Definition of the display managament routines * */
16
/* * changes : 0.5.1 - 05/08/2000 - G.Juyn * */
17
/* * - changed strict-ANSI stuff * */
19
/* * 0.5.2 - 05/20/2000 - G.Juyn * */
20
/* * - added JNG support stuff * */
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 * */
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 * */
37
/* * 0.9.4 - 11/24/2000 - G.Juyn * */
38
/* * - moved restore of object 0 to libmng_display * */
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 * */
51
/* * 1.0.7 - 03/24/2004 - G.R-P. * */
52
/* * - added some SKIPCHUNK conditionals * */
54
/* * 1.0.9 - 12/11/2004 - G.Juyn * */
55
/* * - added conditional MNG_OPTIMIZE_DISPLAYCALLS * */
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 * */
62
/* ************************************************************************** */
64
#if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
65
#pragma option -A /* force ANSI-C */
68
#ifndef _libmng_display_h_
69
#define _libmng_display_h_
71
/* ************************************************************************** */
73
#ifdef MNG_INCLUDE_DISPLAY_PROCS
75
/* ************************************************************************** */
77
mng_retcode mng_display_progressive_refresh (mng_datap pData,
78
mng_uint32 iInterval);
80
/* ************************************************************************** */
82
mng_retcode mng_reset_objzero (mng_datap pData);
84
mng_retcode mng_display_image (mng_datap pData,
86
mng_bool bLayeradvanced);
88
mng_retcode mng_execute_delta_image (mng_datap pData,
92
/* ************************************************************************** */
94
mng_retcode mng_process_display (mng_datap pData);
96
/* ************************************************************************** */
98
#ifdef MNG_OPTIMIZE_FOOTPRINT_INIT
99
png_imgtype mng_png_imgtype (mng_uint8 colortype,
103
/* ************************************************************************** */
105
#ifndef MNG_OPTIMIZE_DISPLAYCALLS
107
mng_retcode mng_process_display_ihdr (mng_datap pData);
109
#ifdef MNG_INCLUDE_MPNG_PROPOSAL
110
mng_retcode mng_process_display_mpng (mng_datap pData);
113
#ifdef MNG_INCLUDE_ANG_PROPOSAL
114
mng_retcode mng_process_display_ang (mng_datap pData);
117
mng_retcode mng_process_display_idat (mng_datap pData,
119
mng_uint8p pRawdata);
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);
126
#ifndef MNG_SKIPCHUNK_BASI
127
mng_retcode mng_process_display_basi (mng_datap pData,
133
mng_uint8 iViewable);
136
#ifndef MNG_SKIPCHUNK_CLON
137
mng_retcode mng_process_display_clon (mng_datap pData,
138
mng_uint16 iSourceid,
140
mng_uint8 iClonetype,
141
mng_bool bHasdonotshow,
142
mng_uint8 iDonotshow,
145
mng_uint8 iLocationtype,
146
mng_int32 iLocationx,
147
mng_int32 iLocationy);
148
mng_retcode mng_process_display_clon2 (mng_datap pData);
151
#ifndef MNG_SKIPCHUNK_DISC
152
mng_retcode mng_process_display_disc (mng_datap pData,
157
#ifndef MNG_SKIPCHUNK_FRAM
158
mng_retcode mng_process_display_fram (mng_datap pData,
159
mng_uint8 iFramemode,
160
mng_uint8 iChangedelay,
162
mng_uint8 iChangetimeout,
164
mng_uint8 iChangeclipping,
170
mng_retcode mng_process_display_fram2 (mng_datap pData);
173
#ifndef MNG_SKIPCHUNK_MOVE
174
mng_retcode mng_process_display_move (mng_datap pData,
182
#ifndef MNG_SKIPCHUNK_CLIP
183
mng_retcode mng_process_display_clip (mng_datap pData,
193
#ifndef MNG_SKIPCHUNK_SHOW
194
mng_retcode mng_process_display_show (mng_datap pData);
196
#ifndef MNG_SKIPCHUNK_SAVE
197
mng_retcode mng_process_display_save (mng_datap pData);
199
#ifndef MNG_SKIPCHUNK_SEEK
200
mng_retcode mng_process_display_seek (mng_datap pData);
202
#ifdef MNG_INCLUDE_JNG
203
mng_retcode mng_process_display_jhdr (mng_datap pData);
205
mng_retcode mng_process_display_jdaa (mng_datap pData,
207
mng_uint8p pRawdata);
209
mng_retcode mng_process_display_jdat (mng_datap pData,
211
mng_uint8p pRawdata);
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,
224
mng_retcode mng_process_display_prom (mng_datap pData,
226
mng_uint8 iColortype,
227
mng_uint8 iFilltype);
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);
234
mng_retcode mng_process_display_pplt (mng_datap pData,
237
mng_palette8ep paIndexentries,
238
mng_uint8p paAlphaentries,
239
mng_uint8p paUsedentries);
242
#ifndef MNG_SKIPCHUNK_MAGN
243
mng_retcode mng_process_display_magn (mng_datap pData,
254
mng_retcode mng_process_display_magn2 (mng_datap pData);
257
#ifndef MNG_SKIPCHUNK_PAST
258
mng_retcode mng_process_display_past (mng_datap pData,
259
mng_uint16 iTargetid,
260
mng_uint8 iTargettype,
265
mng_retcode mng_process_display_past2 (mng_datap pData);
268
#else /* MNG_OPTIMIZE_DISPLAYCALLS */
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);
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);
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);
286
#ifndef MNG_SKIPCHUNK_DISC
287
mng_retcode mng_process_display_disc (mng_datap pData);
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);
293
#ifndef MNG_SKIPCHUNK_MOVE
294
mng_retcode mng_process_display_move (mng_datap pData);
296
#ifndef MNG_SKIPCHUNK_CLIP
297
mng_retcode mng_process_display_clip (mng_datap pData);
299
#ifndef MNG_SKIPCHUNK_SHOW
300
mng_retcode mng_process_display_show (mng_datap pData);
302
#ifndef MNG_SKIPCHUNK_SAVE
303
mng_retcode mng_process_display_save (mng_datap pData);
305
#ifndef MNG_SKIPCHUNK_SEEK
306
mng_retcode mng_process_display_seek (mng_datap pData);
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);
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);
320
mng_retcode mng_process_display_pplt (mng_datap pData);
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);
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);
331
#endif /* MNG_OPTIMIZE_DISPLAYCALLS */
333
/* ************************************************************************** */
335
#endif /* MNG_INCLUDE_DISPLAY_PROCS */
337
/* ************************************************************************** */
339
#endif /* _libmng_display_h_ */
341
/* ************************************************************************** */
342
/* * end of file * */
343
/* ************************************************************************** */