PageRenderTime 45ms CodeModel.GetById 23ms app.highlight 17ms RepoModel.GetById 1ms app.codeStats 0ms

/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
 64#if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
 65#pragma option -A                      /* force ANSI-C */
 66#endif
 67
 68#ifndef _libmng_display_h_
 69#define _libmng_display_h_
 70
 71/* ************************************************************************** */
 72
 73#ifdef MNG_INCLUDE_DISPLAY_PROCS
 74
 75/* ************************************************************************** */
 76
 77mng_retcode mng_display_progressive_refresh (mng_datap  pData,
 78                                             mng_uint32 iInterval);
 79
 80/* ************************************************************************** */
 81
 82mng_retcode mng_reset_objzero         (mng_datap      pData);
 83
 84mng_retcode mng_display_image         (mng_datap      pData,
 85                                       mng_imagep     pImage,
 86                                       mng_bool       bLayeradvanced);
 87
 88mng_retcode mng_execute_delta_image   (mng_datap      pData,
 89                                       mng_imagep     pTarget,
 90                                       mng_imagep     pDelta);
 91
 92/* ************************************************************************** */
 93
 94mng_retcode mng_process_display       (mng_datap      pData);
 95
 96/* ************************************************************************** */
 97
 98#ifdef MNG_OPTIMIZE_FOOTPRINT_INIT
 99png_imgtype mng_png_imgtype           (mng_uint8      colortype,
100                                       mng_uint8      bitdepth);
101#endif
102
103/* ************************************************************************** */
104
105#ifndef MNG_OPTIMIZE_DISPLAYCALLS
106
107mng_retcode mng_process_display_ihdr  (mng_datap      pData);
108
109#ifdef MNG_INCLUDE_MPNG_PROPOSAL
110mng_retcode mng_process_display_mpng  (mng_datap      pData);
111#endif
112
113#ifdef MNG_INCLUDE_ANG_PROPOSAL
114mng_retcode mng_process_display_ang   (mng_datap      pData);
115#endif
116
117mng_retcode mng_process_display_idat  (mng_datap      pData,
118                                       mng_uint32     iRawlen,
119                                       mng_uint8p     pRawdata);
120
121mng_retcode mng_process_display_iend  (mng_datap      pData);
122mng_retcode mng_process_display_mend  (mng_datap      pData);
123mng_retcode mng_process_display_mend2 (mng_datap      pData);
124mng_retcode mng_process_display_defi  (mng_datap      pData);
125
126#ifndef MNG_SKIPCHUNK_BASI
127mng_retcode mng_process_display_basi  (mng_datap      pData,
128                                       mng_uint16     iRed,
129                                       mng_uint16     iGreen,
130                                       mng_uint16     iBlue,
131                                       mng_bool       bHasalpha,
132                                       mng_uint16     iAlpha,
133                                       mng_uint8      iViewable);
134#endif
135
136#ifndef MNG_SKIPCHUNK_CLON
137mng_retcode mng_process_display_clon  (mng_datap      pData,
138                                       mng_uint16     iSourceid,
139                                       mng_uint16     iCloneid,
140                                       mng_uint8      iClonetype,
141                                       mng_bool       bHasdonotshow,
142                                       mng_uint8      iDonotshow,
143                                       mng_uint8      iConcrete,
144                                       mng_bool       bHasloca,
145                                       mng_uint8      iLocationtype,
146                                       mng_int32      iLocationx,
147                                       mng_int32      iLocationy);
148mng_retcode mng_process_display_clon2 (mng_datap      pData);
149#endif
150
151#ifndef MNG_SKIPCHUNK_DISC
152mng_retcode mng_process_display_disc  (mng_datap      pData,
153                                       mng_uint32     iCount,
154                                       mng_uint16p    pIds);
155#endif
156
157#ifndef MNG_SKIPCHUNK_FRAM
158mng_retcode mng_process_display_fram  (mng_datap      pData,
159                                       mng_uint8      iFramemode,
160                                       mng_uint8      iChangedelay,
161                                       mng_uint32     iDelay,
162                                       mng_uint8      iChangetimeout,
163                                       mng_uint32     iTimeout,
164                                       mng_uint8      iChangeclipping,
165                                       mng_uint8      iCliptype,
166                                       mng_int32      iClipl,
167                                       mng_int32      iClipr,
168                                       mng_int32      iClipt,
169                                       mng_int32      iClipb);
170mng_retcode mng_process_display_fram2 (mng_datap      pData);
171#endif
172
173#ifndef MNG_SKIPCHUNK_MOVE
174mng_retcode mng_process_display_move  (mng_datap      pData,
175                                       mng_uint16     iFromid,
176                                       mng_uint16     iToid,
177                                       mng_uint8      iMovetype,
178                                       mng_int32      iMovex,
179                                       mng_int32      iMovey);
180#endif
181
182#ifndef MNG_SKIPCHUNK_CLIP
183mng_retcode mng_process_display_clip  (mng_datap      pData,
184                                       mng_uint16     iFromid,
185                                       mng_uint16     iToid,
186                                       mng_uint8      iCliptype,
187                                       mng_int32      iClipl,
188                                       mng_int32      iClipr,
189                                       mng_int32      iClipt,
190                                       mng_int32      iClipb);
191#endif
192
193#ifndef MNG_SKIPCHUNK_SHOW
194mng_retcode mng_process_display_show  (mng_datap      pData);
195#endif
196#ifndef MNG_SKIPCHUNK_SAVE
197mng_retcode mng_process_display_save  (mng_datap      pData);
198#endif
199#ifndef MNG_SKIPCHUNK_SEEK
200mng_retcode mng_process_display_seek  (mng_datap      pData);
201#endif
202#ifdef MNG_INCLUDE_JNG
203mng_retcode mng_process_display_jhdr  (mng_datap      pData);
204
205mng_retcode mng_process_display_jdaa  (mng_datap      pData,
206                                       mng_uint32     iRawlen,
207                                       mng_uint8p     pRawdata);
208
209mng_retcode mng_process_display_jdat  (mng_datap      pData,
210                                       mng_uint32     iRawlen,
211                                       mng_uint8p     pRawdata);
212
213#endif
214#ifndef MNG_NO_DELTA_PNG
215mng_retcode mng_process_display_dhdr  (mng_datap      pData,
216                                       mng_uint16     iObjectid,
217                                       mng_uint8      iImagetype,
218                                       mng_uint8      iDeltatype,
219                                       mng_uint32     iBlockwidth,
220                                       mng_uint32     iBlockheight,
221                                       mng_uint32     iBlockx,
222                                       mng_uint32     iBlocky);
223
224mng_retcode mng_process_display_prom  (mng_datap      pData,
225                                       mng_uint8      iBitdepth,
226                                       mng_uint8      iColortype,
227                                       mng_uint8      iFilltype);
228
229mng_retcode mng_process_display_ipng  (mng_datap      pData);
230#ifdef MNG_INCLUDE_JNG
231mng_retcode mng_process_display_ijng  (mng_datap      pData);
232#endif
233
234mng_retcode mng_process_display_pplt  (mng_datap      pData,
235                                       mng_uint8      iType,
236                                       mng_uint32     iCount,
237                                       mng_palette8ep paIndexentries,
238                                       mng_uint8p     paAlphaentries,
239                                       mng_uint8p     paUsedentries);
240#endif
241
242#ifndef MNG_SKIPCHUNK_MAGN
243mng_retcode mng_process_display_magn  (mng_datap      pData,
244                                       mng_uint16     iFirstid,
245                                       mng_uint16     iLastid,
246                                       mng_uint8      iMethodX,
247                                       mng_uint16     iMX,
248                                       mng_uint16     iMY,
249                                       mng_uint16     iML,
250                                       mng_uint16     iMR,
251                                       mng_uint16     iMT,
252                                       mng_uint16     iMB,
253                                       mng_uint8      iMethodY);
254mng_retcode mng_process_display_magn2 (mng_datap      pData);
255#endif
256
257#ifndef MNG_SKIPCHUNK_PAST
258mng_retcode mng_process_display_past  (mng_datap      pData,
259                                       mng_uint16     iTargetid,
260                                       mng_uint8      iTargettype,
261                                       mng_int32      iTargetx,
262                                       mng_int32      iTargety,
263                                       mng_uint32     iCount,
264                                       mng_ptr        pSources);
265mng_retcode mng_process_display_past2 (mng_datap      pData);
266#endif
267
268#else /* MNG_OPTIMIZE_DISPLAYCALLS */
269
270mng_retcode mng_process_display_ihdr  (mng_datap      pData);
271#ifdef MNG_INCLUDE_MPNG_PROPOSAL
272mng_retcode mng_process_display_mpng  (mng_datap      pData);
273#endif
274mng_retcode mng_process_display_idat  (mng_datap      pData);
275mng_retcode mng_process_display_iend  (mng_datap      pData);
276mng_retcode mng_process_display_mend  (mng_datap      pData);
277mng_retcode mng_process_display_mend2 (mng_datap      pData);
278mng_retcode mng_process_display_defi  (mng_datap      pData);
279#ifndef MNG_SKIPCHUNK_BASI
280mng_retcode mng_process_display_basi  (mng_datap      pData);
281#endif
282#ifndef MNG_SKIPCHUNK_CLON
283mng_retcode mng_process_display_clon  (mng_datap      pData);
284mng_retcode mng_process_display_clon2 (mng_datap      pData);
285#endif
286#ifndef MNG_SKIPCHUNK_DISC
287mng_retcode mng_process_display_disc  (mng_datap      pData);
288#endif
289#ifndef MNG_SKIPCHUNK_FRAM
290mng_retcode mng_process_display_fram  (mng_datap      pData);
291mng_retcode mng_process_display_fram2 (mng_datap      pData);
292#endif
293#ifndef MNG_SKIPCHUNK_MOVE
294mng_retcode mng_process_display_move  (mng_datap      pData);
295#endif
296#ifndef MNG_SKIPCHUNK_CLIP
297mng_retcode mng_process_display_clip  (mng_datap      pData);
298#endif
299#ifndef MNG_SKIPCHUNK_SHOW
300mng_retcode mng_process_display_show  (mng_datap      pData);
301#endif
302#ifndef MNG_SKIPCHUNK_SAVE
303mng_retcode mng_process_display_save  (mng_datap      pData);
304#endif
305#ifndef MNG_SKIPCHUNK_SEEK
306mng_retcode mng_process_display_seek  (mng_datap      pData);
307#endif
308#ifdef MNG_INCLUDE_JNG
309mng_retcode mng_process_display_jhdr  (mng_datap      pData);
310mng_retcode mng_process_display_jdaa  (mng_datap      pData);
311mng_retcode mng_process_display_jdat  (mng_datap      pData);
312#endif
313#ifndef MNG_NO_DELTA_PNG
314mng_retcode mng_process_display_dhdr  (mng_datap      pData);
315mng_retcode mng_process_display_prom  (mng_datap      pData);
316mng_retcode mng_process_display_ipng  (mng_datap      pData);
317#ifdef MNG_INCLUDE_JNG
318mng_retcode mng_process_display_ijng  (mng_datap      pData);
319#endif
320mng_retcode mng_process_display_pplt  (mng_datap      pData);
321#endif
322#ifndef MNG_SKIPCHUNK_MAGN
323mng_retcode mng_process_display_magn  (mng_datap      pData);
324mng_retcode mng_process_display_magn2 (mng_datap      pData);
325#endif
326#ifndef MNG_SKIPCHUNK_PAST
327mng_retcode mng_process_display_past  (mng_datap      pData);
328mng_retcode mng_process_display_past2 (mng_datap      pData);
329#endif
330
331#endif /* MNG_OPTIMIZE_DISPLAYCALLS */
332
333/* ************************************************************************** */
334
335#endif /* MNG_INCLUDE_DISPLAY_PROCS */
336
337/* ************************************************************************** */
338
339#endif /* _libmng_display_h_ */
340
341/* ************************************************************************** */
342/* * end of file                                                            * */
343/* ************************************************************************** */