Eneboo - Documentación para desarrolladores
src/qt/src/3rdparty/libmng/libmng_chunks.h
Ir a la documentación de este archivo.
00001 /* ************************************************************************** */
00002 /* *             For conditions of distribution and use,                    * */
00003 /* *                see copyright notice in libmng.h                        * */
00004 /* ************************************************************************** */
00005 /* *                                                                        * */
00006 /* * project   : libmng                                                     * */
00007 /* * file      : libmng_chunks.h           copyright (c) 2000 G.Juyn        * */
00008 /* * version   : 1.0.0                                                      * */
00009 /* *                                                                        * */
00010 /* * purpose   : Chunk structures (definition)                              * */
00011 /* *                                                                        * */
00012 /* * author    : G.Juyn                                                     * */
00013 /* * web       : http://www.3-t.com                                         * */
00014 /* * email     : mailto:info@3-t.com                                        * */
00015 /* *                                                                        * */
00016 /* * comment   : Definition of known chunk structures                       * */
00017 /* *                                                                        * */
00018 /* * changes   : 0.5.1 - 05/04/2000 - G.Juyn                                * */
00019 /* *             - put in some extra comments                               * */
00020 /* *             0.5.1 - 05/06/2000 - G.Juyn                                * */
00021 /* *             - fixed layout for sBIT, PPLT                              * */
00022 /* *             0.5.1 - 05/08/2000 - G.Juyn                                * */
00023 /* *             - changed write callback definition                        * */
00024 /* *             - changed strict-ANSI stuff                                * */
00025 /* *             0.5.1 - 05/11/2000 - G.Juyn                                * */
00026 /* *             - fixed layout for PPLT again (missed deltatype ?!?)       * */
00027 /* *                                                                        * */
00028 /* *             0.5.2 - 05/31/2000 - G.Juyn                                * */
00029 /* *             - removed useless definition (contributed by Tim Rowley)   * */
00030 /* *             0.5.2 - 06/03/2000 - G.Juyn                                * */
00031 /* *             - fixed makeup for Linux gcc compile                       * */
00032 /* *                                                                        * */
00033 /* *             0.9.2 - 08/05/2000 - G.Juyn                                * */
00034 /* *             - changed file-prefixes                                    * */
00035 /* *                                                                        * */
00036 /* *             0.9.3 - 08/26/2000 - G.Juyn                                * */
00037 /* *             - added MAGN chunk                                         * */
00038 /* *             0.9.3 - 09/10/2000 - G.Juyn                                * */
00039 /* *             - fixed DEFI behavior                                      * */
00040 /* *             0.9.3 - 10/16/2000 - G.Juyn                                * */
00041 /* *             - added JDAA chunk                                         * */
00042 /* *                                                                        * */
00043 /* ************************************************************************** */
00044 
00045 #if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
00046 #pragma option -A                      /* force ANSI-C */
00047 #endif
00048 
00049 #ifndef _libmng_chunks_h_
00050 #define _libmng_chunks_h_
00051 
00052 /* ************************************************************************** */
00053 
00054 #ifdef MNG_SWAP_ENDIAN
00055 #define PNG_SIG 0x474e5089L
00056 #define JNG_SIG 0x474e4a8bL
00057 #define MNG_SIG 0x474e4d8aL
00058 #define POST_SIG 0x0a1a0a0dL
00059 #else
00060 #define PNG_SIG 0x89504e47L
00061 #define JNG_SIG 0x8b4a4e47L
00062 #define MNG_SIG 0x8a4d4e47L
00063 #define POST_SIG 0x0d0a1a0aL
00064 #endif
00065 
00066 /* ************************************************************************** */
00067 
00068 typedef mng_retcode (*mng_createchunk)  (mng_datap   pData,
00069                                          mng_chunkp  pHeader,
00070                                          mng_chunkp* ppChunk);
00071 
00072 typedef mng_retcode (*mng_cleanupchunk) (mng_datap   pData,
00073                                          mng_chunkp  pHeader);
00074 
00075 typedef mng_retcode (*mng_readchunk)    (mng_datap   pData,
00076                                          mng_chunkp  pHeader,
00077                                          mng_uint32  iRawlen,
00078                                          mng_uint8p  pRawdata,
00079                                          mng_chunkp* pChunk);
00080 
00081 typedef mng_retcode (*mng_writechunk)   (mng_datap   pData,
00082                                          mng_chunkp  pChunk);
00083 
00084 /* ************************************************************************** */
00085 
00086 typedef struct {                       /* generic header */
00087            mng_chunkid       iChunkname;
00088            mng_createchunk   fCreate;
00089            mng_cleanupchunk  fCleanup;
00090            mng_readchunk     fRead;
00091            mng_writechunk    fWrite;
00092            mng_chunkp        pNext;    /* for double-linked list */
00093            mng_chunkp        pPrev;
00094         } mng_chunk_header;
00095 typedef mng_chunk_header * mng_chunk_headerp;
00096 
00097 /* ************************************************************************** */
00098 
00099 typedef struct {                       /* IHDR */
00100            mng_chunk_header  sHeader;
00101            mng_uint32        iWidth;
00102            mng_uint32        iHeight;
00103            mng_uint8         iBitdepth;
00104            mng_uint8         iColortype;
00105            mng_uint8         iCompression;
00106            mng_uint8         iFilter;
00107            mng_uint8         iInterlace;
00108         } mng_ihdr;
00109 typedef mng_ihdr * mng_ihdrp;
00110 
00111 /* ************************************************************************** */
00112 
00113 typedef struct {                       /* PLTE */
00114            mng_chunk_header  sHeader;
00115            mng_bool          bEmpty;
00116            mng_uint32        iEntrycount;
00117            mng_rgbpaltab     aEntries;
00118         } mng_plte;
00119 typedef mng_plte * mng_pltep;
00120 
00121 /* ************************************************************************** */
00122 
00123 typedef struct {                       /* IDAT */
00124            mng_chunk_header  sHeader;
00125            mng_bool          bEmpty;
00126            mng_uint32        iDatasize;
00127            mng_ptr           pData;
00128         } mng_idat;
00129 typedef mng_idat * mng_idatp;
00130 
00131 /* ************************************************************************** */
00132 
00133 typedef struct {                       /* IEND */
00134            mng_chunk_header  sHeader;
00135         } mng_iend;
00136 typedef mng_iend * mng_iendp;
00137 
00138 /* ************************************************************************** */
00139 
00140 typedef struct {                       /* tRNS */
00141            mng_chunk_header  sHeader;
00142            mng_bool          bEmpty;
00143            mng_bool          bGlobal;
00144            mng_uint8         iType;    /* colortype (0,2,3) */
00145            mng_uint32        iCount;
00146            mng_uint8arr      aEntries;
00147            mng_uint16        iGray;
00148            mng_uint16        iRed;
00149            mng_uint16        iGreen;
00150            mng_uint16        iBlue;
00151            mng_uint32        iRawlen;
00152            mng_uint8arr      aRawdata;
00153         } mng_trns;
00154 typedef mng_trns * mng_trnsp;
00155 
00156 /* ************************************************************************** */
00157 
00158 typedef struct {                       /* gAMA */
00159            mng_chunk_header  sHeader;
00160            mng_bool          bEmpty;
00161            mng_uint32        iGamma;
00162         } mng_gama;
00163 typedef mng_gama * mng_gamap;
00164 
00165 /* ************************************************************************** */
00166 
00167 typedef struct {                       /* cHRM */
00168            mng_chunk_header  sHeader;
00169            mng_bool          bEmpty;
00170            mng_uint32        iWhitepointx;
00171            mng_uint32        iWhitepointy;
00172            mng_uint32        iRedx;
00173            mng_uint32        iRedy;
00174            mng_uint32        iGreenx;
00175            mng_uint32        iGreeny;
00176            mng_uint32        iBluex;
00177            mng_uint32        iBluey;
00178         } mng_chrm;
00179 typedef mng_chrm * mng_chrmp;
00180 
00181 /* ************************************************************************** */
00182 
00183 typedef struct {                       /* sRGB */
00184            mng_chunk_header  sHeader;
00185            mng_bool          bEmpty;
00186            mng_uint8         iRenderingintent;
00187         } mng_srgb;
00188 typedef mng_srgb * mng_srgbp;
00189 
00190 /* ************************************************************************** */
00191 
00192 typedef struct {                       /* iCCP */
00193            mng_chunk_header  sHeader;
00194            mng_bool          bEmpty;
00195            mng_uint32        iNamesize;
00196            mng_pchar         zName;
00197            mng_uint8         iCompression;
00198            mng_uint32        iProfilesize;
00199            mng_ptr           pProfile;
00200         } mng_iccp;
00201 typedef mng_iccp * mng_iccpp;
00202 
00203 /* ************************************************************************** */
00204 
00205 typedef struct {                       /* tEXt */
00206            mng_chunk_header  sHeader;
00207            mng_uint32        iKeywordsize;
00208            mng_pchar         zKeyword;
00209            mng_uint32        iTextsize;
00210            mng_pchar         zText;
00211         } mng_text;
00212 typedef mng_text * mng_textp;
00213 
00214 /* ************************************************************************** */
00215 
00216 typedef struct {                       /* zTXt */
00217            mng_chunk_header  sHeader;
00218            mng_uint32        iKeywordsize;
00219            mng_pchar         zKeyword;
00220            mng_uint8         iCompression;
00221            mng_uint32        iTextsize;
00222            mng_pchar         zText;
00223         } mng_ztxt;
00224 typedef mng_ztxt * mng_ztxtp;
00225 
00226 /* ************************************************************************** */
00227 
00228 typedef struct {                       /* iTXt */
00229            mng_chunk_header  sHeader;
00230            mng_uint32        iKeywordsize;
00231            mng_pchar         zKeyword;
00232            mng_uint8         iCompressionflag;
00233            mng_uint8         iCompressionmethod;
00234            mng_uint32        iLanguagesize;
00235            mng_pchar         zLanguage;
00236            mng_uint32        iTranslationsize;
00237            mng_pchar         zTranslation;
00238            mng_uint32        iTextsize;
00239            mng_pchar         zText;
00240         } mng_itxt;
00241 typedef mng_itxt * mng_itxtp;
00242 
00243 /* ************************************************************************** */
00244 
00245 typedef struct {                       /* bKGD */
00246            mng_chunk_header  sHeader;
00247            mng_bool          bEmpty;
00248            mng_uint8         iType;    /* 3=indexed, 0=gray, 2=rgb */
00249            mng_uint8         iIndex;
00250            mng_uint16        iGray;
00251            mng_uint16        iRed;
00252            mng_uint16        iGreen;
00253            mng_uint16        iBlue;
00254         } mng_bkgd;
00255 typedef mng_bkgd * mng_bkgdp;
00256 
00257 /* ************************************************************************** */
00258 
00259 typedef struct {                       /* pHYs */
00260            mng_chunk_header  sHeader;
00261            mng_bool          bEmpty;
00262            mng_uint32        iSizex;
00263            mng_uint32        iSizey;
00264            mng_uint8         iUnit;
00265         } mng_phys;
00266 typedef mng_phys * mng_physp;
00267 
00268 /* ************************************************************************** */
00269 
00270 typedef struct {                       /* sBIT */
00271            mng_chunk_header  sHeader;
00272            mng_bool          bEmpty;
00273            mng_uint8         iType;    /* colortype (0,2,3,4,6,10,12,14,16) */
00274            mng_uint8arr4     aBits;
00275         } mng_sbit;
00276 typedef mng_sbit * mng_sbitp;
00277 
00278 /* ************************************************************************** */
00279 
00280 typedef struct {                       /* sPLT */
00281            mng_chunk_header  sHeader;
00282            mng_bool          bEmpty;
00283            mng_uint32        iNamesize;
00284            mng_pchar         zName;
00285            mng_uint8         iSampledepth;
00286            mng_uint32        iEntrycount;
00287            mng_ptr           pEntries;
00288         } mng_splt;
00289 typedef mng_splt * mng_spltp;
00290 
00291 /* ************************************************************************** */
00292 
00293 typedef struct {                       /* hIST */
00294            mng_chunk_header  sHeader;
00295            mng_uint32        iEntrycount;
00296            mng_uint16arr     aEntries;
00297         } mng_hist;
00298 typedef mng_hist * mng_histp;
00299 
00300 /* ************************************************************************** */
00301 
00302 typedef struct {                       /* tIME */
00303            mng_chunk_header  sHeader;
00304            mng_uint16        iYear;
00305            mng_uint8         iMonth;
00306            mng_uint8         iDay;
00307            mng_uint8         iHour;
00308            mng_uint8         iMinute;
00309            mng_uint8         iSecond;
00310         } mng_time;
00311 typedef mng_time * mng_timep;
00312 
00313 /* ************************************************************************** */
00314 
00315 typedef struct {                       /* MHDR */
00316            mng_chunk_header  sHeader;
00317            mng_uint32        iWidth;
00318            mng_uint32        iHeight;
00319            mng_uint32        iTicks;
00320            mng_uint32        iLayercount;
00321            mng_uint32        iFramecount;
00322            mng_uint32        iPlaytime;
00323            mng_uint32        iSimplicity;
00324         } mng_mhdr;
00325 typedef mng_mhdr * mng_mhdrp;
00326 
00327 /* ************************************************************************** */
00328 
00329 typedef struct {                       /* MEND */
00330            mng_chunk_header  sHeader;
00331         } mng_mend;
00332 typedef mng_mend * mng_mendp;
00333 
00334 /* ************************************************************************** */
00335 
00336 typedef struct {                       /* LOOP */
00337            mng_chunk_header  sHeader;
00338            mng_uint8         iLevel;
00339            mng_uint32        iRepeat;
00340            mng_uint8         iTermination;
00341            mng_uint32        iItermin;
00342            mng_uint32        iItermax;
00343            mng_uint32        iCount;
00344            mng_uint32p       pSignals;
00345         } mng_loop;
00346 typedef mng_loop * mng_loopp;
00347 
00348 /* ************************************************************************** */
00349 
00350 typedef struct {                       /* ENDL */
00351            mng_chunk_header  sHeader;
00352            mng_uint8         iLevel;
00353         } mng_endl;
00354 typedef mng_endl * mng_endlp;
00355 
00356 /* ************************************************************************** */
00357 
00358 typedef struct {                       /* DEFI */
00359            mng_chunk_header  sHeader;
00360            mng_uint16        iObjectid;
00361            mng_bool          bHasdonotshow;
00362            mng_uint8         iDonotshow;
00363            mng_bool          bHasconcrete;
00364            mng_uint8         iConcrete;
00365            mng_bool          bHasloca;
00366            mng_int32         iXlocation;
00367            mng_int32         iYlocation;
00368            mng_bool          bHasclip;
00369            mng_int32         iLeftcb;
00370            mng_int32         iRightcb;
00371            mng_int32         iTopcb;
00372            mng_int32         iBottomcb;
00373         } mng_defi;
00374 typedef mng_defi * mng_defip;
00375 
00376 /* ************************************************************************** */
00377 
00378 typedef struct {                       /* BASI */
00379            mng_chunk_header  sHeader;
00380            mng_uint32        iWidth;
00381            mng_uint32        iHeight;
00382            mng_uint8         iBitdepth;
00383            mng_uint8         iColortype;
00384            mng_uint8         iCompression;
00385            mng_uint8         iFilter;
00386            mng_uint8         iInterlace;
00387            mng_uint16        iRed;
00388            mng_uint16        iGreen;
00389            mng_uint16        iBlue;
00390            mng_uint16        iAlpha;
00391            mng_uint8         iViewable;
00392         } mng_basi;
00393 typedef mng_basi * mng_basip;
00394 
00395 /* ************************************************************************** */
00396 
00397 typedef struct {                       /* CLON */
00398            mng_chunk_header  sHeader;
00399            mng_uint16        iSourceid;
00400            mng_uint16        iCloneid;
00401            mng_uint8         iClonetype;
00402            mng_uint8         iDonotshow;
00403            mng_uint8         iConcrete;
00404            mng_bool          bHasloca;
00405            mng_uint8         iLocationtype;
00406            mng_int32         iLocationx;
00407            mng_int32         iLocationy;
00408         } mng_clon;
00409 typedef mng_clon * mng_clonp;
00410 
00411 /* ************************************************************************** */
00412 
00413 typedef struct {                       /* PAST source */
00414            mng_uint16        iSourceid;
00415            mng_uint8         iComposition;
00416            mng_uint8         iOrientation;
00417            mng_uint8         iOffsettype;
00418            mng_int32         iOffsetx;
00419            mng_int32         iOffsety;
00420            mng_uint8         iBoundarytype;
00421            mng_int32         iBoundaryl;
00422            mng_int32         iBoundaryr;
00423            mng_int32         iBoundaryt;
00424            mng_int32         iBoundaryb;
00425         } mng_past_source;
00426 typedef mng_past_source * mng_past_sourcep;
00427 
00428 typedef struct {                       /* PAST */
00429            mng_chunk_header  sHeader;
00430            mng_uint16        iDestid;
00431            mng_uint8         iTargettype;
00432            mng_int32         iTargetx;
00433            mng_int32         iTargety;
00434            mng_uint32        iCount;
00435            mng_past_sourcep  pSources;
00436         } mng_past;
00437 typedef mng_past * mng_pastp;
00438 
00439 /* ************************************************************************** */
00440 
00441 typedef struct {                       /* DISC */
00442            mng_chunk_header  sHeader;
00443            mng_uint32        iCount;
00444            mng_uint16p       pObjectids;
00445         } mng_disc;
00446 typedef mng_disc * mng_discp;
00447 
00448 /* ************************************************************************** */
00449 
00450 typedef struct {                       /* BACK */
00451            mng_chunk_header  sHeader;
00452            mng_uint16        iRed;
00453            mng_uint16        iGreen;
00454            mng_uint16        iBlue;
00455            mng_uint8         iMandatory;
00456            mng_uint16        iImageid;
00457            mng_uint8         iTile;
00458         } mng_back;
00459 typedef mng_back * mng_backp;
00460 
00461 /* ************************************************************************** */
00462 
00463 typedef struct {                       /* FRAM */
00464            mng_chunk_header  sHeader;
00465            mng_bool          bEmpty;
00466            mng_uint8         iMode;
00467            mng_uint32        iNamesize;
00468            mng_pchar         zName;
00469            mng_uint8         iChangedelay;
00470            mng_uint8         iChangetimeout;
00471            mng_uint8         iChangeclipping;
00472            mng_uint8         iChangesyncid;
00473            mng_uint32        iDelay;
00474            mng_uint32        iTimeout;
00475            mng_uint8         iBoundarytype;
00476            mng_int32         iBoundaryl;
00477            mng_int32         iBoundaryr;
00478            mng_int32         iBoundaryt;
00479            mng_int32         iBoundaryb;
00480            mng_uint32        iCount;
00481            mng_uint32p       pSyncids;
00482         } mng_fram;
00483 typedef mng_fram * mng_framp;
00484 
00485 /* ************************************************************************** */
00486 
00487 typedef struct {                       /* MOVE */
00488            mng_chunk_header  sHeader;
00489            mng_uint16        iFirstid;
00490            mng_uint16        iLastid;
00491            mng_uint8         iMovetype;
00492            mng_int32         iMovex;
00493            mng_int32         iMovey;
00494         } mng_move;
00495 typedef mng_move * mng_movep;
00496 
00497 /* ************************************************************************** */
00498 
00499 typedef struct {                       /* CLIP */
00500            mng_chunk_header  sHeader;
00501            mng_uint16        iFirstid;
00502            mng_uint16        iLastid;
00503            mng_uint8         iCliptype;
00504            mng_int32         iClipl;
00505            mng_int32         iClipr;
00506            mng_int32         iClipt;
00507            mng_int32         iClipb;
00508         } mng_clip;
00509 typedef mng_clip * mng_clipp;
00510 
00511 /* ************************************************************************** */
00512 
00513 typedef struct {                       /* SHOW */
00514            mng_chunk_header  sHeader;
00515            mng_bool          bEmpty;
00516            mng_uint16        iFirstid;
00517            mng_uint16        iLastid;
00518            mng_uint8         iMode;
00519         } mng_show;
00520 typedef mng_show * mng_showp;
00521 
00522 /* ************************************************************************** */
00523 
00524 typedef struct {                       /* TERM */
00525            mng_chunk_header  sHeader;
00526            mng_uint8         iTermaction;
00527            mng_uint8         iIteraction;
00528            mng_uint32        iDelay;
00529            mng_uint32        iItermax;
00530         } mng_term;
00531 typedef mng_term * mng_termp;
00532 
00533 /* ************************************************************************** */
00534 
00535 typedef struct {                       /* SAVE entry */
00536            mng_uint8         iEntrytype;
00537            mng_uint32arr2    iOffset;            /* 0=MSI, 1=LSI */
00538            mng_uint32arr2    iStarttime;         /* 0=MSI, 1=LSI */
00539            mng_uint32        iLayernr;
00540            mng_uint32        iFramenr;
00541            mng_uint32        iNamesize;
00542            mng_pchar         zName;
00543         } mng_save_entry;
00544 typedef mng_save_entry * mng_save_entryp;
00545 
00546 typedef struct {                       /* SAVE */
00547            mng_chunk_header  sHeader;
00548            mng_bool          bEmpty;
00549            mng_uint8         iOffsettype;
00550            mng_uint32        iCount;
00551            mng_save_entryp   pEntries;
00552         } mng_save;
00553 typedef mng_save * mng_savep;
00554 
00555 /* ************************************************************************** */
00556 
00557 typedef struct {                       /* SEEK */
00558            mng_chunk_header  sHeader;
00559            mng_uint32        iNamesize;
00560            mng_pchar         zName;
00561         } mng_seek;
00562 typedef mng_seek * mng_seekp;
00563 
00564 /* ************************************************************************** */
00565 
00566 typedef struct {                       /* eXPI */
00567            mng_chunk_header  sHeader;
00568            mng_uint16        iSnapshotid;
00569            mng_uint32        iNamesize;
00570            mng_pchar         zName;
00571         } mng_expi;
00572 typedef mng_expi * mng_expip;
00573 
00574 /* ************************************************************************** */
00575 
00576 typedef struct {                       /* fPRI */
00577            mng_chunk_header  sHeader;
00578            mng_uint8         iDeltatype;
00579            mng_uint8         iPriority;
00580         } mng_fpri;
00581 typedef mng_fpri * mng_fprip;
00582 
00583 /* ************************************************************************** */
00584 
00585 typedef struct {                       /* nEED */
00586            mng_chunk_header  sHeader;
00587            mng_uint32        iKeywordssize;
00588            mng_pchar         zKeywords;
00589         } mng_need;
00590 typedef mng_need * mng_needp;
00591 
00592 /* ************************************************************************** */
00593 
00594 typedef mng_phys mng_phyg;             /* pHYg */
00595 typedef mng_phyg * mng_phygp;
00596 
00597 /* ************************************************************************** */
00598 
00599 #ifdef MNG_INCLUDE_JNG
00600 
00601 typedef struct {                       /* JHDR */
00602            mng_chunk_header  sHeader;
00603            mng_uint32        iWidth;
00604            mng_uint32        iHeight;
00605            mng_uint8         iColortype;
00606            mng_uint8         iImagesampledepth;
00607            mng_uint8         iImagecompression;
00608            mng_uint8         iImageinterlace;
00609            mng_uint8         iAlphasampledepth;
00610            mng_uint8         iAlphacompression;
00611            mng_uint8         iAlphafilter;
00612            mng_uint8         iAlphainterlace;
00613         } mng_jhdr;
00614 typedef mng_jhdr * mng_jhdrp;
00615 
00616 /* ************************************************************************** */
00617 
00618 typedef mng_idat mng_jdaa;             /* JDAA */
00619 typedef mng_jdaa * mng_jdaap;
00620 
00621 /* ************************************************************************** */
00622 
00623 typedef mng_idat mng_jdat;             /* JDAT */
00624 typedef mng_jdat * mng_jdatp;
00625 
00626 /* ************************************************************************** */
00627 
00628 typedef struct {                       /* JSEP */
00629            mng_chunk_header  sHeader;
00630         } mng_jsep;
00631 typedef mng_jsep * mng_jsepp;
00632 
00633 #endif /* MNG_INCLUDE_JNG */
00634 
00635 /* ************************************************************************** */
00636 
00637 typedef struct {                       /* DHDR */
00638            mng_chunk_header  sHeader;
00639            mng_uint16        iObjectid;
00640            mng_uint8         iImagetype;
00641            mng_uint8         iDeltatype;
00642            mng_uint32        iBlockwidth;
00643            mng_uint32        iBlockheight;
00644            mng_uint32        iBlockx;
00645            mng_uint32        iBlocky;
00646         } mng_dhdr;
00647 typedef mng_dhdr * mng_dhdrp;
00648 
00649 /* ************************************************************************** */
00650 
00651 typedef struct {                       /* PROM */
00652            mng_chunk_header  sHeader;
00653            mng_uint8         iColortype;
00654            mng_uint8         iSampledepth;
00655            mng_uint8         iFilltype;
00656         } mng_prom;
00657 typedef mng_prom * mng_promp;
00658 
00659 /* ************************************************************************** */
00660 
00661 typedef struct {                       /* IPNG */
00662            mng_chunk_header  sHeader;
00663         } mng_ipng;
00664 typedef mng_ipng *mng_ipngp;
00665 
00666 /* ************************************************************************** */
00667 
00668 typedef struct {                       /* PPLT entry */
00669            mng_uint8         iRed;
00670            mng_uint8         iGreen;
00671            mng_uint8         iBlue;
00672            mng_uint8         iAlpha;
00673            mng_bool          bUsed;
00674         } mng_pplt_entry;
00675 typedef mng_pplt_entry * mng_pplt_entryp;
00676 
00677 typedef struct {                       /* PPLT */
00678            mng_chunk_header  sHeader;
00679            mng_uint8         iDeltatype;
00680            mng_uint32        iCount;
00681            mng_pplt_entry    aEntries [256];
00682         } mng_pplt;
00683 typedef mng_pplt * mng_ppltp;
00684 
00685 /* ************************************************************************** */
00686 
00687 typedef struct {                       /* IJNG */
00688            mng_chunk_header  sHeader;
00689         } mng_ijng;
00690 typedef mng_ijng *mng_ijngp;
00691 
00692 /* ************************************************************************** */
00693 
00694 typedef struct {                       /* DROP */
00695            mng_chunk_header  sHeader;
00696            mng_uint32        iCount;
00697            mng_chunkidp      pChunknames;
00698         } mng_drop;
00699 typedef mng_drop * mng_dropp;
00700 
00701 /* ************************************************************************** */
00702 
00703 typedef struct {                       /* DBYK */
00704            mng_chunk_header  sHeader;
00705            mng_chunkid       iChunkname;
00706            mng_uint8         iPolarity;
00707            mng_uint32        iKeywordssize;
00708            mng_pchar         zKeywords;
00709         } mng_dbyk;
00710 typedef mng_dbyk * mng_dbykp;
00711 
00712 /* ************************************************************************** */
00713 
00714 typedef struct {                       /* ORDR entry */
00715            mng_chunkid       iChunkname;
00716            mng_uint8         iOrdertype;
00717         } mng_ordr_entry;
00718 typedef mng_ordr_entry * mng_ordr_entryp;
00719 
00720 typedef struct mng_ordr_struct {       /* ORDR */
00721            mng_chunk_header  sHeader;
00722            mng_uint32        iCount;
00723            mng_ordr_entryp   pEntries;
00724         } mng_ordr;
00725 typedef mng_ordr * mng_ordrp;
00726 
00727 /* ************************************************************************** */
00728 
00729 typedef struct {                       /* MAGN */
00730            mng_chunk_header  sHeader;
00731            mng_uint16        iFirstid;
00732            mng_uint16        iLastid;
00733            mng_uint16        iMethodX;
00734            mng_uint16        iMX;
00735            mng_uint16        iMY;
00736            mng_uint16        iML;
00737            mng_uint16        iMR;
00738            mng_uint16        iMT;
00739            mng_uint16        iMB;
00740            mng_uint16        iMethodY;
00741         } mng_magn;
00742 typedef mng_magn * mng_magnp;
00743 
00744 /* ************************************************************************** */
00745 
00746 typedef struct {                       /* unknown chunk */
00747            mng_chunk_header  sHeader;
00748            mng_uint32        iDatasize;
00749            mng_ptr           pData;
00750         } mng_unknown_chunk;
00751 typedef mng_unknown_chunk * mng_unknown_chunkp;
00752 
00753 /* ************************************************************************** */
00754 
00755 #endif /* _libmng_chunks_h_ */
00756 
00757 /* ************************************************************************** */
00758 /* * end of file                                                            * */
00759 /* ************************************************************************** */
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Propiedades Amigas 'defines'