📄 libmng_data.h
字号:
mng_bool bCacheplayback; /* switch to cache playback info */ mng_bool bDoProgressive; /* progressive refresh for large images */ mng_speedtype iSpeed; /* speed-modifier for animations */ mng_uint32 iMaxwidth; /* maximum canvas size */ mng_uint32 iMaxheight; /* initially set to 1024 x 1024 */ mng_int32 iErrorcode; /* error reporting fields */ mng_int8 iSeverity; mng_int32 iErrorx1; mng_int32 iErrorx2; mng_pchar zErrortext; mng_memalloc fMemalloc; /* callback pointers */ mng_memfree fMemfree; /* initially nulled */ mng_openstream fOpenstream; mng_closestream fClosestream; mng_readdata fReaddata; mng_writedata fWritedata; mng_errorproc fErrorproc; mng_traceproc fTraceproc; mng_processheader fProcessheader; mng_processtext fProcesstext; mng_processsave fProcesssave; mng_processseek fProcessseek; mng_processneed fProcessneed; mng_processmend fProcessmend; mng_processunknown fProcessunknown; mng_processterm fProcessterm; mng_getcanvasline fGetcanvasline; mng_getbkgdline fGetbkgdline; mng_getalphaline fGetalphaline; mng_refresh fRefresh; mng_gettickcount fGettickcount; mng_settimer fSettimer; mng_processgamma fProcessgamma; mng_processchroma fProcesschroma; mng_processsrgb fProcesssrgb; mng_processiccp fProcessiccp; mng_processarow fProcessarow;#if defined(MNG_SUPPORT_READ) || defined(MNG_SUPPORT_WRITE) mng_bool bPreDraft48; /* flags ancient style draft */ mng_chunkid iChunkname; /* read/write-state variables */ mng_uint32 iChunkseq; mng_chunkp pFirstchunk; /* double-linked list of */ mng_chunkp pLastchunk; /* stored chunk-structures */ mng_bool bHasheader; /* first header chunk processed */ mng_bool bHasMHDR; /* inside a MHDR-MEND sequence */ mng_bool bHasIHDR; /* inside a IHDR-IEND sequence */ mng_bool bHasBASI; /* inside a BASI-IEND sequence */ mng_bool bHasDHDR; /* inside a DHDR-IEND sequence */#ifdef MNG_INCLUDE_JNG mng_bool bHasJHDR; /* inside a JHDR-IEND sequence */ mng_bool bHasJSEP; /* passed the JSEP separator */ mng_bool bHasJDAA; /* at least 1 JDAA processed */ mng_bool bHasJDAT; /* at least 1 JDAT processed */#endif mng_bool bHasPLTE; /* PLTE chunk processed */ mng_bool bHasTRNS; /* tRNS chunk processed */ mng_bool bHasGAMA; /* gAMA chunk processed */ mng_bool bHasCHRM; /* cHRM chunk processed */ mng_bool bHasSRGB; /* sRGB chunk processed */ mng_bool bHasICCP; /* iCCP chunk processed */ mng_bool bHasBKGD; /* bKGD chunk processed */ mng_bool bHasIDAT; /* at least 1 IDAT processed */ mng_bool bHasSAVE; /* SAVE chunk processed */ mng_bool bHasBACK; /* BACK chunk processed */ mng_bool bHasFRAM; /* FRAM chunk processed */ mng_bool bHasTERM; /* TERM chunk processed */ mng_bool bHasLOOP; /* at least 1 LOOP open */ mng_bool bHasglobalPLTE; /* global PLTE chunk processed */ mng_bool bHasglobalTRNS; /* global tRNS chunk processed */ mng_bool bHasglobalGAMA; /* global gAMA chunk processed */ mng_bool bHasglobalCHRM; /* global cHRM chunk processed */ mng_bool bHasglobalSRGB; /* global sRGB chunk processed */ mng_bool bHasglobalICCP; /* global iCCP chunk processed */ mng_bool bHasglobalBKGD; /* global bKGD chunk processed */ mng_uint32 iDatawidth; /* IHDR/BASI/DHDR fields */ mng_uint32 iDataheight; /* valid if inside IHDR-IEND, */ mng_uint8 iBitdepth; /* BASI-IEND or DHDR-IEND */ mng_uint8 iColortype; mng_uint8 iCompression; mng_uint8 iFilter; mng_uint8 iInterlace; mng_uint32 iPLTEcount; /* PLTE fields */ mng_bool bEMNGMAhack; /* TODO: to be removed in 1.0.0 !!! */#ifdef MNG_INCLUDE_JNG mng_uint8 iJHDRcolortype; /* JHDR fields */ mng_uint8 iJHDRimgbitdepth; /* valid if inside JHDR-IEND */ mng_uint8 iJHDRimgcompression; mng_uint8 iJHDRimginterlace; mng_uint8 iJHDRalphabitdepth; mng_uint8 iJHDRalphacompression; mng_uint8 iJHDRalphafilter; mng_uint8 iJHDRalphainterlace;#endif#endif /* MNG_SUPPORT_READ || MNG_SUPPORT_WRITE */#ifdef MNG_SUPPORT_READ mng_bool bReading; /* read processing variables */ mng_bool bHavesig; mng_bool bEOF; mng_uint32 iReadbufsize; mng_uint8p pReadbuf; mng_uint32 iLargebufsize; /* temp for very large chunks */ mng_uint8p pLargebuf; mng_uint32 iSuspendtime; /* tickcount at last suspension */ mng_bool bSuspended; /* input-reading has been suspended; we're expecting a call to mng_read_resume! */ mng_uint8 iSuspendpoint; /* indicates at which point the flow was broken to suspend input-reading */ mng_bool bSuspensionmode; /* I/O-suspension variables */ mng_uint32 iSuspendbufsize; mng_uint8p pSuspendbuf; mng_uint8p pSuspendbufnext; mng_uint32 iSuspendbufleft; mng_uint32 iChunklen; /* chunk length */ mng_uint8p pReadbufnext; /* 32K+ suspension-processing */#endif /* MNG_SUPPORT_READ */#ifdef MNG_SUPPORT_WRITE mng_bool bCreating; /* create/write processing variables */ mng_bool bWriting; mng_chunkid iFirstchunkadded; mng_uint32 iWritebufsize; mng_uint8p pWritebuf;#endif#ifdef MNG_SUPPORT_DISPLAY mng_bool bDisplaying; /* display-state variables */ mng_bool bFramedone; mng_uint32 iFrameseq; mng_uint32 iLayerseq; mng_uint32 iFrametime; /* millisecs */ mng_uint32 iRequestframe; /* go_xxxx variables */ mng_uint32 iRequestlayer; mng_uint32 iRequesttime; mng_bool bSearching; mng_bool bRestorebkgd; /* flags restore required before IDAT/JDAT */ mng_uint32 iRuntime; /* millisecs since start */ mng_uint32 iSynctime; /* tickcount at last framesync */ mng_uint32 iStarttime; /* tickcount at start */ mng_uint32 iEndtime; /* tickcount at end */ mng_bool bRunning; /* animation is active */ mng_bool bTimerset; /* the timer has been set; we're expecting a call to mng_display_resume! */ mng_uint8 iBreakpoint; /* indicates at which point the flow was broken to run the timer */ mng_bool bSectionwait; /* indicates a section break */ mng_bool bFreezing; /* indicates app requested a freeze */ mng_bool bResetting; /* indicates app requested a reset */ mng_bool bNeedrefresh; /* indicates screen-refresh is needed */ mng_objectp pCurrentobj; /* current "object" */ mng_objectp pCurraniobj; /* current animation object "to be"/"being" processed */ mng_objectp pTermaniobj; /* TERM animation object */ mng_uint32 iIterations; /* TERM/MEND iteration count */ mng_objectp pObjzero; /* "on-the-fly" image (object = 0) */ mng_objectp pLastclone; /* last clone */ mng_objectp pStoreobj; /* current store object for row routines */ mng_objectp pStorebuf; /* current store object-buffer for row routines */ mng_objectp pRetrieveobj; /* current retrieve object for row routines */ mng_savedatap pSavedata; /* pointer to saved data (after SAVE) */ mng_uint32 iUpdateleft; /* update region for refresh */ mng_uint32 iUpdateright; mng_uint32 iUpdatetop; mng_uint32 iUpdatebottom; mng_int8 iPass; /* current interlacing pass; negative value means no interlace */ mng_int32 iRow; /* current row counter */ mng_int32 iRowinc; /* row increment for this pass */ mng_int32 iCol; /* current starting column */ mng_int32 iColinc; /* column increment for this pass */ mng_int32 iRowsamples; /* nr. of samples in current workrow */ mng_int32 iSamplemul; /* needed to calculate rowsize */ mng_int32 iSampleofs; /* from rowsamples */ mng_int32 iSamplediv; mng_int32 iRowsize; /* size of actual data in work row */ mng_int32 iRowmax; /* maximum size of data in work row */ mng_int32 iFilterofs; /* offset to filter-byte in work row */ mng_int32 iPixelofs; /* offset to pixel-bytes in work row */ mng_uint32 iLevel0; /* leveling variables */ mng_uint32 iLevel1; mng_uint32 iLevel2; mng_uint32 iLevel3; mng_uint8p pWorkrow; /* working row of pixel-data */ mng_uint8p pPrevrow; /* previous row of pixel-data */ mng_uint8p pRGBArow; /* intermediate row of RGBA8 or RGBA16 data */ mng_bool bIsRGBA16; /* indicates intermediate row is RGBA16 */ mng_bool bIsOpaque; /* indicates intermediate row is fully opaque */ mng_int32 iFilterbpp; /* bpp index for filtering routines */ mng_int32 iSourcel; /* variables for showing objects */ mng_int32 iSourcer; mng_int32 iSourcet; mng_int32 iSourceb; mng_int32 iDestl; mng_int32 iDestr; mng_int32 iDestt; mng_int32 iDestb; mng_objectp pFirstimgobj; /* double-linked list of */ mng_objectp pLastimgobj; /* image-object structures */ mng_objectp pFirstaniobj; /* double-linked list of */ mng_objectp pLastaniobj; /* animation-object structures */#if defined(MNG_GAMMA_ONLY) || defined(MNG_FULL_CMS) mng_uint8 aGammatab[256]; /* precomputed gamma lookup table */ mng_float dLastgamma; /* last gamma used to compute table */#endif mng_fptr fDisplayrow; /* internal callback to display an uncompressed/unfiltered/ color-corrected row */ mng_fptr fRestbkgdrow; /* internal callback for restore- background processing of a row */ mng_fptr fCorrectrow; /* internal callback to color-correct an uncompressed/unfiltered row */ mng_fptr fRetrieverow; /* internal callback to retrieve an uncompressed/unfiltered row of data */ mng_fptr fStorerow; /* internal callback to store an uncompressed/unfiltered row of data */ mng_fptr fProcessrow; /* internal callback to process an uncompressed row of data */ mng_fptr fDifferrow; /* internal callback to perform added filter leveling and differing on an unfiltered row */ mng_fptr fScalerow; /* internal callback to scale a delta-row to the bitdepth of its target */ mng_fptr fDeltarow; /* internal callback to execute a delta-row onto a target */ mng_fptr fInitrowproc; /* internal callback to initialize the row processing */ mng_uint16 iDEFIobjectid; /* DEFI fields */ mng_bool bDEFIhasdonotshow;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -