summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authormathog <>2016-01-27 20:01:29 +0000
committermathog <>2016-01-27 20:01:29 +0000
commit28d527218e877a018255618f4cf467a75e22b4e9 (patch)
treec01ca4463bc46fb94a7c7676ab9f5d4870fc4022 /src
parentpatch should fix bug 1538361 (diff)
downloadinkscape-28d527218e877a018255618f4cf467a75e22b4e9.tar.gz
inkscape-28d527218e877a018255618f4cf467a75e22b4e9.zip
sync Inkscape to libUEMF changes
(bzr r14619)
Diffstat (limited to 'src')
-rw-r--r--src/libuemf/uemf.h19
-rw-r--r--src/libuemf/uwmf.h9
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 */