PageRenderTime 108ms CodeModel.GetById 55ms app.highlight 47ms RepoModel.GetById 1ms app.codeStats 1ms

/src/FreeImage/Source/LibMNG/libmng_callback_xs.c

https://bitbucket.org/cabalistic/ogredeps/
C | 1239 lines | 826 code | 286 blank | 127 comment | 15 complexity | 5644a2a5fc3a5eb1ae7df255729c34a9 MD5 | raw file
   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
  81mng_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
 102mng_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
 123mng_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
 145mng_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
 168mng_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
 190mng_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
 211mng_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
 231mng_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
 251mng_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
 272mng_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
 294mng_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
 317mng_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
 340mng_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
 363mng_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
 385mng_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
 406mng_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
 428mng_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
 450mng_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
 471mng_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
 492mng_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
 513mng_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
 534mng_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
 555mng_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)
 576mng_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
 598mng_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)
 620mng_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
 642mng_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)
 664mng_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
 689mng_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
 708mng_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
 727mng_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
 746mng_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
 766mng_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
 787mng_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
 807mng_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
 825mng_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
 843mng_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
 862mng_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
 882mng_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
 903mng_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
 924mng_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
 945mng_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
 965mng_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
 984mng_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
1004mng_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
1024mng_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
1043mng_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
1062mng_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
1081mng_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
1100mng_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
1119mng_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)
1138mng_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
1158mng_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)
1178mng_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
1198mng_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)
1218mng_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