1 /* ************************************************************************** */
2 /* * For conditions of distribution and use, * */
3 /* * see copyright notice in libmng.h * */
4 /* ************************************************************************** */
5 /* * * */
6 /* * project : libmng * */
7 /* * file : libmng_callback_xs.c copyright (c) 2000-2004 G.Juyn * */
8 /* * version : 1.0.9 * */
9 /* * * */
10 /* * purpose : callback get/set interface (implementation) * */
11 /* * * */
12 /* * author : G.Juyn * */
13 /* * * */
14 /* * comment : implementation of the callback get/set functions * */
15 /* * * */
16 /* * changes : 0.5.1 - 05/08/2000 - G.Juyn * */
17 /* * - fixed calling convention * */
18 /* * - changed strict-ANSI stuff * */
19 /* * 0.5.1 - 05/12/2000 - G.Juyn * */
20 /* * - changed trace to macro for callback error-reporting * */
21 /* * * */
22 /* * 0.5.2 - 05/31/2000 - G.Juyn * */
23 /* * - fixed up punctuation (contribution by Tim Rowley) * */
24 /* * 0.5.2 - 06/02/2000 - G.Juyn * */
25 /* * - added getalphaline callback for RGB8_A8 canvasstyle * */
26 /* * * */
27 /* * 0.9.1 - 07/15/2000 - G.Juyn * */
28 /* * - added callbacks for SAVE/SEEK processing * */
29 /* * * */
30 /* * 0.9.2 - 08/05/2000 - G.Juyn * */
31 /* * - changed file-prefixes * */
32 /* * * */
33 /* * 0.9.3 - 10/11/2000 - G.Juyn * */
34 /* * - added support for nEED * */
35 /* * 0.9.3 - 10/17/2000 - G.Juyn * */
36 /* * - added callback to process non-critical unknown chunks * */
37 /* * * */
38 /* * 1.0.1 - 02/08/2001 - G.Juyn * */
39 /* * - added MEND processing callback * */
40 /* * * */
41 /* * 1.0.2 - 06/23/2001 - G.Juyn * */
42 /* * - added processterm callback * */
43 /* * * */
44 /* * 1.0.6 - 07/07/2003 - G. R-P * */
45 /* * - added SKIPCHUNK feature * */
46 /* * * */
47 /* * 1.0.7 - 03/10/2004 - G.R-P * */
48 /* * - added conditionals around openstream/closestream * */
49 /* * 1.0.7 - 03/19/2004 - G.R-P * */
50 /* * - fixed typo (MNG_SKIPCHUNK_SAVE -> MNG_SKIPCHUNK_nEED * */
51 /* * * */
52 /* * 1.0.8 - 04/10/2004 - G.Juyn * */
53 /* * - added data-push mechanisms for specialized decoders * */
54 /* * * */
55 /* * 1.0.9 - 09/18/2004 - G.R-P. * */
56 /* * - added two SKIPCHUNK_TERM conditionals * */
57 /* * 1.0.9 - 12/20/2004 - G.Juyn * */
58 /* * - cleaned up macro-invocations (thanks to D. Airlie) * */
59 /* * * */
60 /* ************************************************************************** */
61
62 #include "libmng.h"
63 #include "libmng_data.h"
64 #include "libmng_error.h"
65 #include "libmng_trace.h"
66 #ifdef __BORLANDC__
67 #pragma hdrstop
68 #endif
69
70 #if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
71 #pragma option -A /* force ANSI-C */
72 #endif
73
74 /* ************************************************************************** */
75 /* * * */
76 /* * Callback set functions * */
77 /* * * */
78 /* ************************************************************************** */
79
80 #ifndef MNG_INTERNAL_MEMMNGMT
mng_setcb_memalloc(mng_handle hHandle,mng_memalloc fProc)81 mng_retcode MNG_DECL mng_setcb_memalloc (mng_handle hHandle,
82 mng_memalloc fProc)
83 {
84 #ifdef MNG_SUPPORT_TRACE
85 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_MEMALLOC, MNG_LC_START);
86 #endif
87
88 MNG_VALIDHANDLE (hHandle)
89 ((mng_datap)hHandle)->fMemalloc = fProc;
90
91 #ifdef MNG_SUPPORT_TRACE
92 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_MEMALLOC, MNG_LC_END);
93 #endif
94
95 return MNG_NOERROR;
96 }
97 #endif /* MNG_INTERNAL_MEMMNGMT */
98
99 /* ************************************************************************** */
100
101 #ifndef MNG_INTERNAL_MEMMNGMT
mng_setcb_memfree(mng_handle hHandle,mng_memfree fProc)102 mng_retcode MNG_DECL mng_setcb_memfree (mng_handle hHandle,
103 mng_memfree fProc)
104 {
105 #ifdef MNG_SUPPORT_TRACE
106 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_MEMFREE, MNG_LC_START);
107 #endif
108
109 MNG_VALIDHANDLE (hHandle)
110 ((mng_datap)hHandle)->fMemfree = fProc;
111
112 #ifdef MNG_SUPPORT_TRACE
113 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_MEMFREE, MNG_LC_END);
114 #endif
115
116 return MNG_NOERROR;
117 }
118 #endif /* MNG_INTERNAL_MEMMNGMT */
119
120 /* ************************************************************************** */
121
122 #ifdef MNG_SUPPORT_READ
mng_setcb_releasedata(mng_handle hHandle,mng_releasedata fProc)123 mng_retcode MNG_DECL mng_setcb_releasedata (mng_handle hHandle,
124 mng_releasedata fProc)
125 {
126 #ifdef MNG_SUPPORT_TRACE
127 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_RELEASEDATA, MNG_LC_START);
128 #endif
129
130 MNG_VALIDHANDLE (hHandle)
131 ((mng_datap)hHandle)->fReleasedata = fProc;
132
133 #ifdef MNG_SUPPORT_TRACE
134 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_RELEASEDATA, MNG_LC_END);
135 #endif
136
137 return MNG_NOERROR;
138 }
139 #endif /* MNG_SUPPORT_READ */
140
141 /* ************************************************************************** */
142
143 #if defined(MNG_SUPPORT_READ) || defined(MNG_SUPPORT_WRITE)
144 #ifndef MNG_NO_OPEN_CLOSE_STREAM
mng_setcb_openstream(mng_handle hHandle,mng_openstream fProc)145 mng_retcode MNG_DECL mng_setcb_openstream (mng_handle hHandle,
146 mng_openstream fProc)
147 {
148 #ifdef MNG_SUPPORT_TRACE
149 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_OPENSTREAM, MNG_LC_START);
150 #endif
151
152 MNG_VALIDHANDLE (hHandle)
153 ((mng_datap)hHandle)->fOpenstream = fProc;
154
155 #ifdef MNG_SUPPORT_TRACE
156 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_OPENSTREAM, MNG_LC_END);
157 #endif
158
159 return MNG_NOERROR;
160 }
161 #endif
162 #endif /* MNG_SUPPORT_READ || MNG_SUPPORT_WRITE */
163
164 /* ************************************************************************** */
165
166 #if defined(MNG_SUPPORT_READ) || defined(MNG_SUPPORT_WRITE)
167 #ifndef MNG_NO_OPEN_CLOSE_STREAM
mng_setcb_closestream(mng_handle hHandle,mng_closestream fProc)168 mng_retcode MNG_DECL mng_setcb_closestream (mng_handle hHandle,
169 mng_closestream fProc)
170 {
171 #ifdef MNG_SUPPORT_TRACE
172 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_CLOSESTREAM, MNG_LC_START);
173 #endif
174
175 MNG_VALIDHANDLE (hHandle)
176 ((mng_datap)hHandle)->fClosestream = fProc;
177
178 #ifdef MNG_SUPPORT_TRACE
179 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_CLOSESTREAM, MNG_LC_END);
180 #endif
181
182 return MNG_NOERROR;
183 }
184 #endif
185 #endif /* MNG_SUPPORT_READ || MNG_SUPPORT_WRITE */
186
187 /* ************************************************************************** */
188
189 #ifdef MNG_SUPPORT_READ
mng_setcb_readdata(mng_handle hHandle,mng_readdata fProc)190 mng_retcode MNG_DECL mng_setcb_readdata (mng_handle hHandle,
191 mng_readdata fProc)
192 {
193 #ifdef MNG_SUPPORT_TRACE
194 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_READDATA, MNG_LC_START);
195 #endif
196
197 MNG_VALIDHANDLE (hHandle)
198 ((mng_datap)hHandle)->fReaddata = fProc;
199
200 #ifdef MNG_SUPPORT_TRACE
201 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_READDATA, MNG_LC_END);
202 #endif
203
204 return MNG_NOERROR;
205 }
206 #endif /* MNG_SUPPORT_READ */
207
208 /* ************************************************************************** */
209
210 #ifdef MNG_SUPPORT_WRITE
mng_setcb_writedata(mng_handle hHandle,mng_writedata fProc)211 mng_retcode MNG_DECL mng_setcb_writedata (mng_handle hHandle,
212 mng_writedata fProc)
213 {
214 #ifdef MNG_SUPPORT_TRACE
215 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_WRITEDATA, MNG_LC_START);
216 #endif
217
218 MNG_VALIDHANDLE (hHandle)
219 ((mng_datap)hHandle)->fWritedata = fProc;
220
221 #ifdef MNG_SUPPORT_TRACE
222 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_WRITEDATA, MNG_LC_END);
223 #endif
224
225 return MNG_NOERROR;
226 }
227 #endif /* MNG_SUPPORT_WRITE */
228
229 /* ************************************************************************** */
230
mng_setcb_errorproc(mng_handle hHandle,mng_errorproc fProc)231 mng_retcode MNG_DECL mng_setcb_errorproc (mng_handle hHandle,
232 mng_errorproc fProc)
233 {
234 #ifdef MNG_SUPPORT_TRACE
235 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_ERRORPROC, MNG_LC_START);
236 #endif
237
238 MNG_VALIDHANDLE (hHandle)
239 ((mng_datap)hHandle)->fErrorproc = fProc;
240
241 #ifdef MNG_SUPPORT_TRACE
242 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_ERRORPROC, MNG_LC_END);
243 #endif
244
245 return MNG_NOERROR;
246 }
247
248 /* ************************************************************************** */
249
250 #ifdef MNG_SUPPORT_TRACE
mng_setcb_traceproc(mng_handle hHandle,mng_traceproc fProc)251 mng_retcode MNG_DECL mng_setcb_traceproc (mng_handle hHandle,
252 mng_traceproc fProc)
253 {
254 #ifdef MNG_SUPPORT_TRACE
255 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_TRACEPROC, MNG_LC_START);
256 #endif
257
258 MNG_VALIDHANDLE (hHandle)
259 ((mng_datap)hHandle)->fTraceproc = fProc;
260
261 #ifdef MNG_SUPPORT_TRACE
262 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_TRACEPROC, MNG_LC_END);
263 #endif
264
265 return MNG_NOERROR;
266 }
267 #endif /* MNG_SUPPORT_TRACE */
268
269 /* ************************************************************************** */
270
271 #ifdef MNG_SUPPORT_READ
mng_setcb_processheader(mng_handle hHandle,mng_processheader fProc)272 mng_retcode MNG_DECL mng_setcb_processheader (mng_handle hHandle,
273 mng_processheader fProc)
274 {
275 #ifdef MNG_SUPPORT_TRACE
276 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSHEADER, MNG_LC_START);
277 #endif
278
279 MNG_VALIDHANDLE (hHandle)
280 ((mng_datap)hHandle)->fProcessheader = fProc;
281
282 #ifdef MNG_SUPPORT_TRACE
283 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSHEADER, MNG_LC_END);
284 #endif
285
286 return MNG_NOERROR;
287 }
288 #endif /* MNG_SUPPORT_READ */
289
290 /* ************************************************************************** */
291
292 #ifdef MNG_SUPPORT_READ
293 #ifndef MNG_SKIPCHUNK_tEXt
mng_setcb_processtext(mng_handle hHandle,mng_processtext fProc)294 mng_retcode MNG_DECL mng_setcb_processtext (mng_handle hHandle,
295 mng_processtext fProc)
296 {
297 #ifdef MNG_SUPPORT_TRACE
298 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSTEXT, MNG_LC_START);
299 #endif
300
301 MNG_VALIDHANDLE (hHandle)
302 ((mng_datap)hHandle)->fProcesstext = fProc;
303
304 #ifdef MNG_SUPPORT_TRACE
305 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSTEXT, MNG_LC_END);
306 #endif
307
308 return MNG_NOERROR;
309 }
310 #endif
311 #endif /* MNG_SUPPORT_READ */
312
313 /* ************************************************************************** */
314
315 #ifdef MNG_SUPPORT_READ
316 #ifndef MNG_SKIPCHUNK_SAVE
mng_setcb_processsave(mng_handle hHandle,mng_processsave fProc)317 mng_retcode MNG_DECL mng_setcb_processsave (mng_handle hHandle,
318 mng_processsave fProc)
319 {
320 #ifdef MNG_SUPPORT_TRACE
321 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSSAVE, MNG_LC_START);
322 #endif
323
324 MNG_VALIDHANDLE (hHandle)
325 ((mng_datap)hHandle)->fProcesssave = fProc;
326
327 #ifdef MNG_SUPPORT_TRACE
328 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSSAVE, MNG_LC_END);
329 #endif
330
331 return MNG_NOERROR;
332 }
333 #endif
334 #endif /* MNG_SUPPORT_READ */
335
336 /* ************************************************************************** */
337
338 #ifdef MNG_SUPPORT_READ
339 #ifndef MNG_SKIPCHUNK_SEEK
mng_setcb_processseek(mng_handle hHandle,mng_processseek fProc)340 mng_retcode MNG_DECL mng_setcb_processseek (mng_handle hHandle,
341 mng_processseek fProc)
342 {
343 #ifdef MNG_SUPPORT_TRACE
344 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSSEEK, MNG_LC_START);
345 #endif
346
347 MNG_VALIDHANDLE (hHandle)
348 ((mng_datap)hHandle)->fProcessseek = fProc;
349
350 #ifdef MNG_SUPPORT_TRACE
351 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSSEEK, MNG_LC_END);
352 #endif
353
354 return MNG_NOERROR;
355 }
356 #endif
357 #endif /* MNG_SUPPORT_READ */
358
359 /* ************************************************************************** */
360
361 #ifdef MNG_SUPPORT_READ
362 #ifndef MNG_SKIPCHUNK_nEED
mng_setcb_processneed(mng_handle hHandle,mng_processneed fProc)363 mng_retcode MNG_DECL mng_setcb_processneed (mng_handle hHandle,
364 mng_processneed fProc)
365 {
366 #ifdef MNG_SUPPORT_TRACE
367 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSNEED, MNG_LC_START);
368 #endif
369
370 MNG_VALIDHANDLE (hHandle)
371 ((mng_datap)hHandle)->fProcessneed = fProc;
372
373 #ifdef MNG_SUPPORT_TRACE
374 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSNEED, MNG_LC_END);
375 #endif
376
377 return MNG_NOERROR;
378 }
379 #endif
380 #endif /* MNG_SUPPORT_READ */
381
382 /* ************************************************************************** */
383
384 #ifdef MNG_SUPPORT_READ
mng_setcb_processmend(mng_handle hHandle,mng_processmend fProc)385 mng_retcode MNG_DECL mng_setcb_processmend (mng_handle hHandle,
386 mng_processmend fProc)
387 {
388 #ifdef MNG_SUPPORT_TRACE
389 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSMEND, MNG_LC_START);
390 #endif
391
392 MNG_VALIDHANDLE (hHandle)
393 ((mng_datap)hHandle)->fProcessmend = fProc;
394
395 #ifdef MNG_SUPPORT_TRACE
396 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSMEND, MNG_LC_END);
397 #endif
398
399 return MNG_NOERROR;
400 }
401 #endif /* MNG_SUPPORT_READ */
402
403 /* ************************************************************************** */
404
405 #ifdef MNG_SUPPORT_READ
mng_setcb_processunknown(mng_handle hHandle,mng_processunknown fProc)406 mng_retcode MNG_DECL mng_setcb_processunknown (mng_handle hHandle,
407 mng_processunknown fProc)
408 {
409 #ifdef MNG_SUPPORT_TRACE
410 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSUNKNOWN, MNG_LC_START);
411 #endif
412
413 MNG_VALIDHANDLE (hHandle)
414 ((mng_datap)hHandle)->fProcessunknown = fProc;
415
416 #ifdef MNG_SUPPORT_TRACE
417 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSUNKNOWN, MNG_LC_END);
418 #endif
419
420 return MNG_NOERROR;
421 }
422 #endif /* MNG_SUPPORT_READ */
423
424 /* ************************************************************************** */
425
426 #ifdef MNG_SUPPORT_READ
427 #ifndef MNG_SKIPCHUNK_TERM
mng_setcb_processterm(mng_handle hHandle,mng_processterm fProc)428 mng_retcode MNG_DECL mng_setcb_processterm (mng_handle hHandle,
429 mng_processterm fProc)
430 {
431 #ifdef MNG_SUPPORT_TRACE
432 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSTERM, MNG_LC_START);
433 #endif
434
435 MNG_VALIDHANDLE (hHandle)
436 ((mng_datap)hHandle)->fProcessterm = fProc;
437
438 #ifdef MNG_SUPPORT_TRACE
439 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSTERM, MNG_LC_END);
440 #endif
441
442 return MNG_NOERROR;
443 }
444 #endif
445 #endif /* MNG_SUPPORT_READ */
446
447 /* ************************************************************************** */
448
449 #ifdef MNG_SUPPORT_DISPLAY
mng_setcb_getcanvasline(mng_handle hHandle,mng_getcanvasline fProc)450 mng_retcode MNG_DECL mng_setcb_getcanvasline (mng_handle hHandle,
451 mng_getcanvasline fProc)
452 {
453 #ifdef MNG_SUPPORT_TRACE
454 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_GETCANVASLINE, MNG_LC_START);
455 #endif
456
457 MNG_VALIDHANDLE (hHandle)
458 ((mng_datap)hHandle)->fGetcanvasline = fProc;
459
460 #ifdef MNG_SUPPORT_TRACE
461 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_GETCANVASLINE, MNG_LC_END);
462 #endif
463
464 return MNG_NOERROR;
465 }
466 #endif /* MNG_SUPPORT_DISPLAY */
467
468 /* ************************************************************************** */
469
470 #ifdef MNG_SUPPORT_DISPLAY
mng_setcb_getbkgdline(mng_handle hHandle,mng_getbkgdline fProc)471 mng_retcode MNG_DECL mng_setcb_getbkgdline (mng_handle hHandle,
472 mng_getbkgdline fProc)
473 {
474 #ifdef MNG_SUPPORT_TRACE
475 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_GETBKGDLINE, MNG_LC_START);
476 #endif
477
478 MNG_VALIDHANDLE (hHandle)
479 ((mng_datap)hHandle)->fGetbkgdline = fProc;
480
481 #ifdef MNG_SUPPORT_TRACE
482 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_GETBKGDLINE, MNG_LC_END);
483 #endif
484
485 return MNG_NOERROR;
486 }
487 #endif /* MNG_SUPPORT_DISPLAY */
488
489 /* ************************************************************************** */
490
491 #ifdef MNG_SUPPORT_DISPLAY
mng_setcb_getalphaline(mng_handle hHandle,mng_getalphaline fProc)492 mng_retcode MNG_DECL mng_setcb_getalphaline (mng_handle hHandle,
493 mng_getalphaline fProc)
494 {
495 #ifdef MNG_SUPPORT_TRACE
496 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_GETALPHALINE, MNG_LC_START);
497 #endif
498
499 MNG_VALIDHANDLE (hHandle)
500 ((mng_datap)hHandle)->fGetalphaline = fProc;
501
502 #ifdef MNG_SUPPORT_TRACE
503 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_GETALPHALINE, MNG_LC_END);
504 #endif
505
506 return MNG_NOERROR;
507 }
508 #endif /* MNG_SUPPORT_DISPLAY */
509
510 /* ************************************************************************** */
511
512 #ifdef MNG_SUPPORT_DISPLAY
mng_setcb_refresh(mng_handle hHandle,mng_refresh fProc)513 mng_retcode MNG_DECL mng_setcb_refresh (mng_handle hHandle,
514 mng_refresh fProc)
515 {
516 #ifdef MNG_SUPPORT_TRACE
517 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_REFRESH, MNG_LC_START);
518 #endif
519
520 MNG_VALIDHANDLE (hHandle)
521 ((mng_datap)hHandle)->fRefresh = fProc;
522
523 #ifdef MNG_SUPPORT_TRACE
524 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_REFRESH, MNG_LC_END);
525 #endif
526
527 return MNG_NOERROR;
528 }
529 #endif /* MNG_SUPPORT_DISPLAY */
530
531 /* ************************************************************************** */
532
533 #ifdef MNG_SUPPORT_DISPLAY
mng_setcb_gettickcount(mng_handle hHandle,mng_gettickcount fProc)534 mng_retcode MNG_DECL mng_setcb_gettickcount (mng_handle hHandle,
535 mng_gettickcount fProc)
536 {
537 #ifdef MNG_SUPPORT_TRACE
538 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_GETTICKCOUNT, MNG_LC_START);
539 #endif
540
541 MNG_VALIDHANDLE (hHandle)
542 ((mng_datap)hHandle)->fGettickcount = fProc;
543
544 #ifdef MNG_SUPPORT_TRACE
545 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_GETTICKCOUNT, MNG_LC_END);
546 #endif
547
548 return MNG_NOERROR;
549 }
550 #endif /* MNG_SUPPORT_DISPLAY */
551
552 /* ************************************************************************** */
553
554 #ifdef MNG_SUPPORT_DISPLAY
mng_setcb_settimer(mng_handle hHandle,mng_settimer fProc)555 mng_retcode MNG_DECL mng_setcb_settimer (mng_handle hHandle,
556 mng_settimer fProc)
557 {
558 #ifdef MNG_SUPPORT_TRACE
559 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_SETTIMER, MNG_LC_START);
560 #endif
561
562 MNG_VALIDHANDLE (hHandle)
563 ((mng_datap)hHandle)->fSettimer = fProc;
564
565 #ifdef MNG_SUPPORT_TRACE
566 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_SETTIMER, MNG_LC_END);
567 #endif
568
569 return MNG_NOERROR;
570 }
571 #endif /* MNG_SUPPORT_DISPLAY */
572
573 /* ************************************************************************** */
574
575 #if defined(MNG_SUPPORT_DISPLAY) && defined(MNG_APP_CMS)
mng_setcb_processgamma(mng_handle hHandle,mng_processgamma fProc)576 mng_retcode MNG_DECL mng_setcb_processgamma (mng_handle hHandle,
577 mng_processgamma fProc)
578 {
579 #ifdef MNG_SUPPORT_TRACE
580 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSGAMA, MNG_LC_START);
581 #endif
582
583 MNG_VALIDHANDLE (hHandle)
584 ((mng_datap)hHandle)->fProcessgamma = fProc;
585
586 #ifdef MNG_SUPPORT_TRACE
587 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSGAMA, MNG_LC_END);
588 #endif
589
590 return MNG_NOERROR;
591 }
592 #endif /* MNG_SUPPORT_DISPLAY && MNG_APP_CMS */
593
594 /* ************************************************************************** */
595
596 #if defined(MNG_SUPPORT_DISPLAY) && defined(MNG_APP_CMS)
597 #ifndef MNG_SKIPCHUNK_cHRM
mng_setcb_processchroma(mng_handle hHandle,mng_processchroma fProc)598 mng_retcode MNG_DECL mng_setcb_processchroma (mng_handle hHandle,
599 mng_processchroma fProc)
600 {
601 #ifdef MNG_SUPPORT_TRACE
602 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSCHROMA, MNG_LC_START);
603 #endif
604
605 MNG_VALIDHANDLE (hHandle)
606 ((mng_datap)hHandle)->fProcesschroma = fProc;
607
608 #ifdef MNG_SUPPORT_TRACE
609 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSCHROMA, MNG_LC_END);
610 #endif
611
612 return MNG_NOERROR;
613 }
614 #endif
615 #endif /* MNG_SUPPORT_DISPLAY && MNG_APP_CMS */
616
617 /* ************************************************************************** */
618
619 #if defined(MNG_SUPPORT_DISPLAY) && defined(MNG_APP_CMS)
mng_setcb_processsrgb(mng_handle hHandle,mng_processsrgb fProc)620 mng_retcode MNG_DECL mng_setcb_processsrgb (mng_handle hHandle,
621 mng_processsrgb fProc)
622 {
623 #ifdef MNG_SUPPORT_TRACE
624 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSSRGB, MNG_LC_START);
625 #endif
626
627 MNG_VALIDHANDLE (hHandle)
628 ((mng_datap)hHandle)->fProcesssrgb = fProc;
629
630 #ifdef MNG_SUPPORT_TRACE
631 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSSRGB, MNG_LC_END);
632 #endif
633
634 return MNG_NOERROR;
635 }
636 #endif /* MNG_SUPPORT_DISPLAY && MNG_APP_CMS */
637
638 /* ************************************************************************** */
639
640 #if defined(MNG_SUPPORT_DISPLAY) && defined(MNG_APP_CMS)
641 #ifndef MNG_SKIPCHUNK_iCCP
mng_setcb_processiccp(mng_handle hHandle,mng_processiccp fProc)642 mng_retcode MNG_DECL mng_setcb_processiccp (mng_handle hHandle,
643 mng_processiccp fProc)
644 {
645 #ifdef MNG_SUPPORT_TRACE
646 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSICCP, MNG_LC_START);
647 #endif
648
649 MNG_VALIDHANDLE (hHandle)
650 ((mng_datap)hHandle)->fProcessiccp = fProc;
651
652 #ifdef MNG_SUPPORT_TRACE
653 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSICCP, MNG_LC_END);
654 #endif
655
656 return MNG_NOERROR;
657 }
658 #endif
659 #endif /* MNG_SUPPORT_DISPLAY && MNG_APP_CMS */
660
661 /* ************************************************************************** */
662
663 #if defined(MNG_SUPPORT_DISPLAY) && defined(MNG_APP_CMS)
mng_setcb_processarow(mng_handle hHandle,mng_processarow fProc)664 mng_retcode MNG_DECL mng_setcb_processarow (mng_handle hHandle,
665 mng_processarow fProc)
666 {
667 #ifdef MNG_SUPPORT_TRACE
668 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSAROW, MNG_LC_START);
669 #endif
670
671 MNG_VALIDHANDLE (hHandle)
672 ((mng_datap)hHandle)->fProcessarow = fProc;
673
674 #ifdef MNG_SUPPORT_TRACE
675 MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSAROW, MNG_LC_END);
676 #endif
677
678 return MNG_NOERROR;
679 }
680 #endif /* MNG_SUPPORT_DISPLAY && MNG_APP_CMS */
681
682 /* ************************************************************************** */
683 /* * * */
684 /* * Callback get functions * */
685 /* * * */
686 /* ************************************************************************** */
687
688 #ifndef MNG_INTERNAL_MEMMNGMT
mng_getcb_memalloc(mng_handle hHandle)689 mng_memalloc MNG_DECL mng_getcb_memalloc (mng_handle hHandle)
690 {
691 #ifdef MNG_SUPPORT_TRACE
692 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_MEMALLOC, MNG_LC_START);
693 #endif
694
695 MNG_VALIDHANDLEX (hHandle)
696
697 #ifdef MNG_SUPPORT_TRACE
698 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_MEMALLOC, MNG_LC_END);
699 #endif
700
701 return ((mng_datap)hHandle)->fMemalloc;
702 }
703 #endif /* MNG_INTERNAL_MEMMNGMT */
704
705 /* ************************************************************************** */
706
707 #ifndef MNG_INTERNAL_MEMMNGMT
mng_getcb_memfree(mng_handle hHandle)708 mng_memfree MNG_DECL mng_getcb_memfree (mng_handle hHandle)
709 {
710 #ifdef MNG_SUPPORT_TRACE
711 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_MEMFREE, MNG_LC_START);
712 #endif
713
714 MNG_VALIDHANDLEX (hHandle)
715
716 #ifdef MNG_SUPPORT_TRACE
717 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_MEMFREE, MNG_LC_END);
718 #endif
719
720 return ((mng_datap)hHandle)->fMemfree;
721 }
722 #endif /* MNG_INTERNAL_MEMMNGMT */
723
724 /* ************************************************************************** */
725
726 #ifdef MNG_SUPPORT_READ
mng_getcb_releasedata(mng_handle hHandle)727 mng_releasedata MNG_DECL mng_getcb_releasedata (mng_handle hHandle)
728 {
729 #ifdef MNG_SUPPORT_TRACE
730 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_RELEASEDATA, MNG_LC_START);
731 #endif
732
733 MNG_VALIDHANDLEX (hHandle)
734
735 #ifdef MNG_SUPPORT_TRACE
736 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_RELEASEDATA, MNG_LC_END);
737 #endif
738
739 return ((mng_datap)hHandle)->fReleasedata;
740 }
741 #endif /* MNG_SUPPORT_READ */
742
743 /* ************************************************************************** */
744
745 #ifdef MNG_SUPPORT_READ
mng_getcb_readdata(mng_handle hHandle)746 mng_readdata MNG_DECL mng_getcb_readdata (mng_handle hHandle)
747 {
748 #ifdef MNG_SUPPORT_TRACE
749 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_READDATA, MNG_LC_START);
750 #endif
751
752 MNG_VALIDHANDLEX (hHandle)
753
754 #ifdef MNG_SUPPORT_TRACE
755 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_READDATA, MNG_LC_END);
756 #endif
757
758 return ((mng_datap)hHandle)->fReaddata;
759 }
760 #endif /* MNG_SUPPORT_READ */
761
762 /* ************************************************************************** */
763
764 #if defined(MNG_SUPPORT_READ) || defined(MNG_SUPPORT_WRITE)
765 #ifndef MNG_NO_OPEN_CLOSE_STREAM
mng_getcb_openstream(mng_handle hHandle)766 mng_openstream MNG_DECL mng_getcb_openstream (mng_handle hHandle)
767 {
768 #ifdef MNG_SUPPORT_TRACE
769 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_OPENSTREAM, MNG_LC_START);
770 #endif
771
772 MNG_VALIDHANDLEX (hHandle)
773
774 #ifdef MNG_SUPPORT_TRACE
775 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_OPENSTREAM, MNG_LC_END);
776 #endif
777
778 return ((mng_datap)hHandle)->fOpenstream;
779 }
780 #endif
781 #endif /* MNG_SUPPORT_READ || MNG_SUPPORT_WRITE */
782
783 /* ************************************************************************** */
784
785 #if defined(MNG_SUPPORT_READ) || defined(MNG_SUPPORT_WRITE)
786 #ifndef MNG_NO_OPEN_CLOSE_STREAM
mng_getcb_closestream(mng_handle hHandle)787 mng_closestream MNG_DECL mng_getcb_closestream (mng_handle hHandle)
788 {
789 #ifdef MNG_SUPPORT_TRACE
790 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_CLOSESTREAM, MNG_LC_START);
791 #endif
792
793 MNG_VALIDHANDLEX (hHandle)
794
795 #ifdef MNG_SUPPORT_TRACE
796 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_CLOSESTREAM, MNG_LC_END);
797 #endif
798
799 return ((mng_datap)hHandle)->fClosestream;
800 }
801 #endif
802 #endif /* MNG_SUPPORT_READ || MNG_SUPPORT_WRITE */
803
804 /* ************************************************************************** */
805
806 #ifdef MNG_SUPPORT_WRITE
mng_getcb_writedata(mng_handle hHandle)807 mng_writedata MNG_DECL mng_getcb_writedata (mng_handle hHandle)
808 {
809 #ifdef MNG_SUPPORT_TRACE
810 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_WRITEDATA, MNG_LC_START);
811 #endif
812
813 MNG_VALIDHANDLEX (hHandle)
814
815 #ifdef MNG_SUPPORT_TRACE
816 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_WRITEDATA, MNG_LC_END);
817 #endif
818
819 return ((mng_datap)hHandle)->fWritedata;
820 }
821 #endif /* MNG_SUPPORT_WRITE */
822
823 /* ************************************************************************** */
824
mng_getcb_errorproc(mng_handle hHandle)825 mng_errorproc MNG_DECL mng_getcb_errorproc (mng_handle hHandle)
826 {
827 #ifdef MNG_SUPPORT_TRACE
828 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_ERRORPROC, MNG_LC_START);
829 #endif
830
831 MNG_VALIDHANDLEX (hHandle)
832
833 #ifdef MNG_SUPPORT_TRACE
834 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_ERRORPROC, MNG_LC_END);
835 #endif
836
837 return ((mng_datap)hHandle)->fErrorproc;
838 }
839
840 /* ************************************************************************** */
841
842 #ifdef MNG_SUPPORT_TRACE
mng_getcb_traceproc(mng_handle hHandle)843 mng_traceproc MNG_DECL mng_getcb_traceproc (mng_handle hHandle)
844 {
845 #ifdef MNG_SUPPORT_TRACE
846 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_TRACEPROC, MNG_LC_START);
847 #endif
848
849 MNG_VALIDHANDLEX (hHandle)
850
851 #ifdef MNG_SUPPORT_TRACE
852 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_TRACEPROC, MNG_LC_END);
853 #endif
854
855 return ((mng_datap)hHandle)->fTraceproc;
856 }
857 #endif /* MNG_SUPPORT_TRACE */
858
859 /* ************************************************************************** */
860
861 #ifdef MNG_SUPPORT_READ
mng_getcb_processheader(mng_handle hHandle)862 mng_processheader MNG_DECL mng_getcb_processheader (mng_handle hHandle)
863 {
864 #ifdef MNG_SUPPORT_TRACE
865 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSHEADER, MNG_LC_START);
866 #endif
867
868 MNG_VALIDHANDLEX (hHandle)
869
870 #ifdef MNG_SUPPORT_TRACE
871 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSHEADER, MNG_LC_END);
872 #endif
873
874 return ((mng_datap)hHandle)->fProcessheader;
875 }
876 #endif /* MNG_SUPPORT_READ */
877
878 /* ************************************************************************** */
879
880 #ifdef MNG_SUPPORT_READ
881 #ifndef MNG_SKIPCHUNK_tEXt
mng_getcb_processtext(mng_handle hHandle)882 mng_processtext MNG_DECL mng_getcb_processtext (mng_handle hHandle)
883 {
884 #ifdef MNG_SUPPORT_TRACE
885 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSTEXT, MNG_LC_START);
886 #endif
887
888 MNG_VALIDHANDLEX (hHandle)
889
890 #ifdef MNG_SUPPORT_TRACE
891 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSTEXT, MNG_LC_END);
892 #endif
893
894 return ((mng_datap)hHandle)->fProcesstext;
895 }
896 #endif
897 #endif /* MNG_SUPPORT_READ */
898
899 /* ************************************************************************** */
900
901 #ifdef MNG_SUPPORT_READ
902 #ifndef MNG_SKIPCHUNK_SAVE
mng_getcb_processsave(mng_handle hHandle)903 mng_processsave MNG_DECL mng_getcb_processsave (mng_handle hHandle)
904 {
905 #ifdef MNG_SUPPORT_TRACE
906 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSSAVE, MNG_LC_START);
907 #endif
908
909 MNG_VALIDHANDLEX (hHandle)
910
911 #ifdef MNG_SUPPORT_TRACE
912 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSSAVE, MNG_LC_END);
913 #endif
914
915 return ((mng_datap)hHandle)->fProcesssave;
916 }
917 #endif
918 #endif /* MNG_SUPPORT_READ */
919
920 /* ************************************************************************** */
921
922 #ifdef MNG_SUPPORT_READ
923 #ifndef MNG_SKIPCHUNK_SEEK
mng_getcb_processseek(mng_handle hHandle)924 mng_processseek MNG_DECL mng_getcb_processseek (mng_handle hHandle)
925 {
926 #ifdef MNG_SUPPORT_TRACE
927 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSSEEK, MNG_LC_START);
928 #endif
929
930 MNG_VALIDHANDLEX (hHandle)
931
932 #ifdef MNG_SUPPORT_TRACE
933 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSSEEK, MNG_LC_END);
934 #endif
935
936 return ((mng_datap)hHandle)->fProcessseek;
937 }
938 #endif
939 #endif /* MNG_SUPPORT_READ */
940
941 /* ************************************************************************** */
942
943 #ifdef MNG_SUPPORT_READ
944 #ifndef MNG_SKIPCHUNK_nEED
mng_getcb_processneed(mng_handle hHandle)945 mng_processneed MNG_DECL mng_getcb_processneed (mng_handle hHandle)
946 {
947 #ifdef MNG_SUPPORT_TRACE
948 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSNEED, MNG_LC_START);
949 #endif
950
951 MNG_VALIDHANDLEX (hHandle)
952
953 #ifdef MNG_SUPPORT_TRACE
954 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSNEED, MNG_LC_END);
955 #endif
956
957 return ((mng_datap)hHandle)->fProcessneed;
958 }
959 #endif
960 #endif /* MNG_SUPPORT_READ */
961
962 /* ************************************************************************** */
963
964 #ifdef MNG_SUPPORT_READ
mng_getcb_processmend(mng_handle hHandle)965 mng_processmend MNG_DECL mng_getcb_processmend (mng_handle hHandle)
966 {
967 #ifdef MNG_SUPPORT_TRACE
968 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSMEND, MNG_LC_START);
969 #endif
970
971 MNG_VALIDHANDLEX (hHandle)
972
973 #ifdef MNG_SUPPORT_TRACE
974 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSMEND, MNG_LC_END);
975 #endif
976
977 return ((mng_datap)hHandle)->fProcessmend;
978 }
979 #endif /* MNG_SUPPORT_READ */
980
981 /* ************************************************************************** */
982
983 #ifdef MNG_SUPPORT_READ
mng_getcb_processunknown(mng_handle hHandle)984 mng_processunknown MNG_DECL mng_getcb_processunknown (mng_handle hHandle)
985 {
986 #ifdef MNG_SUPPORT_TRACE
987 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSUNKNOWN, MNG_LC_START);
988 #endif
989
990 MNG_VALIDHANDLEX (hHandle)
991
992 #ifdef MNG_SUPPORT_TRACE
993 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSUNKNOWN, MNG_LC_END);
994 #endif
995
996 return ((mng_datap)hHandle)->fProcessunknown;
997 }
998 #endif /* MNG_SUPPORT_READ */
999
1000 /* ************************************************************************** */
1001
1002 #ifdef MNG_SUPPORT_READ
1003 #ifndef MNG_SKIPCHUNK_TERM
mng_getcb_processterm(mng_handle hHandle)1004 mng_processterm MNG_DECL mng_getcb_processterm (mng_handle hHandle)
1005 {
1006 #ifdef MNG_SUPPORT_TRACE
1007 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSTERM, MNG_LC_START);
1008 #endif
1009
1010 MNG_VALIDHANDLEX (hHandle)
1011
1012 #ifdef MNG_SUPPORT_TRACE
1013 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSTERM, MNG_LC_END);
1014 #endif
1015
1016 return ((mng_datap)hHandle)->fProcessterm;
1017 }
1018 #endif
1019 #endif /* MNG_SUPPORT_READ */
1020
1021 /* ************************************************************************** */
1022
1023 #ifdef MNG_SUPPORT_DISPLAY
mng_getcb_getcanvasline(mng_handle hHandle)1024 mng_getcanvasline MNG_DECL mng_getcb_getcanvasline (mng_handle hHandle)
1025 {
1026 #ifdef MNG_SUPPORT_TRACE
1027 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_GETCANVASLINE, MNG_LC_START);
1028 #endif
1029
1030 MNG_VALIDHANDLEX (hHandle)
1031
1032 #ifdef MNG_SUPPORT_TRACE
1033 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_GETCANVASLINE, MNG_LC_END);
1034 #endif
1035
1036 return ((mng_datap)hHandle)->fGetcanvasline;
1037 }
1038 #endif /* MNG_SUPPORT_DISPLAY */
1039
1040 /* ************************************************************************** */
1041
1042 #ifdef MNG_SUPPORT_DISPLAY
mng_getcb_getbkgdline(mng_handle hHandle)1043 mng_getbkgdline MNG_DECL mng_getcb_getbkgdline (mng_handle hHandle)
1044 {
1045 #ifdef MNG_SUPPORT_TRACE
1046 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_GETBKGDLINE, MNG_LC_START);
1047 #endif
1048
1049 MNG_VALIDHANDLEX (hHandle)
1050
1051 #ifdef MNG_SUPPORT_TRACE
1052 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_GETBKGDLINE, MNG_LC_END);
1053 #endif
1054
1055 return ((mng_datap)hHandle)->fGetbkgdline;
1056 }
1057 #endif /* MNG_SUPPORT_DISPLAY */
1058
1059 /* ************************************************************************** */
1060
1061 #ifdef MNG_SUPPORT_DISPLAY
mng_getcb_getalphaline(mng_handle hHandle)1062 mng_getalphaline MNG_DECL mng_getcb_getalphaline (mng_handle hHandle)
1063 {
1064 #ifdef MNG_SUPPORT_TRACE
1065 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_GETALPHALINE, MNG_LC_START);
1066 #endif
1067
1068 MNG_VALIDHANDLEX (hHandle)
1069
1070 #ifdef MNG_SUPPORT_TRACE
1071 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_GETALPHALINE, MNG_LC_END);
1072 #endif
1073
1074 return ((mng_datap)hHandle)->fGetalphaline;
1075 }
1076 #endif /* MNG_SUPPORT_DISPLAY */
1077
1078 /* ************************************************************************** */
1079
1080 #ifdef MNG_SUPPORT_DISPLAY
mng_getcb_refresh(mng_handle hHandle)1081 mng_refresh MNG_DECL mng_getcb_refresh (mng_handle hHandle)
1082 {
1083 #ifdef MNG_SUPPORT_TRACE
1084 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_REFRESH, MNG_LC_START);
1085 #endif
1086
1087 MNG_VALIDHANDLEX (hHandle)
1088
1089 #ifdef MNG_SUPPORT_TRACE
1090 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_REFRESH, MNG_LC_END);
1091 #endif
1092
1093 return ((mng_datap)hHandle)->fRefresh;
1094 }
1095 #endif /* MNG_SUPPORT_DISPLAY */
1096
1097 /* ************************************************************************** */
1098
1099 #ifdef MNG_SUPPORT_DISPLAY
mng_getcb_gettickcount(mng_handle hHandle)1100 mng_gettickcount MNG_DECL mng_getcb_gettickcount (mng_handle hHandle)
1101 {
1102 #ifdef MNG_SUPPORT_TRACE
1103 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_GETTICKCOUNT, MNG_LC_START);
1104 #endif
1105
1106 MNG_VALIDHANDLEX (hHandle)
1107
1108 #ifdef MNG_SUPPORT_TRACE
1109 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_GETTICKCOUNT, MNG_LC_END);
1110 #endif
1111
1112 return ((mng_datap)hHandle)->fGettickcount;
1113 }
1114 #endif /* MNG_SUPPORT_DISPLAY */
1115
1116 /* ************************************************************************** */
1117
1118 #ifdef MNG_SUPPORT_DISPLAY
mng_getcb_settimer(mng_handle hHandle)1119 mng_settimer MNG_DECL mng_getcb_settimer (mng_handle hHandle)
1120 {
1121 #ifdef MNG_SUPPORT_TRACE
1122 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_SETTIMER, MNG_LC_START);
1123 #endif
1124
1125 MNG_VALIDHANDLEX (hHandle)
1126
1127 #ifdef MNG_SUPPORT_TRACE
1128 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_SETTIMER, MNG_LC_END);
1129 #endif
1130
1131 return ((mng_datap)hHandle)->fSettimer;
1132 }
1133 #endif /* MNG_SUPPORT_DISPLAY */
1134
1135 /* ************************************************************************** */
1136
1137 #if defined(MNG_SUPPORT_DISPLAY) && defined(MNG_APP_CMS)
mng_getcb_processgamma(mng_handle hHandle)1138 mng_processgamma MNG_DECL mng_getcb_processgamma (mng_handle hHandle)
1139 {
1140 #ifdef MNG_SUPPORT_TRACE
1141 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSGAMMA, MNG_LC_START);
1142 #endif
1143
1144 MNG_VALIDHANDLEX (hHandle)
1145
1146 #ifdef MNG_SUPPORT_TRACE
1147 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSGAMMA, MNG_LC_END);
1148 #endif
1149
1150 return ((mng_datap)hHandle)->fProcessgamma;
1151 }
1152 #endif /* MNG_SUPPORT_DISPLAY && MNG_APP_CMS */
1153
1154 /* ************************************************************************** */
1155
1156 #if defined(MNG_SUPPORT_DISPLAY) && defined(MNG_APP_CMS)
1157 #ifndef MNG_SKIPCHUNK_cHRM
mng_getcb_processchroma(mng_handle hHandle)1158 mng_processchroma MNG_DECL mng_getcb_processchroma (mng_handle hHandle)
1159 {
1160 #ifdef MNG_SUPPORT_TRACE
1161 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSCHROMA, MNG_LC_START);
1162 #endif
1163
1164 MNG_VALIDHANDLEX (hHandle)
1165
1166 #ifdef MNG_SUPPORT_TRACE
1167 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSCHROMA, MNG_LC_END);
1168 #endif
1169
1170 return ((mng_datap)hHandle)->fProcesschroma;
1171 }
1172 #endif
1173 #endif /* MNG_SUPPORT_DISPLAY && MNG_APP_CMS */
1174
1175 /* ************************************************************************** */
1176
1177 #if defined(MNG_SUPPORT_DISPLAY) && defined(MNG_APP_CMS)
mng_getcb_processsrgb(mng_handle hHandle)1178 mng_processsrgb MNG_DECL mng_getcb_processsrgb (mng_handle hHandle)
1179 {
1180 #ifdef MNG_SUPPORT_TRACE
1181 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSSRGB, MNG_LC_START);
1182 #endif
1183
1184 MNG_VALIDHANDLEX (hHandle)
1185
1186 #ifdef MNG_SUPPORT_TRACE
1187 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSSRGB, MNG_LC_END);
1188 #endif
1189
1190 return ((mng_datap)hHandle)->fProcesssrgb;
1191 }
1192 #endif /* MNG_SUPPORT_DISPLAY && MNG_APP_CMS */
1193
1194 /* ************************************************************************** */
1195
1196 #if defined(MNG_SUPPORT_DISPLAY) && defined(MNG_APP_CMS)
1197 #ifndef MNG_SKIPCHUNK_iCCP
mng_getcb_processiccp(mng_handle hHandle)1198 mng_processiccp MNG_DECL mng_getcb_processiccp (mng_handle hHandle)
1199 {
1200 #ifdef MNG_SUPPORT_TRACE
1201 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSICCP, MNG_LC_START);
1202 #endif
1203
1204 MNG_VALIDHANDLEX (hHandle)
1205
1206 #ifdef MNG_SUPPORT_TRACE
1207 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSICCP, MNG_LC_END);
1208 #endif
1209
1210 return ((mng_datap)hHandle)->fProcessiccp;
1211 }
1212 #endif
1213 #endif /* MNG_SUPPORT_DISPLAY && MNG_APP_CMS */
1214
1215 /* ************************************************************************** */
1216
1217 #if defined(MNG_SUPPORT_DISPLAY) && defined(MNG_APP_CMS)
mng_getcb_processarow(mng_handle hHandle)1218 mng_processarow MNG_DECL mng_getcb_processarow (mng_handle hHandle)
1219 {
1220 #ifdef MNG_SUPPORT_TRACE
1221 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSAROW, MNG_LC_START);
1222 #endif
1223
1224 MNG_VALIDHANDLEX (hHandle)
1225
1226 #ifdef MNG_SUPPORT_TRACE
1227 MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSAROW, MNG_LC_END);
1228 #endif
1229
1230 return ((mng_datap)hHandle)->fProcessarow;
1231 }
1232 #endif /* MNG_SUPPORT_DISPLAY && MNG_APP_CMS */
1233
1234 /* ************************************************************************** */
1235 /* * end of file * */
1236 /* ************************************************************************** */
1237
1238
1239
1240