src/3rdparty/libmng/libmng_display.h
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_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 
       
    77 mng_retcode mng_display_progressive_refresh (mng_datap  pData,
       
    78                                              mng_uint32 iInterval);
       
    79 
       
    80 /* ************************************************************************** */
       
    81 
       
    82 mng_retcode mng_reset_objzero         (mng_datap      pData);
       
    83 
       
    84 mng_retcode mng_display_image         (mng_datap      pData,
       
    85                                        mng_imagep     pImage,
       
    86                                        mng_bool       bLayeradvanced);
       
    87 
       
    88 mng_retcode mng_execute_delta_image   (mng_datap      pData,
       
    89                                        mng_imagep     pTarget,
       
    90                                        mng_imagep     pDelta);
       
    91 
       
    92 /* ************************************************************************** */
       
    93 
       
    94 mng_retcode mng_process_display       (mng_datap      pData);
       
    95 
       
    96 /* ************************************************************************** */
       
    97 
       
    98 #ifdef MNG_OPTIMIZE_FOOTPRINT_INIT
       
    99 png_imgtype mng_png_imgtype           (mng_uint8      colortype,
       
   100                                        mng_uint8      bitdepth);
       
   101 #endif
       
   102 
       
   103 /* ************************************************************************** */
       
   104 
       
   105 #ifndef MNG_OPTIMIZE_DISPLAYCALLS
       
   106 
       
   107 mng_retcode mng_process_display_ihdr  (mng_datap      pData);
       
   108 
       
   109 #ifdef MNG_INCLUDE_MPNG_PROPOSAL
       
   110 mng_retcode mng_process_display_mpng  (mng_datap      pData);
       
   111 #endif
       
   112 
       
   113 #ifdef MNG_INCLUDE_ANG_PROPOSAL
       
   114 mng_retcode mng_process_display_ang   (mng_datap      pData);
       
   115 #endif
       
   116 
       
   117 mng_retcode mng_process_display_idat  (mng_datap      pData,
       
   118                                        mng_uint32     iRawlen,
       
   119                                        mng_uint8p     pRawdata);
       
   120 
       
   121 mng_retcode mng_process_display_iend  (mng_datap      pData);
       
   122 mng_retcode mng_process_display_mend  (mng_datap      pData);
       
   123 mng_retcode mng_process_display_mend2 (mng_datap      pData);
       
   124 mng_retcode mng_process_display_defi  (mng_datap      pData);
       
   125 
       
   126 #ifndef MNG_SKIPCHUNK_BASI
       
   127 mng_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
       
   137 mng_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);
       
   148 mng_retcode mng_process_display_clon2 (mng_datap      pData);
       
   149 #endif
       
   150 
       
   151 #ifndef MNG_SKIPCHUNK_DISC
       
   152 mng_retcode mng_process_display_disc  (mng_datap      pData,
       
   153                                        mng_uint32     iCount,
       
   154                                        mng_uint16p    pIds);
       
   155 #endif
       
   156 
       
   157 #ifndef MNG_SKIPCHUNK_FRAM
       
   158 mng_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);
       
   170 mng_retcode mng_process_display_fram2 (mng_datap      pData);
       
   171 #endif
       
   172 
       
   173 #ifndef MNG_SKIPCHUNK_MOVE
       
   174 mng_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
       
   183 mng_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
       
   194 mng_retcode mng_process_display_show  (mng_datap      pData);
       
   195 #endif
       
   196 #ifndef MNG_SKIPCHUNK_SAVE
       
   197 mng_retcode mng_process_display_save  (mng_datap      pData);
       
   198 #endif
       
   199 #ifndef MNG_SKIPCHUNK_SEEK
       
   200 mng_retcode mng_process_display_seek  (mng_datap      pData);
       
   201 #endif
       
   202 #ifdef MNG_INCLUDE_JNG
       
   203 mng_retcode mng_process_display_jhdr  (mng_datap      pData);
       
   204 
       
   205 mng_retcode mng_process_display_jdaa  (mng_datap      pData,
       
   206                                        mng_uint32     iRawlen,
       
   207                                        mng_uint8p     pRawdata);
       
   208 
       
   209 mng_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
       
   215 mng_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 
       
   224 mng_retcode mng_process_display_prom  (mng_datap      pData,
       
   225                                        mng_uint8      iBitdepth,
       
   226                                        mng_uint8      iColortype,
       
   227                                        mng_uint8      iFilltype);
       
   228 
       
   229 mng_retcode mng_process_display_ipng  (mng_datap      pData);
       
   230 #ifdef MNG_INCLUDE_JNG
       
   231 mng_retcode mng_process_display_ijng  (mng_datap      pData);
       
   232 #endif
       
   233 
       
   234 mng_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
       
   243 mng_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);
       
   254 mng_retcode mng_process_display_magn2 (mng_datap      pData);
       
   255 #endif
       
   256 
       
   257 #ifndef MNG_SKIPCHUNK_PAST
       
   258 mng_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);
       
   265 mng_retcode mng_process_display_past2 (mng_datap      pData);
       
   266 #endif
       
   267 
       
   268 #else /* MNG_OPTIMIZE_DISPLAYCALLS */
       
   269 
       
   270 mng_retcode mng_process_display_ihdr  (mng_datap      pData);
       
   271 #ifdef MNG_INCLUDE_MPNG_PROPOSAL
       
   272 mng_retcode mng_process_display_mpng  (mng_datap      pData);
       
   273 #endif
       
   274 mng_retcode mng_process_display_idat  (mng_datap      pData);
       
   275 mng_retcode mng_process_display_iend  (mng_datap      pData);
       
   276 mng_retcode mng_process_display_mend  (mng_datap      pData);
       
   277 mng_retcode mng_process_display_mend2 (mng_datap      pData);
       
   278 mng_retcode mng_process_display_defi  (mng_datap      pData);
       
   279 #ifndef MNG_SKIPCHUNK_BASI
       
   280 mng_retcode mng_process_display_basi  (mng_datap      pData);
       
   281 #endif
       
   282 #ifndef MNG_SKIPCHUNK_CLON
       
   283 mng_retcode mng_process_display_clon  (mng_datap      pData);
       
   284 mng_retcode mng_process_display_clon2 (mng_datap      pData);
       
   285 #endif
       
   286 #ifndef MNG_SKIPCHUNK_DISC
       
   287 mng_retcode mng_process_display_disc  (mng_datap      pData);
       
   288 #endif
       
   289 #ifndef MNG_SKIPCHUNK_FRAM
       
   290 mng_retcode mng_process_display_fram  (mng_datap      pData);
       
   291 mng_retcode mng_process_display_fram2 (mng_datap      pData);
       
   292 #endif
       
   293 #ifndef MNG_SKIPCHUNK_MOVE
       
   294 mng_retcode mng_process_display_move  (mng_datap      pData);
       
   295 #endif
       
   296 #ifndef MNG_SKIPCHUNK_CLIP
       
   297 mng_retcode mng_process_display_clip  (mng_datap      pData);
       
   298 #endif
       
   299 #ifndef MNG_SKIPCHUNK_SHOW
       
   300 mng_retcode mng_process_display_show  (mng_datap      pData);
       
   301 #endif
       
   302 #ifndef MNG_SKIPCHUNK_SAVE
       
   303 mng_retcode mng_process_display_save  (mng_datap      pData);
       
   304 #endif
       
   305 #ifndef MNG_SKIPCHUNK_SEEK
       
   306 mng_retcode mng_process_display_seek  (mng_datap      pData);
       
   307 #endif
       
   308 #ifdef MNG_INCLUDE_JNG
       
   309 mng_retcode mng_process_display_jhdr  (mng_datap      pData);
       
   310 mng_retcode mng_process_display_jdaa  (mng_datap      pData);
       
   311 mng_retcode mng_process_display_jdat  (mng_datap      pData);
       
   312 #endif
       
   313 #ifndef MNG_NO_DELTA_PNG
       
   314 mng_retcode mng_process_display_dhdr  (mng_datap      pData);
       
   315 mng_retcode mng_process_display_prom  (mng_datap      pData);
       
   316 mng_retcode mng_process_display_ipng  (mng_datap      pData);
       
   317 #ifdef MNG_INCLUDE_JNG
       
   318 mng_retcode mng_process_display_ijng  (mng_datap      pData);
       
   319 #endif
       
   320 mng_retcode mng_process_display_pplt  (mng_datap      pData);
       
   321 #endif
       
   322 #ifndef MNG_SKIPCHUNK_MAGN
       
   323 mng_retcode mng_process_display_magn  (mng_datap      pData);
       
   324 mng_retcode mng_process_display_magn2 (mng_datap      pData);
       
   325 #endif
       
   326 #ifndef MNG_SKIPCHUNK_PAST
       
   327 mng_retcode mng_process_display_past  (mng_datap      pData);
       
   328 mng_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 /* ************************************************************************** */