⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 libmng_hlapi.c

📁 奇趣公司比较新的qt/emd版本
💻 C
📖 第 1 页 / 共 5 页
字号:
#ifdef MNG_SUPPORT_READ  pData->bSuspensionmode       = MNG_FALSE;  pData->iSuspendbufsize       = 0;  pData->pSuspendbuf           = MNG_NULL;  pData->pSuspendbufnext       = MNG_NULL;  pData->iSuspendbufleft       = 0;  pData->iChunklen             = 0;  pData->pReadbufnext          = MNG_NULL;  pData->pLargebufnext         = MNG_NULL;  pData->pFirstpushchunk       = MNG_NULL;  pData->pLastpushchunk        = MNG_NULL;  pData->pFirstpushdata        = MNG_NULL;  pData->pLastpushdata         = MNG_NULL;#endif#ifdef MNG_INCLUDE_ZLIB  mngzlib_initialize (pData);          /* initialize zlib structures and such */                                       /* default zlib compression parameters */  pData->iZlevel               = MNG_ZLIB_LEVEL;  pData->iZmethod              = MNG_ZLIB_METHOD;  pData->iZwindowbits          = MNG_ZLIB_WINDOWBITS;  pData->iZmemlevel            = MNG_ZLIB_MEMLEVEL;  pData->iZstrategy            = MNG_ZLIB_STRATEGY;                                       /* default maximum IDAT data size */  pData->iMaxIDAT              = MNG_MAX_IDAT_SIZE;#endif#ifdef MNG_INCLUDE_JNG                 /* default IJG compression parameters */  pData->eJPEGdctmethod        = MNG_JPEG_DCT;  pData->iJPEGquality          = MNG_JPEG_QUALITY;  pData->iJPEGsmoothing        = MNG_JPEG_SMOOTHING;  pData->bJPEGcompressprogr    = MNG_JPEG_PROGRESSIVE;  pData->bJPEGcompressopt      = MNG_JPEG_OPTIMIZED;                                       /* default maximum JDAT data size */  pData->iMaxJDAT              = MNG_MAX_JDAT_SIZE;#endif  mng_reset ((mng_handle)pData);#ifdef MNG_SUPPORT_TRACE  if (mng_trace (pData, MNG_FN_INITIALIZE, MNG_LC_END))  {    MNG_FREEX (pData, pData, sizeof (mng_data));    return MNG_NULL;  }#endif  return (mng_handle)pData;            /* if we get here, we're in business */}/* ************************************************************************** */mng_retcode MNG_DECL mng_reset (mng_handle hHandle){  mng_datap pData;#ifdef MNG_SUPPORT_TRACE  MNG_TRACE (((mng_datap)hHandle), MNG_FN_RESET, MNG_LC_START);#endif  MNG_VALIDHANDLE (hHandle)            /* check validity handle */  pData = ((mng_datap)(hHandle));      /* address main structure */#ifdef MNG_SUPPORT_DISPLAY#ifndef MNG_SKIPCHUNK_SAVE  mng_drop_savedata (pData);           /* cleanup saved-data from SAVE/SEEK */#endif#endif#if defined(MNG_SUPPORT_DISPLAY) && defined(MNG_FULL_CMS)  mng_clear_cms (pData);               /* cleanup left-over cms stuff if any */#endif#if defined(MNG_SUPPORT_DISPLAY) && defined(MNG_INCLUDE_JNG)  mngjpeg_cleanup (pData);             /* cleanup jpeg stuff */#endif#ifdef MNG_INCLUDE_ZLIB  if (pData->bInflating)               /* if we've been inflating */  {#ifdef MNG_INCLUDE_DISPLAY_PROCS    mng_cleanup_rowproc (pData);       /* cleanup row-processing, */#endif    mngzlib_inflatefree (pData);       /* cleanup inflate! */  }#endif /* MNG_INCLUDE_ZLIB */#ifdef MNG_SUPPORT_READ  if ((pData->bReading) && (!pData->bEOF))    mng_process_eof (pData);           /* cleanup app streaming */                                       /* cleanup default read buffers */  MNG_FREE (pData, pData->pReadbuf,    pData->iReadbufsize);  MNG_FREE (pData, pData->pLargebuf,   pData->iLargebufsize);  MNG_FREE (pData, pData->pSuspendbuf, pData->iSuspendbufsize);  while (pData->pFirstpushdata)        /* release any pushed data & chunks */    mng_release_pushdata (pData);  while (pData->pFirstpushchunk)    mng_release_pushchunk (pData);#endif#ifdef MNG_SUPPORT_WRITE               /* cleanup default write buffer */  MNG_FREE (pData, pData->pWritebuf, pData->iWritebufsize);#endif#if defined(MNG_SUPPORT_READ) || defined(MNG_SUPPORT_WRITE)  mng_drop_chunks  (pData);            /* drop stored chunks (if any) */#endif#ifdef MNG_SUPPORT_DISPLAY  mng_drop_objects (pData, MNG_TRUE);  /* drop stored objects (if any) */#ifndef MNG_SKIPCHUNK_iCCP  if (pData->iGlobalProfilesize)       /* drop global profile (if any) */    MNG_FREEX (pData, pData->pGlobalProfile, pData->iGlobalProfilesize);#endif#endif  pData->eSigtype              = mng_it_unknown;  pData->eImagetype            = mng_it_unknown;  pData->iWidth                = 0;    /* these are unknown yet */  pData->iHeight               = 0;  pData->iTicks                = 0;  pData->iLayercount           = 0;  pData->iFramecount           = 0;  pData->iPlaytime             = 0;  pData->iSimplicity           = 0;  pData->iAlphadepth           = 16;   /* assume the worst! */  pData->iImagelevel           = 0;    /* no image encountered */  pData->iMagnify              = 0;    /* 1-to-1 display */  pData->iOffsetx              = 0;    /* no offsets */  pData->iOffsety              = 0;  pData->iCanvaswidth          = 0;    /* let the app decide during processheader */  pData->iCanvasheight         = 0;                                       /* so far, so good */  pData->iErrorcode            = MNG_NOERROR;  pData->iSeverity             = 0;  pData->iErrorx1              = 0;  pData->iErrorx2              = 0;  pData->zErrortext            = MNG_NULL;#if defined(MNG_SUPPORT_READ) || defined(MNG_SUPPORT_WRITE)                                       /* let's assume the best scenario */#ifndef MNG_NO_OLD_VERSIONS  pData->bPreDraft48           = MNG_FALSE;#endif                                       /* the unknown chunk */  pData->iChunkname            = MNG_UINT_HUH;  pData->iChunkseq             = 0;  pData->pFirstchunk           = MNG_NULL;  pData->pLastchunk            = MNG_NULL;                                       /* nothing processed yet */  pData->bHasheader            = MNG_FALSE;  pData->bHasMHDR              = MNG_FALSE;  pData->bHasIHDR              = MNG_FALSE;  pData->bHasBASI              = MNG_FALSE;  pData->bHasDHDR              = MNG_FALSE;#ifdef MNG_INCLUDE_JNG  pData->bHasJHDR              = MNG_FALSE;  pData->bHasJSEP              = MNG_FALSE;  pData->bHasJDAA              = MNG_FALSE;  pData->bHasJDAT              = MNG_FALSE;#endif  pData->bHasPLTE              = MNG_FALSE;  pData->bHasTRNS              = MNG_FALSE;  pData->bHasGAMA              = MNG_FALSE;  pData->bHasCHRM              = MNG_FALSE;  pData->bHasSRGB              = MNG_FALSE;  pData->bHasICCP              = MNG_FALSE;  pData->bHasBKGD              = MNG_FALSE;  pData->bHasIDAT              = MNG_FALSE;  pData->bHasSAVE              = MNG_FALSE;  pData->bHasBACK              = MNG_FALSE;  pData->bHasFRAM              = MNG_FALSE;  pData->bHasTERM              = MNG_FALSE;  pData->bHasLOOP              = MNG_FALSE;                                       /* there's no global stuff yet either */  pData->bHasglobalPLTE        = MNG_FALSE;  pData->bHasglobalTRNS        = MNG_FALSE;  pData->bHasglobalGAMA        = MNG_FALSE;  pData->bHasglobalCHRM        = MNG_FALSE;  pData->bHasglobalSRGB        = MNG_FALSE;  pData->bHasglobalICCP        = MNG_FALSE;  pData->iDatawidth            = 0;    /* no IHDR/BASI/DHDR done yet */  pData->iDataheight           = 0;  pData->iBitdepth             = 0;  pData->iColortype            = 0;  pData->iCompression          = 0;  pData->iFilter               = 0;  pData->iInterlace            = 0;#ifdef MNG_INCLUDE_JNG  pData->iJHDRcolortype        = 0;    /* no JHDR data */  pData->iJHDRimgbitdepth      = 0;  pData->iJHDRimgcompression   = 0;  pData->iJHDRimginterlace     = 0;  pData->iJHDRalphabitdepth    = 0;  pData->iJHDRalphacompression = 0;  pData->iJHDRalphafilter      = 0;  pData->iJHDRalphainterlace   = 0;#endif#endif /* MNG_SUPPORT_READ || MNG_SUPPORT_WRITE */#ifdef MNG_SUPPORT_READ                /* no reading done */  pData->bReading              = MNG_FALSE;  pData->bHavesig              = MNG_FALSE;  pData->bEOF                  = MNG_FALSE;  pData->iReadbufsize          = 0;  pData->pReadbuf              = MNG_NULL;  pData->iLargebufsize         = 0;  pData->pLargebuf             = MNG_NULL;  pData->iSuspendtime          = 0;  pData->bSuspended            = MNG_FALSE;  pData->iSuspendpoint         = 0;  pData->pSuspendbufnext       = pData->pSuspendbuf;  pData->iSuspendbufleft       = 0;#endif /* MNG_SUPPORT_READ */#ifdef MNG_SUPPORT_WRITE               /* no creating/writing done */  pData->bCreating             = MNG_FALSE;  pData->bWriting              = MNG_FALSE;  pData->iFirstchunkadded      = 0;  pData->iWritebufsize         = 0;  pData->pWritebuf             = MNG_NULL;#endif /* MNG_SUPPORT_WRITE */#ifdef MNG_SUPPORT_DISPLAY             /* done nuttin' yet */  pData->bDisplaying           = MNG_FALSE;  pData->iFrameseq             = 0;  pData->iLayerseq             = 0;  pData->iFrametime            = 0;  pData->iTotallayers          = 0;  pData->iTotalframes          = 0;  pData->iTotalplaytime        = 0;  pData->bSkipping             = MNG_FALSE;#ifdef MNG_SUPPORT_DYNAMICMNG  pData->bDynamic              = MNG_FALSE;  pData->bRunningevent         = MNG_FALSE;  pData->bStopafterseek        = MNG_FALSE;  pData->iEventx               = 0;  pData->iEventy               = 0;  pData->pLastmousemove        = MNG_NULL;#endif  pData->iRequestframe         = 0;  pData->iRequestlayer         = 0;  pData->iRequesttime          = 0;  pData->bSearching            = MNG_FALSE;  pData->bRestorebkgd          = MNG_FALSE;  pData->iRuntime              = 0;  pData->iSynctime             = 0;  pData->iStarttime            = 0;  pData->iEndtime              = 0;  pData->bRunning              = MNG_FALSE;  pData->bTimerset             = MNG_FALSE;  pData->iBreakpoint           = 0;  pData->bSectionwait          = MNG_FALSE;  pData->bFreezing             = MNG_FALSE;  pData->bResetting            = MNG_FALSE;  pData->bNeedrefresh          = MNG_FALSE;  pData->bMisplacedTERM        = MNG_FALSE;  pData->bOnlyfirstframe       = MNG_FALSE;  pData->iFramesafterTERM      = 0;                                       /* these don't exist yet */  pData->pCurrentobj           = MNG_NULL;  pData->pCurraniobj           = MNG_NULL;  pData->pTermaniobj           = MNG_NULL;  pData->pLastclone            = MNG_NULL;  pData->pStoreobj             = MNG_NULL;  pData->pStorebuf             = MNG_NULL;  pData->pRetrieveobj          = MNG_NULL;                                       /* no saved data ! */  pData->pSavedata             = MNG_NULL;  pData->iUpdateleft           = 0;    /* no region updated yet */  pData->iUpdateright          = 0;  pData->iUpdatetop            = 0;  pData->iUpdatebottom         = 0;  pData->iPass                 = -1;   /* interlacing stuff and temp buffers */  pData->iRow                  = 0;  pData->iRowinc               = 1;  pData->iCol                  = 0;  pData->iColinc               = 1;  pData->iRowsamples           = 0;  pData->iSamplemul            = 0;  pData->iSampleofs            = 0;  pData->iSamplediv            = 0;  pData->iRowsize              = 0;  pData->iRowmax               = 0;  pData->iFilterofs            = 0;  pData->iPixelofs             = 1;  pData->iLevel0               = 0;  pData->iLevel1               = 0;  pData->iLevel2               = 0;  pData->iLevel3               = 0;  pData->pWorkrow              = MNG_NULL;  pData->pPrevrow              = MNG_NULL;  pData->pRGBArow              = MNG_NULL;  pData->bIsRGBA16             = MNG_TRUE;  pData->bIsOpaque             = MNG_TRUE;  pData->iFilterbpp            = 1;  pData->iSourcel              = 0;    /* always initialized just before */  pData->iSourcer              = 0;    /* c

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -