/src/FreeImage/Source/LibMNG/libmng_display.h

https://bitbucket.org/cabalistic/ogredeps/ · C++ Header · 343 lines · 226 code · 44 blank · 73 comment · 1 complexity · bfe1bf9f9efbf93ca3b3f596c6923f5c 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_display.h copyright (c) 2000-2007 G.Juyn * */
  8. /* * version : 1.0.10 * */
  9. /* * * */
  10. /* * purpose : Display management (definition) * */
  11. /* * * */
  12. /* * author : G.Juyn * */
  13. /* * * */
  14. /* * comment : Definition of the display managament routines * */
  15. /* * * */
  16. /* * changes : 0.5.1 - 05/08/2000 - G.Juyn * */
  17. /* * - changed strict-ANSI stuff * */
  18. /* * * */
  19. /* * 0.5.2 - 05/20/2000 - G.Juyn * */
  20. /* * - added JNG support stuff * */
  21. /* * * */
  22. /* * 0.5.3 - 06/16/2000 - G.Juyn * */
  23. /* * - changed progressive-display processing * */
  24. /* * 0.5.3 - 06/22/2000 - G.Juyn * */
  25. /* * - added support for delta-image processing * */
  26. /* * - added support for PPLT chunk processing * */
  27. /* * * */
  28. /* * 0.9.2 - 08/05/2000 - G.Juyn * */
  29. /* * - changed file-prefixes * */
  30. /* * 0.9.3 - 08/07/2000 - G.Juyn * */
  31. /* * - B111300 - fixup for improved portability * */
  32. /* * 0.9.3 - 08/26/2000 - G.Juyn * */
  33. /* * - added MAGN chunk * */
  34. /* * 0.9.3 - 10/16/2000 - G.Juyn * */
  35. /* * - added JDAA chunk * */
  36. /* * * */
  37. /* * 0.9.4 - 11/24/2000 - G.Juyn * */
  38. /* * - moved restore of object 0 to libmng_display * */
  39. /* * * */
  40. /* * 1.0.5 - 08/19/2002 - G.Juyn * */
  41. /* * - B597134 - libmng pollutes the linker namespace * */
  42. /* * 1.0.5 - 09/13/2002 - G.Juyn * */
  43. /* * - fixed read/write of MAGN chunk * */
  44. /* * 1.0.5 - 09/20/2002 - G.Juyn * */
  45. /* * - added support for PAST * */
  46. /* * 1.0.5 - 10/07/2002 - G.Juyn * */
  47. /* * - added proposed change in handling of TERM- & if-delay * */
  48. /* * 1.0.5 - 10/20/2002 - G.Juyn * */
  49. /* * - fixed display of visible target of PAST operation * */
  50. /* * * */
  51. /* * 1.0.7 - 03/24/2004 - G.R-P. * */
  52. /* * - added some SKIPCHUNK conditionals * */
  53. /* * * */
  54. /* * 1.0.9 - 12/11/2004 - G.Juyn * */
  55. /* * - added conditional MNG_OPTIMIZE_DISPLAYCALLS * */
  56. /* * * */
  57. /* * 1.0.10 - 04/08/2007 - G.Juyn * */
  58. /* * - added support for mPNG proposal * */
  59. /* * 1.0.10 - 04/12/2007 - G.Juyn * */
  60. /* * - added support for ANG proposal * */
  61. /* * * */
  62. /* ************************************************************************** */
  63. #if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
  64. #pragma option -A /* force ANSI-C */
  65. #endif
  66. #ifndef _libmng_display_h_
  67. #define _libmng_display_h_
  68. /* ************************************************************************** */
  69. #ifdef MNG_INCLUDE_DISPLAY_PROCS
  70. /* ************************************************************************** */
  71. mng_retcode mng_display_progressive_refresh (mng_datap pData,
  72. mng_uint32 iInterval);
  73. /* ************************************************************************** */
  74. mng_retcode mng_reset_objzero (mng_datap pData);
  75. mng_retcode mng_display_image (mng_datap pData,
  76. mng_imagep pImage,
  77. mng_bool bLayeradvanced);
  78. mng_retcode mng_execute_delta_image (mng_datap pData,
  79. mng_imagep pTarget,
  80. mng_imagep pDelta);
  81. /* ************************************************************************** */
  82. mng_retcode mng_process_display (mng_datap pData);
  83. /* ************************************************************************** */
  84. #ifdef MNG_OPTIMIZE_FOOTPRINT_INIT
  85. png_imgtype mng_png_imgtype (mng_uint8 colortype,
  86. mng_uint8 bitdepth);
  87. #endif
  88. /* ************************************************************************** */
  89. #ifndef MNG_OPTIMIZE_DISPLAYCALLS
  90. mng_retcode mng_process_display_ihdr (mng_datap pData);
  91. #ifdef MNG_INCLUDE_MPNG_PROPOSAL
  92. mng_retcode mng_process_display_mpng (mng_datap pData);
  93. #endif
  94. #ifdef MNG_INCLUDE_ANG_PROPOSAL
  95. mng_retcode mng_process_display_ang (mng_datap pData);
  96. #endif
  97. mng_retcode mng_process_display_idat (mng_datap pData,
  98. mng_uint32 iRawlen,
  99. mng_uint8p pRawdata);
  100. mng_retcode mng_process_display_iend (mng_datap pData);
  101. mng_retcode mng_process_display_mend (mng_datap pData);
  102. mng_retcode mng_process_display_mend2 (mng_datap pData);
  103. mng_retcode mng_process_display_defi (mng_datap pData);
  104. #ifndef MNG_SKIPCHUNK_BASI
  105. mng_retcode mng_process_display_basi (mng_datap pData,
  106. mng_uint16 iRed,
  107. mng_uint16 iGreen,
  108. mng_uint16 iBlue,
  109. mng_bool bHasalpha,
  110. mng_uint16 iAlpha,
  111. mng_uint8 iViewable);
  112. #endif
  113. #ifndef MNG_SKIPCHUNK_CLON
  114. mng_retcode mng_process_display_clon (mng_datap pData,
  115. mng_uint16 iSourceid,
  116. mng_uint16 iCloneid,
  117. mng_uint8 iClonetype,
  118. mng_bool bHasdonotshow,
  119. mng_uint8 iDonotshow,
  120. mng_uint8 iConcrete,
  121. mng_bool bHasloca,
  122. mng_uint8 iLocationtype,
  123. mng_int32 iLocationx,
  124. mng_int32 iLocationy);
  125. mng_retcode mng_process_display_clon2 (mng_datap pData);
  126. #endif
  127. #ifndef MNG_SKIPCHUNK_DISC
  128. mng_retcode mng_process_display_disc (mng_datap pData,
  129. mng_uint32 iCount,
  130. mng_uint16p pIds);
  131. #endif
  132. #ifndef MNG_SKIPCHUNK_FRAM
  133. mng_retcode mng_process_display_fram (mng_datap pData,
  134. mng_uint8 iFramemode,
  135. mng_uint8 iChangedelay,
  136. mng_uint32 iDelay,
  137. mng_uint8 iChangetimeout,
  138. mng_uint32 iTimeout,
  139. mng_uint8 iChangeclipping,
  140. mng_uint8 iCliptype,
  141. mng_int32 iClipl,
  142. mng_int32 iClipr,
  143. mng_int32 iClipt,
  144. mng_int32 iClipb);
  145. mng_retcode mng_process_display_fram2 (mng_datap pData);
  146. #endif
  147. #ifndef MNG_SKIPCHUNK_MOVE
  148. mng_retcode mng_process_display_move (mng_datap pData,
  149. mng_uint16 iFromid,
  150. mng_uint16 iToid,
  151. mng_uint8 iMovetype,
  152. mng_int32 iMovex,
  153. mng_int32 iMovey);
  154. #endif
  155. #ifndef MNG_SKIPCHUNK_CLIP
  156. mng_retcode mng_process_display_clip (mng_datap pData,
  157. mng_uint16 iFromid,
  158. mng_uint16 iToid,
  159. mng_uint8 iCliptype,
  160. mng_int32 iClipl,
  161. mng_int32 iClipr,
  162. mng_int32 iClipt,
  163. mng_int32 iClipb);
  164. #endif
  165. #ifndef MNG_SKIPCHUNK_SHOW
  166. mng_retcode mng_process_display_show (mng_datap pData);
  167. #endif
  168. #ifndef MNG_SKIPCHUNK_SAVE
  169. mng_retcode mng_process_display_save (mng_datap pData);
  170. #endif
  171. #ifndef MNG_SKIPCHUNK_SEEK
  172. mng_retcode mng_process_display_seek (mng_datap pData);
  173. #endif
  174. #ifdef MNG_INCLUDE_JNG
  175. mng_retcode mng_process_display_jhdr (mng_datap pData);
  176. mng_retcode mng_process_display_jdaa (mng_datap pData,
  177. mng_uint32 iRawlen,
  178. mng_uint8p pRawdata);
  179. mng_retcode mng_process_display_jdat (mng_datap pData,
  180. mng_uint32 iRawlen,
  181. mng_uint8p pRawdata);
  182. #endif
  183. #ifndef MNG_NO_DELTA_PNG
  184. mng_retcode mng_process_display_dhdr (mng_datap pData,
  185. mng_uint16 iObjectid,
  186. mng_uint8 iImagetype,
  187. mng_uint8 iDeltatype,
  188. mng_uint32 iBlockwidth,
  189. mng_uint32 iBlockheight,
  190. mng_uint32 iBlockx,
  191. mng_uint32 iBlocky);
  192. mng_retcode mng_process_display_prom (mng_datap pData,
  193. mng_uint8 iBitdepth,
  194. mng_uint8 iColortype,
  195. mng_uint8 iFilltype);
  196. mng_retcode mng_process_display_ipng (mng_datap pData);
  197. #ifdef MNG_INCLUDE_JNG
  198. mng_retcode mng_process_display_ijng (mng_datap pData);
  199. #endif
  200. mng_retcode mng_process_display_pplt (mng_datap pData,
  201. mng_uint8 iType,
  202. mng_uint32 iCount,
  203. mng_palette8ep paIndexentries,
  204. mng_uint8p paAlphaentries,
  205. mng_uint8p paUsedentries);
  206. #endif
  207. #ifndef MNG_SKIPCHUNK_MAGN
  208. mng_retcode mng_process_display_magn (mng_datap pData,
  209. mng_uint16 iFirstid,
  210. mng_uint16 iLastid,
  211. mng_uint8 iMethodX,
  212. mng_uint16 iMX,
  213. mng_uint16 iMY,
  214. mng_uint16 iML,
  215. mng_uint16 iMR,
  216. mng_uint16 iMT,
  217. mng_uint16 iMB,
  218. mng_uint8 iMethodY);
  219. mng_retcode mng_process_display_magn2 (mng_datap pData);
  220. #endif
  221. #ifndef MNG_SKIPCHUNK_PAST
  222. mng_retcode mng_process_display_past (mng_datap pData,
  223. mng_uint16 iTargetid,
  224. mng_uint8 iTargettype,
  225. mng_int32 iTargetx,
  226. mng_int32 iTargety,
  227. mng_uint32 iCount,
  228. mng_ptr pSources);
  229. mng_retcode mng_process_display_past2 (mng_datap pData);
  230. #endif
  231. #else /* MNG_OPTIMIZE_DISPLAYCALLS */
  232. mng_retcode mng_process_display_ihdr (mng_datap pData);
  233. #ifdef MNG_INCLUDE_MPNG_PROPOSAL
  234. mng_retcode mng_process_display_mpng (mng_datap pData);
  235. #endif
  236. mng_retcode mng_process_display_idat (mng_datap pData);
  237. mng_retcode mng_process_display_iend (mng_datap pData);
  238. mng_retcode mng_process_display_mend (mng_datap pData);
  239. mng_retcode mng_process_display_mend2 (mng_datap pData);
  240. mng_retcode mng_process_display_defi (mng_datap pData);
  241. #ifndef MNG_SKIPCHUNK_BASI
  242. mng_retcode mng_process_display_basi (mng_datap pData);
  243. #endif
  244. #ifndef MNG_SKIPCHUNK_CLON
  245. mng_retcode mng_process_display_clon (mng_datap pData);
  246. mng_retcode mng_process_display_clon2 (mng_datap pData);
  247. #endif
  248. #ifndef MNG_SKIPCHUNK_DISC
  249. mng_retcode mng_process_display_disc (mng_datap pData);
  250. #endif
  251. #ifndef MNG_SKIPCHUNK_FRAM
  252. mng_retcode mng_process_display_fram (mng_datap pData);
  253. mng_retcode mng_process_display_fram2 (mng_datap pData);
  254. #endif
  255. #ifndef MNG_SKIPCHUNK_MOVE
  256. mng_retcode mng_process_display_move (mng_datap pData);
  257. #endif
  258. #ifndef MNG_SKIPCHUNK_CLIP
  259. mng_retcode mng_process_display_clip (mng_datap pData);
  260. #endif
  261. #ifndef MNG_SKIPCHUNK_SHOW
  262. mng_retcode mng_process_display_show (mng_datap pData);
  263. #endif
  264. #ifndef MNG_SKIPCHUNK_SAVE
  265. mng_retcode mng_process_display_save (mng_datap pData);
  266. #endif
  267. #ifndef MNG_SKIPCHUNK_SEEK
  268. mng_retcode mng_process_display_seek (mng_datap pData);
  269. #endif
  270. #ifdef MNG_INCLUDE_JNG
  271. mng_retcode mng_process_display_jhdr (mng_datap pData);
  272. mng_retcode mng_process_display_jdaa (mng_datap pData);
  273. mng_retcode mng_process_display_jdat (mng_datap pData);
  274. #endif
  275. #ifndef MNG_NO_DELTA_PNG
  276. mng_retcode mng_process_display_dhdr (mng_datap pData);
  277. mng_retcode mng_process_display_prom (mng_datap pData);
  278. mng_retcode mng_process_display_ipng (mng_datap pData);
  279. #ifdef MNG_INCLUDE_JNG
  280. mng_retcode mng_process_display_ijng (mng_datap pData);
  281. #endif
  282. mng_retcode mng_process_display_pplt (mng_datap pData);
  283. #endif
  284. #ifndef MNG_SKIPCHUNK_MAGN
  285. mng_retcode mng_process_display_magn (mng_datap pData);
  286. mng_retcode mng_process_display_magn2 (mng_datap pData);
  287. #endif
  288. #ifndef MNG_SKIPCHUNK_PAST
  289. mng_retcode mng_process_display_past (mng_datap pData);
  290. mng_retcode mng_process_display_past2 (mng_datap pData);
  291. #endif
  292. #endif /* MNG_OPTIMIZE_DISPLAYCALLS */
  293. /* ************************************************************************** */
  294. #endif /* MNG_INCLUDE_DISPLAY_PROCS */
  295. /* ************************************************************************** */
  296. #endif /* _libmng_display_h_ */
  297. /* ************************************************************************** */
  298. /* * end of file * */
  299. /* ************************************************************************** */