📄 libmng_data.h
字号:
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 iTotalframes; /* end-totals after mng_read() */
mng_uint32 iTotallayers;
mng_uint32 iTotalplaytime; /* millisecs */
mng_bool bSkipping; /* LOOP iteration=0 */
#ifdef MNG_SUPPORT_DYNAMICMNG
mng_bool bDynamic; /* MNG is dynamic (eg. has events) */
mng_bool bRunningevent; /* currently processing an event */
mng_bool bStopafterseek; /* stop after next SEEK */
mng_int32 iEventx; /* X/Y of current event */
mng_int32 iEventy;
mng_objectp pLastmousemove; /* last event triggered */
#endif
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_bool bMisplacedTERM; /* indicates TERM is out of place */
mng_bool bOnlyfirstframe; /* show first frame after TERM and stop */
mng_uint32 iFramesafterTERM; /* determines frame-count after TERM */
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 */
#ifdef MNG_SUPPORT_DYNAMICMNG
mng_objectp pFirstevent; /* double-linked list of */
mng_objectp pLastevent; /* event-object structures */
#endif
#if defined(MNG_GAMMA_ONLY) || defined(MNG_FULL_CMS) || defined(MNG_APP_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 */
#ifndef MNG_SKIPCHUNK_PAST
mng_fptr fFliprow; /* internal callback to flip a row of pixels
left<->right for a PAST operation */
mng_fptr fTilerow; /* internal callback to tile a row of pixels
during a PAST operation */
#endif
mng_fptr fInitrowproc; /* internal callback to initialize
the row processing */
mng_uint16 iDEFIobjectid; /* DEFI fields */
mng_bool bDEFIhasdonotshow;
mng_uint8 iDEFIdonotshow;
mng_bool bDEFIhasconcrete;
mng_uint8 iDEFIconcrete;
mng_bool bDEFIhasloca;
mng_int32 iDEFIlocax;
mng_int32 iDEFIlocay;
mng_bool bDEFIhasclip;
mng_int32 iDEFIclipl;
mng_int32 iDEFIclipr;
mng_int32 iDEFIclipt;
mng_int32 iDEFIclipb;
mng_uint16 iBACKred; /* BACK fields */
mng_uint16 iBACKgreen;
mng_uint16 iBACKblue;
mng_uint8 iBACKmandatory;
mng_uint16 iBACKimageid;
mng_uint8 iBACKtile;
mng_int32 iBackimgoffsx; /* temp variables for restore_bkgd */
mng_int32 iBackimgoffsy;
mng_uint32 iBackimgwidth;
mng_uint32 iBackimgheight;
#ifndef MNG_SKIPCHUNK_FRAM
mng_uint8 iFRAMmode; /* FRAM fields (global) */
mng_uint32 iFRAMdelay;
mng_uint32 iFRAMtimeout;
mng_bool bFRAMclipping;
mng_int32 iFRAMclipl;
mng_int32 iFRAMclipr;
mng_int32 iFRAMclipt;
mng_int32 iFRAMclipb;
mng_uint8 iFramemode; /* current subframe variables */
mng_uint32 iFramedelay;
mng_uint32 iFrametimeout;
mng_bool bFrameclipping;
mng_int32 iFrameclipl;
mng_int32 iFrameclipr;
mng_int32 iFrameclipt;
mng_int32 iFrameclipb;
mng_uint32 iNextdelay; /* delay *after* next image */
#endif
#ifndef MNG_SKIPCHUNK_SHOW
mng_uint8 iSHOWmode; /* SHOW fields */
mng_uint16 iSHOWfromid;
mng_uint16 iSHOWtoid;
mng_uint16 iSHOWnextid;
mng_int16 iSHOWskip;
#endif
mng_uint32 iGlobalPLTEcount; /* global PLTE fields */
mng_rgbpaltab aGlobalPLTEentries;
mng_uint32 iGlobalTRNSrawlen; /* global tRNS fields */
mng_uint8arr aGlobalTRNSrawdata;
mng_uint32 iGlobalGamma; /* global gAMA fields */
#ifndef MNG_SKIPCHUNK_cHRM
mng_uint32 iGlobalWhitepointx; /* global cHRM fields */
mng_uint32 iGlobalWhitepointy;
mng_uint32 iGlobalPrimaryredx;
mng_uint32 iGlobalPrimaryredy;
mng_uint32 iGlobalPrimarygreenx;
mng_uint32 iGlobalPrimarygreeny;
mng_uint32 iGlobalPrimarybluex;
mng_uint32 iGlobalPrimarybluey;
#endif
mng_uint8 iGlobalRendintent; /* global sRGB fields */
#ifndef MNG_SKIPCHUNK_iCCP
mng_uint32 iGlobalProfilesize; /* global iCCP fields */
mng_ptr pGlobalProfile;
#endif
mng_uint16 iGlobalBKGDred; /* global bKGD fields */
mng_uint16 iGlobalBKGDgreen;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -