/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. #include "libmng.h"
  62. #include "libmng_data.h"
  63. #include "libmng_error.h"
  64. #include "libmng_trace.h"
  65. #ifdef __BORLANDC__
  66. #pragma hdrstop
  67. #endif
  68. #if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
  69. #pragma option -A /* force ANSI-C */
  70. #endif
  71. /* ************************************************************************** */
  72. /* * * */
  73. /* * Callback set functions * */
  74. /* * * */
  75. /* ************************************************************************** */
  76. #ifndef MNG_INTERNAL_MEMMNGMT
  77. mng_retcode MNG_DECL mng_setcb_memalloc (mng_handle hHandle,
  78. mng_memalloc fProc)
  79. {
  80. #ifdef MNG_SUPPORT_TRACE
  81. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_MEMALLOC, MNG_LC_START);
  82. #endif
  83. MNG_VALIDHANDLE (hHandle)
  84. ((mng_datap)hHandle)->fMemalloc = fProc;
  85. #ifdef MNG_SUPPORT_TRACE
  86. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_MEMALLOC, MNG_LC_END);
  87. #endif
  88. return MNG_NOERROR;
  89. }
  90. #endif /* MNG_INTERNAL_MEMMNGMT */
  91. /* ************************************************************************** */
  92. #ifndef MNG_INTERNAL_MEMMNGMT
  93. mng_retcode MNG_DECL mng_setcb_memfree (mng_handle hHandle,
  94. mng_memfree fProc)
  95. {
  96. #ifdef MNG_SUPPORT_TRACE
  97. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_MEMFREE, MNG_LC_START);
  98. #endif
  99. MNG_VALIDHANDLE (hHandle)
  100. ((mng_datap)hHandle)->fMemfree = fProc;
  101. #ifdef MNG_SUPPORT_TRACE
  102. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_MEMFREE, MNG_LC_END);
  103. #endif
  104. return MNG_NOERROR;
  105. }
  106. #endif /* MNG_INTERNAL_MEMMNGMT */
  107. /* ************************************************************************** */
  108. #ifdef MNG_SUPPORT_READ
  109. mng_retcode MNG_DECL mng_setcb_releasedata (mng_handle hHandle,
  110. mng_releasedata fProc)
  111. {
  112. #ifdef MNG_SUPPORT_TRACE
  113. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_RELEASEDATA, MNG_LC_START);
  114. #endif
  115. MNG_VALIDHANDLE (hHandle)
  116. ((mng_datap)hHandle)->fReleasedata = fProc;
  117. #ifdef MNG_SUPPORT_TRACE
  118. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_RELEASEDATA, MNG_LC_END);
  119. #endif
  120. return MNG_NOERROR;
  121. }
  122. #endif /* MNG_SUPPORT_READ */
  123. /* ************************************************************************** */
  124. #if defined(MNG_SUPPORT_READ) || defined(MNG_SUPPORT_WRITE)
  125. #ifndef MNG_NO_OPEN_CLOSE_STREAM
  126. mng_retcode MNG_DECL mng_setcb_openstream (mng_handle hHandle,
  127. mng_openstream fProc)
  128. {
  129. #ifdef MNG_SUPPORT_TRACE
  130. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_OPENSTREAM, MNG_LC_START);
  131. #endif
  132. MNG_VALIDHANDLE (hHandle)
  133. ((mng_datap)hHandle)->fOpenstream = fProc;
  134. #ifdef MNG_SUPPORT_TRACE
  135. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_OPENSTREAM, MNG_LC_END);
  136. #endif
  137. return MNG_NOERROR;
  138. }
  139. #endif
  140. #endif /* MNG_SUPPORT_READ || MNG_SUPPORT_WRITE */
  141. /* ************************************************************************** */
  142. #if defined(MNG_SUPPORT_READ) || defined(MNG_SUPPORT_WRITE)
  143. #ifndef MNG_NO_OPEN_CLOSE_STREAM
  144. mng_retcode MNG_DECL mng_setcb_closestream (mng_handle hHandle,
  145. mng_closestream fProc)
  146. {
  147. #ifdef MNG_SUPPORT_TRACE
  148. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_CLOSESTREAM, MNG_LC_START);
  149. #endif
  150. MNG_VALIDHANDLE (hHandle)
  151. ((mng_datap)hHandle)->fClosestream = fProc;
  152. #ifdef MNG_SUPPORT_TRACE
  153. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_CLOSESTREAM, MNG_LC_END);
  154. #endif
  155. return MNG_NOERROR;
  156. }
  157. #endif
  158. #endif /* MNG_SUPPORT_READ || MNG_SUPPORT_WRITE */
  159. /* ************************************************************************** */
  160. #ifdef MNG_SUPPORT_READ
  161. mng_retcode MNG_DECL mng_setcb_readdata (mng_handle hHandle,
  162. mng_readdata fProc)
  163. {
  164. #ifdef MNG_SUPPORT_TRACE
  165. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_READDATA, MNG_LC_START);
  166. #endif
  167. MNG_VALIDHANDLE (hHandle)
  168. ((mng_datap)hHandle)->fReaddata = fProc;
  169. #ifdef MNG_SUPPORT_TRACE
  170. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_READDATA, MNG_LC_END);
  171. #endif
  172. return MNG_NOERROR;
  173. }
  174. #endif /* MNG_SUPPORT_READ */
  175. /* ************************************************************************** */
  176. #ifdef MNG_SUPPORT_WRITE
  177. mng_retcode MNG_DECL mng_setcb_writedata (mng_handle hHandle,
  178. mng_writedata fProc)
  179. {
  180. #ifdef MNG_SUPPORT_TRACE
  181. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_WRITEDATA, MNG_LC_START);
  182. #endif
  183. MNG_VALIDHANDLE (hHandle)
  184. ((mng_datap)hHandle)->fWritedata = fProc;
  185. #ifdef MNG_SUPPORT_TRACE
  186. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_WRITEDATA, MNG_LC_END);
  187. #endif
  188. return MNG_NOERROR;
  189. }
  190. #endif /* MNG_SUPPORT_WRITE */
  191. /* ************************************************************************** */
  192. mng_retcode MNG_DECL mng_setcb_errorproc (mng_handle hHandle,
  193. mng_errorproc fProc)
  194. {
  195. #ifdef MNG_SUPPORT_TRACE
  196. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_ERRORPROC, MNG_LC_START);
  197. #endif
  198. MNG_VALIDHANDLE (hHandle)
  199. ((mng_datap)hHandle)->fErrorproc = fProc;
  200. #ifdef MNG_SUPPORT_TRACE
  201. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_ERRORPROC, MNG_LC_END);
  202. #endif
  203. return MNG_NOERROR;
  204. }
  205. /* ************************************************************************** */
  206. #ifdef MNG_SUPPORT_TRACE
  207. mng_retcode MNG_DECL mng_setcb_traceproc (mng_handle hHandle,
  208. mng_traceproc fProc)
  209. {
  210. #ifdef MNG_SUPPORT_TRACE
  211. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_TRACEPROC, MNG_LC_START);
  212. #endif
  213. MNG_VALIDHANDLE (hHandle)
  214. ((mng_datap)hHandle)->fTraceproc = fProc;
  215. #ifdef MNG_SUPPORT_TRACE
  216. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_TRACEPROC, MNG_LC_END);
  217. #endif
  218. return MNG_NOERROR;
  219. }
  220. #endif /* MNG_SUPPORT_TRACE */
  221. /* ************************************************************************** */
  222. #ifdef MNG_SUPPORT_READ
  223. mng_retcode MNG_DECL mng_setcb_processheader (mng_handle hHandle,
  224. mng_processheader fProc)
  225. {
  226. #ifdef MNG_SUPPORT_TRACE
  227. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSHEADER, MNG_LC_START);
  228. #endif
  229. MNG_VALIDHANDLE (hHandle)
  230. ((mng_datap)hHandle)->fProcessheader = fProc;
  231. #ifdef MNG_SUPPORT_TRACE
  232. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSHEADER, MNG_LC_END);
  233. #endif
  234. return MNG_NOERROR;
  235. }
  236. #endif /* MNG_SUPPORT_READ */
  237. /* ************************************************************************** */
  238. #ifdef MNG_SUPPORT_READ
  239. #ifndef MNG_SKIPCHUNK_tEXt
  240. mng_retcode MNG_DECL mng_setcb_processtext (mng_handle hHandle,
  241. mng_processtext fProc)
  242. {
  243. #ifdef MNG_SUPPORT_TRACE
  244. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSTEXT, MNG_LC_START);
  245. #endif
  246. MNG_VALIDHANDLE (hHandle)
  247. ((mng_datap)hHandle)->fProcesstext = fProc;
  248. #ifdef MNG_SUPPORT_TRACE
  249. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSTEXT, MNG_LC_END);
  250. #endif
  251. return MNG_NOERROR;
  252. }
  253. #endif
  254. #endif /* MNG_SUPPORT_READ */
  255. /* ************************************************************************** */
  256. #ifdef MNG_SUPPORT_READ
  257. #ifndef MNG_SKIPCHUNK_SAVE
  258. mng_retcode MNG_DECL mng_setcb_processsave (mng_handle hHandle,
  259. mng_processsave fProc)
  260. {
  261. #ifdef MNG_SUPPORT_TRACE
  262. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSSAVE, MNG_LC_START);
  263. #endif
  264. MNG_VALIDHANDLE (hHandle)
  265. ((mng_datap)hHandle)->fProcesssave = fProc;
  266. #ifdef MNG_SUPPORT_TRACE
  267. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSSAVE, MNG_LC_END);
  268. #endif
  269. return MNG_NOERROR;
  270. }
  271. #endif
  272. #endif /* MNG_SUPPORT_READ */
  273. /* ************************************************************************** */
  274. #ifdef MNG_SUPPORT_READ
  275. #ifndef MNG_SKIPCHUNK_SEEK
  276. mng_retcode MNG_DECL mng_setcb_processseek (mng_handle hHandle,
  277. mng_processseek fProc)
  278. {
  279. #ifdef MNG_SUPPORT_TRACE
  280. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSSEEK, MNG_LC_START);
  281. #endif
  282. MNG_VALIDHANDLE (hHandle)
  283. ((mng_datap)hHandle)->fProcessseek = fProc;
  284. #ifdef MNG_SUPPORT_TRACE
  285. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSSEEK, MNG_LC_END);
  286. #endif
  287. return MNG_NOERROR;
  288. }
  289. #endif
  290. #endif /* MNG_SUPPORT_READ */
  291. /* ************************************************************************** */
  292. #ifdef MNG_SUPPORT_READ
  293. #ifndef MNG_SKIPCHUNK_nEED
  294. mng_retcode MNG_DECL mng_setcb_processneed (mng_handle hHandle,
  295. mng_processneed fProc)
  296. {
  297. #ifdef MNG_SUPPORT_TRACE
  298. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSNEED, MNG_LC_START);
  299. #endif
  300. MNG_VALIDHANDLE (hHandle)
  301. ((mng_datap)hHandle)->fProcessneed = fProc;
  302. #ifdef MNG_SUPPORT_TRACE
  303. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSNEED, MNG_LC_END);
  304. #endif
  305. return MNG_NOERROR;
  306. }
  307. #endif
  308. #endif /* MNG_SUPPORT_READ */
  309. /* ************************************************************************** */
  310. #ifdef MNG_SUPPORT_READ
  311. mng_retcode MNG_DECL mng_setcb_processmend (mng_handle hHandle,
  312. mng_processmend fProc)
  313. {
  314. #ifdef MNG_SUPPORT_TRACE
  315. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSMEND, MNG_LC_START);
  316. #endif
  317. MNG_VALIDHANDLE (hHandle)
  318. ((mng_datap)hHandle)->fProcessmend = fProc;
  319. #ifdef MNG_SUPPORT_TRACE
  320. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSMEND, MNG_LC_END);
  321. #endif
  322. return MNG_NOERROR;
  323. }
  324. #endif /* MNG_SUPPORT_READ */
  325. /* ************************************************************************** */
  326. #ifdef MNG_SUPPORT_READ
  327. mng_retcode MNG_DECL mng_setcb_processunknown (mng_handle hHandle,
  328. mng_processunknown fProc)
  329. {
  330. #ifdef MNG_SUPPORT_TRACE
  331. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSUNKNOWN, MNG_LC_START);
  332. #endif
  333. MNG_VALIDHANDLE (hHandle)
  334. ((mng_datap)hHandle)->fProcessunknown = fProc;
  335. #ifdef MNG_SUPPORT_TRACE
  336. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSUNKNOWN, MNG_LC_END);
  337. #endif
  338. return MNG_NOERROR;
  339. }
  340. #endif /* MNG_SUPPORT_READ */
  341. /* ************************************************************************** */
  342. #ifdef MNG_SUPPORT_READ
  343. #ifndef MNG_SKIPCHUNK_TERM
  344. mng_retcode MNG_DECL mng_setcb_processterm (mng_handle hHandle,
  345. mng_processterm fProc)
  346. {
  347. #ifdef MNG_SUPPORT_TRACE
  348. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSTERM, MNG_LC_START);
  349. #endif
  350. MNG_VALIDHANDLE (hHandle)
  351. ((mng_datap)hHandle)->fProcessterm = fProc;
  352. #ifdef MNG_SUPPORT_TRACE
  353. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSTERM, MNG_LC_END);
  354. #endif
  355. return MNG_NOERROR;
  356. }
  357. #endif
  358. #endif /* MNG_SUPPORT_READ */
  359. /* ************************************************************************** */
  360. #ifdef MNG_SUPPORT_DISPLAY
  361. mng_retcode MNG_DECL mng_setcb_getcanvasline (mng_handle hHandle,
  362. mng_getcanvasline fProc)
  363. {
  364. #ifdef MNG_SUPPORT_TRACE
  365. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_GETCANVASLINE, MNG_LC_START);
  366. #endif
  367. MNG_VALIDHANDLE (hHandle)
  368. ((mng_datap)hHandle)->fGetcanvasline = fProc;
  369. #ifdef MNG_SUPPORT_TRACE
  370. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_GETCANVASLINE, MNG_LC_END);
  371. #endif
  372. return MNG_NOERROR;
  373. }
  374. #endif /* MNG_SUPPORT_DISPLAY */
  375. /* ************************************************************************** */
  376. #ifdef MNG_SUPPORT_DISPLAY
  377. mng_retcode MNG_DECL mng_setcb_getbkgdline (mng_handle hHandle,
  378. mng_getbkgdline fProc)
  379. {
  380. #ifdef MNG_SUPPORT_TRACE
  381. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_GETBKGDLINE, MNG_LC_START);
  382. #endif
  383. MNG_VALIDHANDLE (hHandle)
  384. ((mng_datap)hHandle)->fGetbkgdline = fProc;
  385. #ifdef MNG_SUPPORT_TRACE
  386. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_GETBKGDLINE, MNG_LC_END);
  387. #endif
  388. return MNG_NOERROR;
  389. }
  390. #endif /* MNG_SUPPORT_DISPLAY */
  391. /* ************************************************************************** */
  392. #ifdef MNG_SUPPORT_DISPLAY
  393. mng_retcode MNG_DECL mng_setcb_getalphaline (mng_handle hHandle,
  394. mng_getalphaline fProc)
  395. {
  396. #ifdef MNG_SUPPORT_TRACE
  397. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_GETALPHALINE, MNG_LC_START);
  398. #endif
  399. MNG_VALIDHANDLE (hHandle)
  400. ((mng_datap)hHandle)->fGetalphaline = fProc;
  401. #ifdef MNG_SUPPORT_TRACE
  402. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_GETALPHALINE, MNG_LC_END);
  403. #endif
  404. return MNG_NOERROR;
  405. }
  406. #endif /* MNG_SUPPORT_DISPLAY */
  407. /* ************************************************************************** */
  408. #ifdef MNG_SUPPORT_DISPLAY
  409. mng_retcode MNG_DECL mng_setcb_refresh (mng_handle hHandle,
  410. mng_refresh fProc)
  411. {
  412. #ifdef MNG_SUPPORT_TRACE
  413. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_REFRESH, MNG_LC_START);
  414. #endif
  415. MNG_VALIDHANDLE (hHandle)
  416. ((mng_datap)hHandle)->fRefresh = fProc;
  417. #ifdef MNG_SUPPORT_TRACE
  418. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_REFRESH, MNG_LC_END);
  419. #endif
  420. return MNG_NOERROR;
  421. }
  422. #endif /* MNG_SUPPORT_DISPLAY */
  423. /* ************************************************************************** */
  424. #ifdef MNG_SUPPORT_DISPLAY
  425. mng_retcode MNG_DECL mng_setcb_gettickcount (mng_handle hHandle,
  426. mng_gettickcount fProc)
  427. {
  428. #ifdef MNG_SUPPORT_TRACE
  429. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_GETTICKCOUNT, MNG_LC_START);
  430. #endif
  431. MNG_VALIDHANDLE (hHandle)
  432. ((mng_datap)hHandle)->fGettickcount = fProc;
  433. #ifdef MNG_SUPPORT_TRACE
  434. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_GETTICKCOUNT, MNG_LC_END);
  435. #endif
  436. return MNG_NOERROR;
  437. }
  438. #endif /* MNG_SUPPORT_DISPLAY */
  439. /* ************************************************************************** */
  440. #ifdef MNG_SUPPORT_DISPLAY
  441. mng_retcode MNG_DECL mng_setcb_settimer (mng_handle hHandle,
  442. mng_settimer fProc)
  443. {
  444. #ifdef MNG_SUPPORT_TRACE
  445. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_SETTIMER, MNG_LC_START);
  446. #endif
  447. MNG_VALIDHANDLE (hHandle)
  448. ((mng_datap)hHandle)->fSettimer = fProc;
  449. #ifdef MNG_SUPPORT_TRACE
  450. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_SETTIMER, MNG_LC_END);
  451. #endif
  452. return MNG_NOERROR;
  453. }
  454. #endif /* MNG_SUPPORT_DISPLAY */
  455. /* ************************************************************************** */
  456. #if defined(MNG_SUPPORT_DISPLAY) && defined(MNG_APP_CMS)
  457. mng_retcode MNG_DECL mng_setcb_processgamma (mng_handle hHandle,
  458. mng_processgamma fProc)
  459. {
  460. #ifdef MNG_SUPPORT_TRACE
  461. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSGAMA, MNG_LC_START);
  462. #endif
  463. MNG_VALIDHANDLE (hHandle)
  464. ((mng_datap)hHandle)->fProcessgamma = fProc;
  465. #ifdef MNG_SUPPORT_TRACE
  466. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSGAMA, MNG_LC_END);
  467. #endif
  468. return MNG_NOERROR;
  469. }
  470. #endif /* MNG_SUPPORT_DISPLAY && MNG_APP_CMS */
  471. /* ************************************************************************** */
  472. #if defined(MNG_SUPPORT_DISPLAY) && defined(MNG_APP_CMS)
  473. #ifndef MNG_SKIPCHUNK_cHRM
  474. mng_retcode MNG_DECL mng_setcb_processchroma (mng_handle hHandle,
  475. mng_processchroma fProc)
  476. {
  477. #ifdef MNG_SUPPORT_TRACE
  478. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSCHROMA, MNG_LC_START);
  479. #endif
  480. MNG_VALIDHANDLE (hHandle)
  481. ((mng_datap)hHandle)->fProcesschroma = fProc;
  482. #ifdef MNG_SUPPORT_TRACE
  483. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSCHROMA, MNG_LC_END);
  484. #endif
  485. return MNG_NOERROR;
  486. }
  487. #endif
  488. #endif /* MNG_SUPPORT_DISPLAY && MNG_APP_CMS */
  489. /* ************************************************************************** */
  490. #if defined(MNG_SUPPORT_DISPLAY) && defined(MNG_APP_CMS)
  491. mng_retcode MNG_DECL mng_setcb_processsrgb (mng_handle hHandle,
  492. mng_processsrgb fProc)
  493. {
  494. #ifdef MNG_SUPPORT_TRACE
  495. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSSRGB, MNG_LC_START);
  496. #endif
  497. MNG_VALIDHANDLE (hHandle)
  498. ((mng_datap)hHandle)->fProcesssrgb = fProc;
  499. #ifdef MNG_SUPPORT_TRACE
  500. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSSRGB, MNG_LC_END);
  501. #endif
  502. return MNG_NOERROR;
  503. }
  504. #endif /* MNG_SUPPORT_DISPLAY && MNG_APP_CMS */
  505. /* ************************************************************************** */
  506. #if defined(MNG_SUPPORT_DISPLAY) && defined(MNG_APP_CMS)
  507. #ifndef MNG_SKIPCHUNK_iCCP
  508. mng_retcode MNG_DECL mng_setcb_processiccp (mng_handle hHandle,
  509. mng_processiccp fProc)
  510. {
  511. #ifdef MNG_SUPPORT_TRACE
  512. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSICCP, MNG_LC_START);
  513. #endif
  514. MNG_VALIDHANDLE (hHandle)
  515. ((mng_datap)hHandle)->fProcessiccp = fProc;
  516. #ifdef MNG_SUPPORT_TRACE
  517. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSICCP, MNG_LC_END);
  518. #endif
  519. return MNG_NOERROR;
  520. }
  521. #endif
  522. #endif /* MNG_SUPPORT_DISPLAY && MNG_APP_CMS */
  523. /* ************************************************************************** */
  524. #if defined(MNG_SUPPORT_DISPLAY) && defined(MNG_APP_CMS)
  525. mng_retcode MNG_DECL mng_setcb_processarow (mng_handle hHandle,
  526. mng_processarow fProc)
  527. {
  528. #ifdef MNG_SUPPORT_TRACE
  529. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSAROW, MNG_LC_START);
  530. #endif
  531. MNG_VALIDHANDLE (hHandle)
  532. ((mng_datap)hHandle)->fProcessarow = fProc;
  533. #ifdef MNG_SUPPORT_TRACE
  534. MNG_TRACE (((mng_datap)hHandle), MNG_FN_SETCB_PROCESSAROW, MNG_LC_END);
  535. #endif
  536. return MNG_NOERROR;
  537. }
  538. #endif /* MNG_SUPPORT_DISPLAY && MNG_APP_CMS */
  539. /* ************************************************************************** */
  540. /* * * */
  541. /* * Callback get functions * */
  542. /* * * */
  543. /* ************************************************************************** */
  544. #ifndef MNG_INTERNAL_MEMMNGMT
  545. mng_memalloc MNG_DECL mng_getcb_memalloc (mng_handle hHandle)
  546. {
  547. #ifdef MNG_SUPPORT_TRACE
  548. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_MEMALLOC, MNG_LC_START);
  549. #endif
  550. MNG_VALIDHANDLEX (hHandle)
  551. #ifdef MNG_SUPPORT_TRACE
  552. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_MEMALLOC, MNG_LC_END);
  553. #endif
  554. return ((mng_datap)hHandle)->fMemalloc;
  555. }
  556. #endif /* MNG_INTERNAL_MEMMNGMT */
  557. /* ************************************************************************** */
  558. #ifndef MNG_INTERNAL_MEMMNGMT
  559. mng_memfree MNG_DECL mng_getcb_memfree (mng_handle hHandle)
  560. {
  561. #ifdef MNG_SUPPORT_TRACE
  562. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_MEMFREE, MNG_LC_START);
  563. #endif
  564. MNG_VALIDHANDLEX (hHandle)
  565. #ifdef MNG_SUPPORT_TRACE
  566. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_MEMFREE, MNG_LC_END);
  567. #endif
  568. return ((mng_datap)hHandle)->fMemfree;
  569. }
  570. #endif /* MNG_INTERNAL_MEMMNGMT */
  571. /* ************************************************************************** */
  572. #ifdef MNG_SUPPORT_READ
  573. mng_releasedata MNG_DECL mng_getcb_releasedata (mng_handle hHandle)
  574. {
  575. #ifdef MNG_SUPPORT_TRACE
  576. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_RELEASEDATA, MNG_LC_START);
  577. #endif
  578. MNG_VALIDHANDLEX (hHandle)
  579. #ifdef MNG_SUPPORT_TRACE
  580. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_RELEASEDATA, MNG_LC_END);
  581. #endif
  582. return ((mng_datap)hHandle)->fReleasedata;
  583. }
  584. #endif /* MNG_SUPPORT_READ */
  585. /* ************************************************************************** */
  586. #ifdef MNG_SUPPORT_READ
  587. mng_readdata MNG_DECL mng_getcb_readdata (mng_handle hHandle)
  588. {
  589. #ifdef MNG_SUPPORT_TRACE
  590. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_READDATA, MNG_LC_START);
  591. #endif
  592. MNG_VALIDHANDLEX (hHandle)
  593. #ifdef MNG_SUPPORT_TRACE
  594. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_READDATA, MNG_LC_END);
  595. #endif
  596. return ((mng_datap)hHandle)->fReaddata;
  597. }
  598. #endif /* MNG_SUPPORT_READ */
  599. /* ************************************************************************** */
  600. #if defined(MNG_SUPPORT_READ) || defined(MNG_SUPPORT_WRITE)
  601. #ifndef MNG_NO_OPEN_CLOSE_STREAM
  602. mng_openstream MNG_DECL mng_getcb_openstream (mng_handle hHandle)
  603. {
  604. #ifdef MNG_SUPPORT_TRACE
  605. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_OPENSTREAM, MNG_LC_START);
  606. #endif
  607. MNG_VALIDHANDLEX (hHandle)
  608. #ifdef MNG_SUPPORT_TRACE
  609. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_OPENSTREAM, MNG_LC_END);
  610. #endif
  611. return ((mng_datap)hHandle)->fOpenstream;
  612. }
  613. #endif
  614. #endif /* MNG_SUPPORT_READ || MNG_SUPPORT_WRITE */
  615. /* ************************************************************************** */
  616. #if defined(MNG_SUPPORT_READ) || defined(MNG_SUPPORT_WRITE)
  617. #ifndef MNG_NO_OPEN_CLOSE_STREAM
  618. mng_closestream MNG_DECL mng_getcb_closestream (mng_handle hHandle)
  619. {
  620. #ifdef MNG_SUPPORT_TRACE
  621. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_CLOSESTREAM, MNG_LC_START);
  622. #endif
  623. MNG_VALIDHANDLEX (hHandle)
  624. #ifdef MNG_SUPPORT_TRACE
  625. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_CLOSESTREAM, MNG_LC_END);
  626. #endif
  627. return ((mng_datap)hHandle)->fClosestream;
  628. }
  629. #endif
  630. #endif /* MNG_SUPPORT_READ || MNG_SUPPORT_WRITE */
  631. /* ************************************************************************** */
  632. #ifdef MNG_SUPPORT_WRITE
  633. mng_writedata MNG_DECL mng_getcb_writedata (mng_handle hHandle)
  634. {
  635. #ifdef MNG_SUPPORT_TRACE
  636. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_WRITEDATA, MNG_LC_START);
  637. #endif
  638. MNG_VALIDHANDLEX (hHandle)
  639. #ifdef MNG_SUPPORT_TRACE
  640. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_WRITEDATA, MNG_LC_END);
  641. #endif
  642. return ((mng_datap)hHandle)->fWritedata;
  643. }
  644. #endif /* MNG_SUPPORT_WRITE */
  645. /* ************************************************************************** */
  646. mng_errorproc MNG_DECL mng_getcb_errorproc (mng_handle hHandle)
  647. {
  648. #ifdef MNG_SUPPORT_TRACE
  649. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_ERRORPROC, MNG_LC_START);
  650. #endif
  651. MNG_VALIDHANDLEX (hHandle)
  652. #ifdef MNG_SUPPORT_TRACE
  653. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_ERRORPROC, MNG_LC_END);
  654. #endif
  655. return ((mng_datap)hHandle)->fErrorproc;
  656. }
  657. /* ************************************************************************** */
  658. #ifdef MNG_SUPPORT_TRACE
  659. mng_traceproc MNG_DECL mng_getcb_traceproc (mng_handle hHandle)
  660. {
  661. #ifdef MNG_SUPPORT_TRACE
  662. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_TRACEPROC, MNG_LC_START);
  663. #endif
  664. MNG_VALIDHANDLEX (hHandle)
  665. #ifdef MNG_SUPPORT_TRACE
  666. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_TRACEPROC, MNG_LC_END);
  667. #endif
  668. return ((mng_datap)hHandle)->fTraceproc;
  669. }
  670. #endif /* MNG_SUPPORT_TRACE */
  671. /* ************************************************************************** */
  672. #ifdef MNG_SUPPORT_READ
  673. mng_processheader MNG_DECL mng_getcb_processheader (mng_handle hHandle)
  674. {
  675. #ifdef MNG_SUPPORT_TRACE
  676. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSHEADER, MNG_LC_START);
  677. #endif
  678. MNG_VALIDHANDLEX (hHandle)
  679. #ifdef MNG_SUPPORT_TRACE
  680. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSHEADER, MNG_LC_END);
  681. #endif
  682. return ((mng_datap)hHandle)->fProcessheader;
  683. }
  684. #endif /* MNG_SUPPORT_READ */
  685. /* ************************************************************************** */
  686. #ifdef MNG_SUPPORT_READ
  687. #ifndef MNG_SKIPCHUNK_tEXt
  688. mng_processtext MNG_DECL mng_getcb_processtext (mng_handle hHandle)
  689. {
  690. #ifdef MNG_SUPPORT_TRACE
  691. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSTEXT, MNG_LC_START);
  692. #endif
  693. MNG_VALIDHANDLEX (hHandle)
  694. #ifdef MNG_SUPPORT_TRACE
  695. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSTEXT, MNG_LC_END);
  696. #endif
  697. return ((mng_datap)hHandle)->fProcesstext;
  698. }
  699. #endif
  700. #endif /* MNG_SUPPORT_READ */
  701. /* ************************************************************************** */
  702. #ifdef MNG_SUPPORT_READ
  703. #ifndef MNG_SKIPCHUNK_SAVE
  704. mng_processsave MNG_DECL mng_getcb_processsave (mng_handle hHandle)
  705. {
  706. #ifdef MNG_SUPPORT_TRACE
  707. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSSAVE, MNG_LC_START);
  708. #endif
  709. MNG_VALIDHANDLEX (hHandle)
  710. #ifdef MNG_SUPPORT_TRACE
  711. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSSAVE, MNG_LC_END);
  712. #endif
  713. return ((mng_datap)hHandle)->fProcesssave;
  714. }
  715. #endif
  716. #endif /* MNG_SUPPORT_READ */
  717. /* ************************************************************************** */
  718. #ifdef MNG_SUPPORT_READ
  719. #ifndef MNG_SKIPCHUNK_SEEK
  720. mng_processseek MNG_DECL mng_getcb_processseek (mng_handle hHandle)
  721. {
  722. #ifdef MNG_SUPPORT_TRACE
  723. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSSEEK, MNG_LC_START);
  724. #endif
  725. MNG_VALIDHANDLEX (hHandle)
  726. #ifdef MNG_SUPPORT_TRACE
  727. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSSEEK, MNG_LC_END);
  728. #endif
  729. return ((mng_datap)hHandle)->fProcessseek;
  730. }
  731. #endif
  732. #endif /* MNG_SUPPORT_READ */
  733. /* ************************************************************************** */
  734. #ifdef MNG_SUPPORT_READ
  735. #ifndef MNG_SKIPCHUNK_nEED
  736. mng_processneed MNG_DECL mng_getcb_processneed (mng_handle hHandle)
  737. {
  738. #ifdef MNG_SUPPORT_TRACE
  739. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSNEED, MNG_LC_START);
  740. #endif
  741. MNG_VALIDHANDLEX (hHandle)
  742. #ifdef MNG_SUPPORT_TRACE
  743. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSNEED, MNG_LC_END);
  744. #endif
  745. return ((mng_datap)hHandle)->fProcessneed;
  746. }
  747. #endif
  748. #endif /* MNG_SUPPORT_READ */
  749. /* ************************************************************************** */
  750. #ifdef MNG_SUPPORT_READ
  751. mng_processmend MNG_DECL mng_getcb_processmend (mng_handle hHandle)
  752. {
  753. #ifdef MNG_SUPPORT_TRACE
  754. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSMEND, MNG_LC_START);
  755. #endif
  756. MNG_VALIDHANDLEX (hHandle)
  757. #ifdef MNG_SUPPORT_TRACE
  758. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSMEND, MNG_LC_END);
  759. #endif
  760. return ((mng_datap)hHandle)->fProcessmend;
  761. }
  762. #endif /* MNG_SUPPORT_READ */
  763. /* ************************************************************************** */
  764. #ifdef MNG_SUPPORT_READ
  765. mng_processunknown MNG_DECL mng_getcb_processunknown (mng_handle hHandle)
  766. {
  767. #ifdef MNG_SUPPORT_TRACE
  768. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSUNKNOWN, MNG_LC_START);
  769. #endif
  770. MNG_VALIDHANDLEX (hHandle)
  771. #ifdef MNG_SUPPORT_TRACE
  772. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSUNKNOWN, MNG_LC_END);
  773. #endif
  774. return ((mng_datap)hHandle)->fProcessunknown;
  775. }
  776. #endif /* MNG_SUPPORT_READ */
  777. /* ************************************************************************** */
  778. #ifdef MNG_SUPPORT_READ
  779. #ifndef MNG_SKIPCHUNK_TERM
  780. mng_processterm MNG_DECL mng_getcb_processterm (mng_handle hHandle)
  781. {
  782. #ifdef MNG_SUPPORT_TRACE
  783. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSTERM, MNG_LC_START);
  784. #endif
  785. MNG_VALIDHANDLEX (hHandle)
  786. #ifdef MNG_SUPPORT_TRACE
  787. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSTERM, MNG_LC_END);
  788. #endif
  789. return ((mng_datap)hHandle)->fProcessterm;
  790. }
  791. #endif
  792. #endif /* MNG_SUPPORT_READ */
  793. /* ************************************************************************** */
  794. #ifdef MNG_SUPPORT_DISPLAY
  795. mng_getcanvasline MNG_DECL mng_getcb_getcanvasline (mng_handle hHandle)
  796. {
  797. #ifdef MNG_SUPPORT_TRACE
  798. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_GETCANVASLINE, MNG_LC_START);
  799. #endif
  800. MNG_VALIDHANDLEX (hHandle)
  801. #ifdef MNG_SUPPORT_TRACE
  802. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_GETCANVASLINE, MNG_LC_END);
  803. #endif
  804. return ((mng_datap)hHandle)->fGetcanvasline;
  805. }
  806. #endif /* MNG_SUPPORT_DISPLAY */
  807. /* ************************************************************************** */
  808. #ifdef MNG_SUPPORT_DISPLAY
  809. mng_getbkgdline MNG_DECL mng_getcb_getbkgdline (mng_handle hHandle)
  810. {
  811. #ifdef MNG_SUPPORT_TRACE
  812. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_GETBKGDLINE, MNG_LC_START);
  813. #endif
  814. MNG_VALIDHANDLEX (hHandle)
  815. #ifdef MNG_SUPPORT_TRACE
  816. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_GETBKGDLINE, MNG_LC_END);
  817. #endif
  818. return ((mng_datap)hHandle)->fGetbkgdline;
  819. }
  820. #endif /* MNG_SUPPORT_DISPLAY */
  821. /* ************************************************************************** */
  822. #ifdef MNG_SUPPORT_DISPLAY
  823. mng_getalphaline MNG_DECL mng_getcb_getalphaline (mng_handle hHandle)
  824. {
  825. #ifdef MNG_SUPPORT_TRACE
  826. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_GETALPHALINE, MNG_LC_START);
  827. #endif
  828. MNG_VALIDHANDLEX (hHandle)
  829. #ifdef MNG_SUPPORT_TRACE
  830. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_GETALPHALINE, MNG_LC_END);
  831. #endif
  832. return ((mng_datap)hHandle)->fGetalphaline;
  833. }
  834. #endif /* MNG_SUPPORT_DISPLAY */
  835. /* ************************************************************************** */
  836. #ifdef MNG_SUPPORT_DISPLAY
  837. mng_refresh MNG_DECL mng_getcb_refresh (mng_handle hHandle)
  838. {
  839. #ifdef MNG_SUPPORT_TRACE
  840. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_REFRESH, MNG_LC_START);
  841. #endif
  842. MNG_VALIDHANDLEX (hHandle)
  843. #ifdef MNG_SUPPORT_TRACE
  844. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_REFRESH, MNG_LC_END);
  845. #endif
  846. return ((mng_datap)hHandle)->fRefresh;
  847. }
  848. #endif /* MNG_SUPPORT_DISPLAY */
  849. /* ************************************************************************** */
  850. #ifdef MNG_SUPPORT_DISPLAY
  851. mng_gettickcount MNG_DECL mng_getcb_gettickcount (mng_handle hHandle)
  852. {
  853. #ifdef MNG_SUPPORT_TRACE
  854. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_GETTICKCOUNT, MNG_LC_START);
  855. #endif
  856. MNG_VALIDHANDLEX (hHandle)
  857. #ifdef MNG_SUPPORT_TRACE
  858. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_GETTICKCOUNT, MNG_LC_END);
  859. #endif
  860. return ((mng_datap)hHandle)->fGettickcount;
  861. }
  862. #endif /* MNG_SUPPORT_DISPLAY */
  863. /* ************************************************************************** */
  864. #ifdef MNG_SUPPORT_DISPLAY
  865. mng_settimer MNG_DECL mng_getcb_settimer (mng_handle hHandle)
  866. {
  867. #ifdef MNG_SUPPORT_TRACE
  868. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_SETTIMER, MNG_LC_START);
  869. #endif
  870. MNG_VALIDHANDLEX (hHandle)
  871. #ifdef MNG_SUPPORT_TRACE
  872. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_SETTIMER, MNG_LC_END);
  873. #endif
  874. return ((mng_datap)hHandle)->fSettimer;
  875. }
  876. #endif /* MNG_SUPPORT_DISPLAY */
  877. /* ************************************************************************** */
  878. #if defined(MNG_SUPPORT_DISPLAY) && defined(MNG_APP_CMS)
  879. mng_processgamma MNG_DECL mng_getcb_processgamma (mng_handle hHandle)
  880. {
  881. #ifdef MNG_SUPPORT_TRACE
  882. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSGAMMA, MNG_LC_START);
  883. #endif
  884. MNG_VALIDHANDLEX (hHandle)
  885. #ifdef MNG_SUPPORT_TRACE
  886. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSGAMMA, MNG_LC_END);
  887. #endif
  888. return ((mng_datap)hHandle)->fProcessgamma;
  889. }
  890. #endif /* MNG_SUPPORT_DISPLAY && MNG_APP_CMS */
  891. /* ************************************************************************** */
  892. #if defined(MNG_SUPPORT_DISPLAY) && defined(MNG_APP_CMS)
  893. #ifndef MNG_SKIPCHUNK_cHRM
  894. mng_processchroma MNG_DECL mng_getcb_processchroma (mng_handle hHandle)
  895. {
  896. #ifdef MNG_SUPPORT_TRACE
  897. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSCHROMA, MNG_LC_START);
  898. #endif
  899. MNG_VALIDHANDLEX (hHandle)
  900. #ifdef MNG_SUPPORT_TRACE
  901. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSCHROMA, MNG_LC_END);
  902. #endif
  903. return ((mng_datap)hHandle)->fProcesschroma;
  904. }
  905. #endif
  906. #endif /* MNG_SUPPORT_DISPLAY && MNG_APP_CMS */
  907. /* ************************************************************************** */
  908. #if defined(MNG_SUPPORT_DISPLAY) && defined(MNG_APP_CMS)
  909. mng_processsrgb MNG_DECL mng_getcb_processsrgb (mng_handle hHandle)
  910. {
  911. #ifdef MNG_SUPPORT_TRACE
  912. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSSRGB, MNG_LC_START);
  913. #endif
  914. MNG_VALIDHANDLEX (hHandle)
  915. #ifdef MNG_SUPPORT_TRACE
  916. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSSRGB, MNG_LC_END);
  917. #endif
  918. return ((mng_datap)hHandle)->fProcesssrgb;
  919. }
  920. #endif /* MNG_SUPPORT_DISPLAY && MNG_APP_CMS */
  921. /* ************************************************************************** */
  922. #if defined(MNG_SUPPORT_DISPLAY) && defined(MNG_APP_CMS)
  923. #ifndef MNG_SKIPCHUNK_iCCP
  924. mng_processiccp MNG_DECL mng_getcb_processiccp (mng_handle hHandle)
  925. {
  926. #ifdef MNG_SUPPORT_TRACE
  927. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSICCP, MNG_LC_START);
  928. #endif
  929. MNG_VALIDHANDLEX (hHandle)
  930. #ifdef MNG_SUPPORT_TRACE
  931. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSICCP, MNG_LC_END);
  932. #endif
  933. return ((mng_datap)hHandle)->fProcessiccp;
  934. }
  935. #endif
  936. #endif /* MNG_SUPPORT_DISPLAY && MNG_APP_CMS */
  937. /* ************************************************************************** */
  938. #if defined(MNG_SUPPORT_DISPLAY) && defined(MNG_APP_CMS)
  939. mng_processarow MNG_DECL mng_getcb_processarow (mng_handle hHandle)
  940. {
  941. #ifdef MNG_SUPPORT_TRACE
  942. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSAROW, MNG_LC_START);
  943. #endif
  944. MNG_VALIDHANDLEX (hHandle)
  945. #ifdef MNG_SUPPORT_TRACE
  946. MNG_TRACEX (((mng_datap)hHandle), MNG_FN_GETCB_PROCESSAROW, MNG_LC_END);
  947. #endif
  948. return ((mng_datap)hHandle)->fProcessarow;
  949. }
  950. #endif /* MNG_SUPPORT_DISPLAY && MNG_APP_CMS */
  951. /* ************************************************************************** */
  952. /* * end of file * */
  953. /* ************************************************************************** */