src/3rdparty/libmng/libmng_callback_xs.c
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     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
       
    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
       
   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
       
   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
       
   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
       
   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
       
   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
       
   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 
       
   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
       
   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
       
   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
       
   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
       
   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
       
   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
       
   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
       
   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
       
   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
       
   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
       
   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
       
   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
       
   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
       
   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
       
   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
       
   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)
       
   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
       
   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)
       
   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
       
   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)
       
   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
       
   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
       
   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
       
   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
       
   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
       
   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
       
   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
       
   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 
       
   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
       
   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
       
   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
       
   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
       
   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
       
   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
       
   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
       
   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
       
   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
       
  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
       
  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
       
  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
       
  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
       
  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
       
  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
       
  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)
       
  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
       
  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)
       
  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
       
  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)
       
  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