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

📄 libmng_data.h

📁 Linux下的基于X11的图形开发环境。
💻 H
📖 第 1 页 / 共 3 页
字号:
/* ************************************************************************** *//* *             For conditions of distribution and use,                    * *//* *                see copyright notice in libmng.h                        * *//* ************************************************************************** *//* *                                                                        * *//* * project   : libmng                                                     * *//* * file      : libmng_data.h             copyright (c) 2000 G.Juyn        * *//* * version   : 1.0.2                                                      * *//* *                                                                        * *//* * purpose   : main data structure definition                             * *//* *                                                                        * *//* * author    : G.Juyn                                                     * *//* * web       : http://www.3-t.com                                         * *//* * email     : mailto:info@3-t.com                                        * *//* *                                                                        * *//* * comment   : Definition of the library main data structure              * *//* *                                                                        * *//* * changes   : 0.5.1 - 05/04/2000 - G.Juyn                                * *//* *             - added CRC table to main structure (for thread-safety)    * *//* *             0.5.1 - 05/06/2000 - G.Juyn                                * *//* *             - added iPLTEentries for checking hIST-length              * *//* *             0.5.1 - 05/08/2000 - G.Juyn                                * *//* *             - changed palette definition to exported palette-type      * *//* *             - removed frozen indicator                                 * *//* *             - added create/write indicators                            * *//* *             - changed strict-ANSI stuff                                * *//* *             0.5.1 - 05/13/2000 - G.Juyn                                * *//* *             - added eMNGma hack (will be removed in 1.0.0 !!!)         * *//* *             - added TERM animation object pointer (easier reference)   * *//* *             - added saved-data structure for SAVE/SEEK processing      * *//* *                                                                        * *//* *             0.5.2 - 05/18/2000 - G.Juyn                                * *//* *             - added fields for JNG support (IJG-based)                 * *//* *             0.5.2 - 05/24/2000 - G.Juyn                                * *//* *             - changed global tRNS definition                           * *//* *             0.5.2 - 05/30/2000 - G.Juyn                                * *//* *             - added delta-image fields                                 * *//* *             0.5.2 - 06/01/2000 - G.Juyn                                * *//* *             - added internal delta-image processing callbacks          * *//* *             0.5.2 - 06/02/2000 - G.Juyn                                * *//* *             - changed SWAP_ENDIAN to BIGENDIAN_SUPPORTED               * *//* *               (contributed by Tim Rowley)                              * *//* *             - added getalphaline callback for RGB8_A8 canvasstyle      * *//* *             0.5.2 - 06/06/2000 - G.Juyn                                * *//* *             - added parameter for delayed buffer-processing            * *//* *                                                                        * *//* *             0.5.3 - 06/16/2000 - G.Juyn                                * *//* *             - added update-region parms for refresh calback            * *//* *             - added Needrefresh parameter                              * *//* *             0.5.3 - 06/17/2000 - G.Juyn                                * *//* *             - added Deltaimmediate parm for faster delta-processing    * *//* *             0.5.3 - 06/21/2000 - G.Juyn                                * *//* *             - added Speed parameter to facilitate testing              * *//* *             - added Imagelevel parameter for processtext callback      * *//* *             0.5.3 - 06/26/2000 - G.Juyn                                * *//* *             - changed userdata variable to mng_ptr                     * *//* *                                                                        * *//* *             0.9.1 - 07/07/2000 - G.Juyn                                * *//* *             - added variables for go_xxxx processing                   * *//* *             0.9.1 - 07/08/2000 - G.Juyn                                * *//* *             - added variables for improved timing support              * *//* *             0.9.1 - 07/15/2000 - G.Juyn                                * *//* *             - added callbacks for SAVE/SEEK processing                 * *//* *             - added variable for NEEDSECTIONWAIT breaks                * *//* *             - added variable for freeze & reset processing             * *//* *             0.9.1 - 07/17/2000 - G.Juyn                                * *//* *             - fixed suspension-buffering for 32K+ chunks               * *//* *                                                                        * *//* *             0.9.2 - 07/29/2000 - G.Juyn                                * *//* *             - removed Nextbackxxx fields (no longer used)              * *//* *             0.9.2 - 07/31/2000 - G.Juyn                                * *//* *             - fixed wrapping of suspension parameters                  * *//* *             0.9.2 - 08/04/2000 - G.Juyn                                * *//* *             - B111096 - fixed large-buffer read-suspension             * *//* *             0.9.2 - 08/05/2000 - G.Juyn                                * *//* *             - changed file-prefixes                                    * *//* *                                                                        * *//* *             0.9.3 - 08/26/2000 - G.Juyn                                * *//* *             - added MAGN chunk                                         * *//* *             0.9.3 - 09/07/2000 - G.Juyn                                * *//* *             - added support for new filter_types                       * *//* *             0.9.3 - 09/10/2000 - G.Juyn                                * *//* *             - fixed DEFI behavior                                      * *//* *             0.9.3 - 10/10/2000 - G.Juyn                                * *//* *             - added support for alpha-depth prediction                 * *//* *             0.9.3 - 10/11/2000 - G.Juyn                                * *//* *             - added support for nEED                                   * *//* *             0.9.3 - 10/16/2000 - G.Juyn                                * *//* *             - added optional support for bKGD for PNG images           * *//* *             - added support for JDAA                                   * *//* *             0.9.3 - 10/17/2000 - G.Juyn                                * *//* *             - added callback to process non-critical unknown chunks    * *//* *             - fixed support for bKGD                                   * *//* *             0.9.3 - 10/19/2000 - G.Juyn                                * *//* *             - implemented delayed delta-processing                     * *//* *             0.9.4 - 12/16/2000 - G.Juyn                                * *//* *             - fixed mixup of data- & function-pointers (thanks Dimitri)* *//* *                                                                        * *//* *             1.0.1 - 02/08/2001 - G.Juyn                                * *//* *             - added MEND processing callback                           * *//* *             1.0.1 - 02/13/2001 - G.Juyn                                * *//* *             - fixed first FRAM_MODE=4 timing problem                   * *//* *                                                                        * *//* *             1.0.2 - 06/23/2001 - G.Juyn                                * *//* *             - added optimization option for MNG-video playback         * *//* *             - added processterm callback                               * *//* *             1.0.2 - 06/25/2001 - G.Juyn                                * *//* *             - added option to turn off progressive refresh             * *//* *                                                                        * *//* ************************************************************************** */#if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)#pragma option -A                      /* force ANSI-C */#endif#ifndef _libmng_data_h_#define _libmng_data_h_/* ************************************************************************** */#define MNG_MAGIC 0x52530a0aL/* ************************************************************************** *//* *                                                                        * *//* * Internal structures                                                    * *//* *                                                                        * *//* ************************************************************************** */typedef mng_palette8 mng_rgbpaltab;/* ************************************************************************** *//* *                                                                        * *//* * The saved_data structure                                               * *//* *                                                                        * *//* * This contains the saved data after a SAVE chunk has been processed.    * *//* * The data is saved from the main data structure during SAVE processing, * *//* * and restored to the main data structure during SEEK processing.        * *//* *                                                                        * *//* ************************************************************************** */typedef struct mng_savedata_struct {#if defined(MNG_SUPPORT_READ) || defined(MNG_SUPPORT_WRITE)           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 */#endif /* MNG_SUPPORT_READ || MNG_SUPPORT_WRITE */#ifdef MNG_SUPPORT_DISPLAY           mng_uint16        iBACKred;           /* BACK fields */           mng_uint16        iBACKgreen;           mng_uint16        iBACKblue;           mng_uint8         iBACKmandatory;           mng_uint16        iBACKimageid;           mng_uint8         iBACKtile;           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_uint32        iGlobalPLTEcount;   /* global PLTE fields */           mng_rgbpaltab     aGlobalPLTEentries;           mng_uint32        iGlobalTRNSrawlen;  /* global tRNS fields */           mng_uint8arr      aGlobalTRNSrawdata;           mng_uint32        iGlobalGamma;       /* global gAMA fields */           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;           mng_uint8         iGlobalRendintent;  /* global sRGB fields */           mng_uint32        iGlobalProfilesize; /* global iCCP fields */           mng_ptr           pGlobalProfile;           mng_uint16        iGlobalBKGDred;     /* global bKGD fields */           mng_uint16        iGlobalBKGDgreen;           mng_uint16        iGlobalBKGDblue;#endif /* MNG_SUPPORT_DISPLAY */        } mng_savedata;typedef mng_savedata * mng_savedatap;/* ************************************************************************** *//* *                                                                        * *//* * The main libmng data structure                                         * *//* *                                                                        * *//* * The handle used in all functions points to this structure which        * *//* * contains all volatile data necessary to process the network graphic.   * *//* *                                                                        * *//* ************************************************************************** */typedef struct mng_data_struct {           mng_uint32        iMagic;             /* magic number to validate                                                    a given handle */                mng_ptr           pUserdata;          /* application workdata */           mng_imgtype       eSigtype;           /* image information */           mng_imgtype       eImagetype;         /* initially zeroed */           mng_uint32        iWidth;             /* filled after header is processed */           mng_uint32        iHeight;           mng_uint32        iTicks;             /* these only after MHDR */           mng_uint32        iLayercount;           mng_uint32        iFramecount;           mng_uint32        iPlaytime;           mng_uint32        iSimplicity;           mng_uint8         iAlphadepth;        /* indicates expected alpha-depth */           mng_uint32        iImagelevel;        /* level an image inside a stream */           mng_uint32        iCanvasstyle;       /* layout of the drawing-canvas */           mng_uint32        iBkgdstyle;         /* layout of the background-canvas */           mng_int8          iMagnify;           /* magnification factor (not used yet) */           mng_uint32        iOffsetx;           /* x-offset for extremely large image */           mng_uint32        iOffsety;           /* y-offset for extremely large image */           mng_uint32        iCanvaswidth;       /* real canvas size */           mng_uint32        iCanvasheight;      /* must be set by processheader callback */           mng_uint16        iBGred;             /* default background color */           mng_uint16        iBGgreen;           /* initially "black" */           mng_uint16        iBGblue;           mng_bool          bUseBKGD;           /* preferred use of bKGD for PNG */           mng_bool          bIssRGB;            /* indicates sRGB system */#ifdef MNG_FULL_CMS                              /* little CMS variables */           mng_cmsprof       hProf1;             /* image input profile */           mng_cmsprof       hProf2;             /* default output profile */           mng_cmsprof       hProf3;             /* default sRGB profile */           mng_cmstrans      hTrans;             /* current transformation handle */#endif           mng_float         dViewgamma;         /* gamma calculation variables */           mng_float         dDisplaygamma;      /* initially set for sRGB conditions */           mng_float         dDfltimggamma;           mng_bool          bStorechunks;       /* switch for storing chunkdata */           mng_bool          bSectionbreaks;     /* indicate NEEDSECTIONWAIT breaks */

⌨️ 快捷键说明

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