diff options
| author | mathog <> | 2016-01-27 20:01:29 +0000 |
|---|---|---|
| committer | mathog <> | 2016-01-27 20:01:29 +0000 |
| commit | 28d527218e877a018255618f4cf467a75e22b4e9 (patch) | |
| tree | c01ca4463bc46fb94a7c7676ab9f5d4870fc4022 /src | |
| parent | patch should fix bug 1538361 (diff) | |
| download | inkscape-28d527218e877a018255618f4cf467a75e22b4e9.tar.gz inkscape-28d527218e877a018255618f4cf467a75e22b4e9.zip | |
sync Inkscape to libUEMF changes
(bzr r14619)
Diffstat (limited to 'src')
| -rw-r--r-- | src/libuemf/uemf.h | 19 | ||||
| -rw-r--r-- | src/libuemf/uwmf.h | 9 |
2 files changed, 17 insertions, 11 deletions
diff --git a/src/libuemf/uemf.h b/src/libuemf/uemf.h index 1f5255891..82fd0990c 100644 --- a/src/libuemf/uemf.h +++ b/src/libuemf/uemf.h @@ -426,6 +426,7 @@ typedef struct { uint32_t biClrImportant; //!< Number of bmciColors needed (0 means all). } U_BITMAPINFOHEADER, *PU_BITMAPINFOHEADER; //!< WMF manual 2.2.2.3 +#define U_SIZE_BITMAPINFOHEADER (sizeof(U_BITMAPINFOHEADER)) /** WMF manual 2.2.2.6 \brief For U_CIEXYZTRIPLE (all) fields @@ -1678,6 +1679,7 @@ typedef struct { U_FNTAXES Values[1]; //!< Optional. Array of font axes for opentype font } U_DESIGNVECTOR, *PU_DESIGNVECTOR; //!< EMF manual 2.2.3 +#define U_SIZE_DESIGNVECTOR (sizeof(uint32_t) + sizeof(U_NUM_FNTAXES)) /** \brief For U_EMR_COMMENT_MULTIFORMATS record, where an array of these is used @@ -1901,6 +1903,7 @@ typedef struct { U_LOGPLTNTRY palPalEntry[1]; //!< PC_Entry Enumeration } U_LOGPALETTE, *PU_LOGPALETTE; //!< EMF manual 2.2.17 +#define U_SIZE_LOGPALETTE (2*sizeof(uint16_t)) // Microsoft name: LogPaletteEntry Object, EMF manual 2.2.18, defined above, before 2.2.17 @@ -1970,6 +1973,7 @@ typedef struct { U_RECTL rclBounds; //!< Region bounds } U_RGNDATAHEADER, *PU_RGNDATAHEADER; //!< EMF manual 2.2.25 +#define U_SIZE_RGNDATAHEADER (sizeof(U_RGNDATAHEADER)) /** \brief For U_EMRFILLRGN RgnData field(s) @@ -1982,6 +1986,7 @@ typedef struct { U_RECTL Buffer[1]; //!< Array of U_RECTL elements } U_RGNDATA, *PU_RGNDATA; //!< EMF manual 2.2.24 +#define U_SIZE_RGNDATA U_SIZE_RGNDATAHEADER // Microsoft name: RegionDataHeader Object. EMF manual 2.2.25, defined above, before 2.2.24 // Microsoft name: TriVertex Object. EMF manual 2.2.26, defined above, before 2.2.7 @@ -2031,6 +2036,7 @@ typedef struct { U_RGBQUAD bmiColors[1]; //!< Color table. 24 bit images do not use color table values. } U_BITMAPINFO, *PU_BITMAPINFO; //!< WMF Manual 2.2.2.9 +#define U_SIZE_BITMAPINFO U_SIZE_BITMAPINFOHEADER /** \brief U_EMRALPHABLEND Blend field @@ -2057,6 +2063,7 @@ typedef struct { uint32_t dParm[1]; //!< Data in record } U_ENHMETARECORD, *PU_ENHMETARECORD; //!< General form of an EMF record. +#define U_SIZE_ENHMETARECORD (2*sizeof(uint32_t)) /** First two fields of all EMF records, First two fields of all EMF+ records (1 or more within an EMF comment) @@ -2172,7 +2179,7 @@ typedef struct { U_EMRPOLYPOLYGON, //!< EMF manual 2.3.5.28 *PU_EMRPOLYPOLYLINE, //!< EMF manual 2.3.5.30 *PU_EMRPOLYPOLYGON; //!< EMF manual 2.3.5.28 -#define U_SIZE_EMRPOLYPOLYLINE (sizeof(U_EMR) + sizeof(U_RECTL) + sizeof(U_NUM_POLYCOUNTS) + sizeof(U_POLYCOUNTS)) +#define U_SIZE_EMRPOLYPOLYLINE (sizeof(U_EMR) + sizeof(U_RECTL) + sizeof(U_NUM_POLYCOUNTS) + sizeof(U_NUM_POINTL)) #define U_SIZE_EMRPOLYPOLYGON U_SIZE_EMRPOLYPOLYLINE /* Index 9,11 (numbers interleave with next one) */ @@ -2536,10 +2543,10 @@ typedef struct { typedef struct { U_EMR emr; //!< U_EMR uint32_t ihPal; //!< Index to place object in EMF object table (this entry must not yet exist) - U_LOGPALETTE lgpl; //!< Palette properties + U_LOGPALETTE lgpl; //!< Palette properties (variable size) } U_EMRCREATEPALETTE, *PU_EMRCREATEPALETTE; //!< EMF manual 2.3.7.6 -#define U_SIZE_EMRCREATEPALETTE (sizeof(U_EMRCREATEPALETTE)) +#define U_SIZE_EMRCREATEPALETTE (sizeof(U_EMR) + sizeof(uint32_t) + U_SIZE_LOGPALETTE) /* Index 50 */ /** EMF manual 2.3.8.8 @@ -3030,8 +3037,6 @@ typedef struct { //!< Record may include optional DIB bitmap } U_EMREXTCREATEPEN, *PU_EMREXTCREATEPEN; //!< EMF manual 2.3.7.9 -/* extlogpen has a field on the end which may or may not be present in a record, so use the predefined size instead -of the struct size */ #define U_SIZE_EMREXTCREATEPEN (sizeof(U_EMREXTCREATEPEN) - sizeof(U_EXTLOGPEN) + U_SIZE_EXTLOGPEN) /* Index 96.97 */ @@ -3087,7 +3092,7 @@ typedef struct { U_DATA Data[1]; //!< OpenGL data } U_EMRGLSRECORD, *PU_EMRGLSRECORD; //!< EMF manual 2.3.9.2 -#define U_SIZE_EMRGLSRECORD (sizeof(U_EMRGLSRECORD)) +#define U_SIZE_EMRGLSRECORD (sizeof(U_EMR) + sizeof(U_CBDATA)) /* Index 103 */ /** EMF manual 2.3.9.1 @@ -3170,7 +3175,7 @@ typedef struct { uint16_t Driver[1]; //!< Driver name in uint16_t characters, null terminated } U_EMRNAMEDESCAPE, *PU_EMRNAMEDESCAPE; //!< EMF manual 2.3.6.3 -#define U_SIZE_EMRNAMEDESCAPE (sizeof(U_EMRNAMEDESCAPE)) +#define U_SIZE_EMRNAMEDESCAPE (sizeof(U_EMR) + 2*sizeof(U_CBDATA)) /* Index 111-113 (not implemented ) EMF manual 2.3.8.1 diff --git a/src/libuemf/uwmf.h b/src/libuemf/uwmf.h index 027de8e06..138ffab37 100644 --- a/src/libuemf/uwmf.h +++ b/src/libuemf/uwmf.h @@ -36,11 +36,11 @@ /* File: uwmf.h -Version: 0.0.12 -Date: 28-APR-2015 +Version: 0.0.13 +Date: 26-JAN-2016 Author: David Mathog, Biology Division, Caltech email: mathog@caltech.edu -Copyright: 2015 David Mathog and California Institute of Technology (Caltech) +Copyright: 2016 David Mathog and California Institute of Technology (Caltech) */ #ifndef _UWMF_ @@ -643,7 +643,8 @@ enum U_WMR_TYPES{ #define U_SIZE_REGION 20 /**< X 22 20 is minums the variable part */ #define U_SIZE_BITMAP16 10 /**< + 10 */ #define U_SIZE_BITMAPCOREHEADER 12 /**< + 12 */ -#define U_SIZE_BITMAPINFOHEADER 40 /**< + 40 */ +// also defined in uemf.h, avoid redefining. Same value in both places, of course. +// # define U_SIZE_BITMAPINFOHEADER 40 /**< + 40 */ #define U_SIZE_BITMAPV4HEADER 108 /**< ? 108 not tested */ #define U_SIZE_BITMAPV5HEADER 124 /**< ? 124 not tested */ #define U_SIZE_WLOGBRUSH 8 /**< + 8 */ |
