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

📄 avc.h

📁 支持各种栅格图像和矢量图像读取的库
💻 H
📖 第 1 页 / 共 3 页
字号:
    double      dHeight;    double      dV2;    /* ??? */    double      dV3;    /* ??? */    char        *pszText;    AVCVertex   *pasVertices;}AVCTxt;/*--------------------------------------------------------------------- * AVCRxp: Information about a RXP record (something related to regions...) *--------------------------------------------------------------------*/typedef struct AVCRxp_t{    GInt32      n1;    GInt32      n2;}AVCRxp;/*--------------------------------------------------------------------- * AVCTableDef: Definition of an INFO table's structure.   *               This info is read from several files:  *                   info/arc.dir *                   info/arc####.dat *                   info/arc####.nit * *               And the data for the table itself is stored in a binary *               file in the coverage directory. *--------------------------------------------------------------------*/typedef struct AVCFieldInfo_t{    char        szName[17];    GInt16      nSize;    GInt16      v2;    GInt16      nOffset;    GInt16      v4;    GInt16      v5;    GInt16      nFmtWidth;    GInt16      nFmtPrec;    GInt16      nType1;    GInt16      nType2;    GInt16      v10;    GInt16      v11;    GInt16      v12;    GInt16      v13;    char        szAltName[17];    GInt16      nIndex;         /* >0 if valid, or -1 if field is deleted */}AVCFieldInfo;#define AVC_FT_DATE     10#define AVC_FT_CHAR     20#define AVC_FT_FIXINT   30#define AVC_FT_FIXNUM   40#define AVC_FT_BININT   50#define AVC_FT_BINFLOAT 60typedef struct AVCTableDef_t{    /* Stuff read from the arc.dir file      * (1 record, corresponding to this table, from the arc.dir file)     */    char        szTableName[33];    char        szInfoFile[9];    GInt16      numFields;    GInt16      nRecSize;    GInt32      numRecords;    char        szExternal[3];  /* "XX" or "  " */    GInt16      bDeletedFlag;   /* 1 if deleted, 0 if table is active */    /* Data file path read from the arc####.dat file     */    char        szDataFile[81];    /* Field information read from the arc####.nit file     */    AVCFieldInfo *pasFieldDef;}AVCTableDef;typedef struct AVCField_t{    GInt16      nInt16;    GInt32      nInt32;    float       fFloat;    double      dDouble;    char        *pszStr;}AVCField;/*--------------------------------------------------------------------- * Stuff related to buffered reading of raw binary files *--------------------------------------------------------------------*/#define AVCRAWBIN_READBUFSIZE 1024typedef struct AVCRawBinFile_t{    FILE        *fp;    char        *pszFname;    AVCAccess   eAccess;    AVCByteOrder eByteOrder;    GByte       abyBuf[AVCRAWBIN_READBUFSIZE];    int         nOffset;        /* Location of current buffer in the file */    int         nCurSize;       /* Nbr of bytes currently loaded        */    int         nCurPos;        /* Next byte to read from abyBuf[]      */    int         nFileDataSize;  /* File Size as stated in the header */                                /* EOF=TRUE passed this point in file */                                /* Set to -1 if not specified. */    /* Handle on dataset's multibyte character encoding info. */    AVCDBCSInfo *psDBCSInfo;}AVCRawBinFile;/*--------------------------------------------------------------------- * Stuff related to reading and writing binary coverage files *--------------------------------------------------------------------*/typedef struct AVCBinHeader_t{    GUInt32     nSignature;    GInt32      nPrecision;     /* <0 for double prec., >0 for single prec. */    GInt32      nRecordSize;    /* nbr of 2 byte words, 0 for var. length   */    GInt32      nLength;        /* Overall file length, in 2 byte words     */}AVCBinHeader;typedef struct AVCBinFile_t{    AVCRawBinFile *psRawBinFile;    char          *pszFilename;    AVCRawBinFile *psIndexFile;   /* Index file, Write mode only */    DBFHandle     hDBFFile;       /* Used for AVCCoverPC/PC2 DBF TABLES only */    int           nCurDBFRecord;  /* 0-based record index in DBF file */    AVCCoverType  eCoverType;    AVCFileType   eFileType;    int           nPrecision;     /* AVC_SINGLE/DOUBLE_PREC  */    union    {        AVCTableDef  *psTableDef;    }hdr;    /* cur.* : temp. storage used to read one record (ARC, PAL, ... or      *         Table record) from the file.     */    union    {        AVCArc       *psArc;        AVCPal       *psPal;        AVCCnt       *psCnt;        AVCLab       *psLab;        AVCTol       *psTol;        AVCTxt       *psTxt;        AVCRxp       *psRxp;        AVCField     *pasFields;        char         **papszPrj;    }cur;}AVCBinFile;/*--------------------------------------------------------------------- * Stuff related to the generation of E00 *--------------------------------------------------------------------*//*--------------------------------------------------------------------- *                        AVCE00GenInfo structure * This structure is used by the E00 generator functions to store * their buffer and their current state in case they need to be * called more than once for a given object type (i.e. ARC, PAL and IFO). *--------------------------------------------------------------------*/typedef struct AVCE00GenInfo_t{    char        *pszBuf;    int         nBufSize;        int         nPrecision;     /* AVC_SINGLE/DOUBLE_PREC       */    int         iCurItem;    int         numItems;}AVCE00GenInfo;/*--------------------------------------------------------------------- * Stuff related to the parsing of E00 *--------------------------------------------------------------------*//*--------------------------------------------------------------------- *                        AVCE00ParseInfo structure * This structure is used by the E00 parser functions to store * their buffer and their current state while parsing an object. *--------------------------------------------------------------------*/typedef struct AVCE00ParseInfo_t{    AVCFileType eFileType;    int         nPrecision;     /* AVC_SINGLE/DOUBLE_PREC       */    int         iCurItem;    int         numItems;    int         nStartLineNum;    int         nCurLineNum;    int         nCurObjectId;    GBool       bForceEndOfSection;  /* For sections that don't have an */                                     /* explicit end-of-section line.   */    AVCFileType eSuperSectionType;/* For sections containing several files*/    char        *pszSectionHdrLine;  /* Used by supersection types      */    union    {        AVCTableDef  *psTableDef;    }hdr;    GBool       bTableHdrComplete;   /* FALSE until table header is */                                     /* finished parsing */    int         nTableE00RecLength;    /* cur.* : temp. storage used to store current object (ARC, PAL, ... or      *         Table record) from the file.     */    union    {        AVCArc       *psArc;        AVCPal       *psPal;        AVCCnt       *psCnt;        AVCLab       *psLab;        AVCTol       *psTol;        AVCTxt       *psTxt;        AVCRxp       *psRxp;        AVCField     *pasFields;        char         **papszPrj;    }cur;    char        *pszBuf;        /* Buffer used only for TABLEs  */    int         nBufSize;}AVCE00ParseInfo;/*--------------------------------------------------------------------- * Stuff related to the transparent binary -> E00 conversion *--------------------------------------------------------------------*/typedef struct AVCE00Section_t{    AVCFileType eType;        /* File Type                      */    char        *pszName;     /* E00 section or Table Name      */    char        *pszFilename; /* Binary/E00 file filename       */    int         nLineNum;     /* E00 line number                */    int         nFeatureCount;}AVCE00Section;typedef struct AVCE00ReadInfo_t{    char        *pszCoverPath;    char        *pszInfoPath;    char        *pszCoverName;    AVCCoverType eCoverType;    /* pasSections is built when the coverage is opened and describes     * the squeleton of the E00 file.     */    AVCE00Section *pasSections;    int            numSections;    /* If bReadAllSections=TRUE then reading automatically continues to     * the next section when a section finishes. (This is the default)     * Otherwise, you can use AVCE00ReadGotoSection() to read one section     * at a time... this will set bReadAllSections=FALSE.     */     GBool         bReadAllSections;    /* Info about the file (or E00 section) currently being processed     */    int           iCurSection;    AVCBinFile    *hFile;    int           iCurStep;  /* AVC_GEN_* values, see below */    AVCE00GenInfo *hGenInfo;    /* Info related to multibyte character encoding     */    AVCDBCSInfo *psDBCSInfo;} *AVCE00ReadPtr;

⌨️ 快捷键说明

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