From: Fridrich S. <str...@us...> - 2006-05-24 22:26:13
|
Update of /cvsroot/libwpg/libwpg/src/lib In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv24153/src/lib Modified Files: WPG1Parser.cpp WPG1Parser.h WPG1Record.cpp WPG1Record.h WPG2Record.cpp WPG2Record.h WPGXParser.cpp WPGXRecord.cpp WPGXRecord.h libwpg_utils.cpp libwpg_utils.h wpgheader.cpp wpgheader.h Log Message: For purposes of Google SoC, committing my work starting to remove gsf dependency Index: WPG1Parser.cpp =================================================================== RCS file: /cvsroot/libwpg/libwpg/src/lib/WPG1Parser.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- WPG1Parser.cpp 1 Feb 2005 17:15:58 -0000 1.6 +++ WPG1Parser.cpp 24 May 2006 22:25:57 -0000 1.7 @@ -58,35 +58,35 @@ switch (record.GetType()) { case 0x01: // Fill attributes WPG_DEBUG_MSG(("Fill attributes: type=%d, length=%d\n", record.GetType(), record.GetLength())); - m_fillStyle = gsf_le_read_guint8(m_input); - m_fillColorIndex = gsf_le_read_guint8(m_input); + m_fillStyle = readU8(m_input); + m_fillColorIndex = readU8(m_input); WPG_DEBUG_MSG(("Fill attributes: fillStyle=0x%.2x, fillColorIndex=0x%.2x\n", m_fillStyle, m_fillColorIndex)); break; case 0x02: // Line attributes WPG_DEBUG_MSG(("Line attributes: type=%d, length=%d\n", record.GetType(), record.GetLength())); - m_lineStyle = gsf_le_read_guint8(m_input); - m_lineColorIndex = gsf_le_read_guint8(m_input); -// m_lineWidth = (float)((double)gsf_le_read_guint16(m_input)/(double)1200); -// m_lineWidth = (float)gsf_le_read_guint16(m_input)/72; - tmpLineWidth = gsf_le_read_guint16(m_input); + m_lineStyle = readU8(m_input); + m_lineColorIndex = readU8(m_input); +// m_lineWidth = (float)((double)readU16(m_input)/(double)1200); +// m_lineWidth = (float)readU16(m_input)/72; + tmpLineWidth = readU16(m_input); m_lineWidth = (float)((double)tmpLineWidth/(double)1200); WPG_DEBUG_MSG(("Line attributes: lineStyle=0x%.2x, lineColorIndex=0x%.2x, lineWidth=%i\n", m_lineStyle, m_lineColorIndex, tmpLineWidth)); break; case 0x05: // Line WPG_DEBUG_MSG(("Line: type=%d, length=%d\n", record.GetType(), record.GetLength())); - m_startX = (float)((double)gsf_le_read_guint16(m_input)/(double)1200); - m_startY = (float)((double)gsf_le_read_guint16(m_input)/(double)1200); - m_endX = (float)((double)gsf_le_read_guint16(m_input)/(double)1200); - m_endY = (float)((double)gsf_le_read_guint16(m_input)/(double)1200); + m_startX = (float)((double)readU16(m_input)/(double)1200); + m_startY = (float)((double)readU16(m_input)/(double)1200); + m_endX = (float)((double)readU16(m_input)/(double)1200); + m_endY = (float)((double)readU16(m_input)/(double)1200); WPG_DEBUG_MSG(("Line: x1=%,4fin, y1=%.4fin, x2=%,4fin, y2=%.4fin\n", m_startX, m_startY, m_endX, m_endY)); m_listener->Line(m_startX, m_startY, m_endX, m_endY, m_lineWidth, m_lineStyle, m_colorPalette[m_lineColorIndex]); break; case 0x06: // Polyline WPG_DEBUG_MSG(("Polyline: type=%d, length=%d\n", record.GetType(), record.GetLength())); - tmpNumPoints = gsf_le_read_guint16(m_input); + tmpNumPoints = readU16(m_input); for (int i=0; i<tmpNumPoints; i++) { - tmpPoint.x = (float)((double)gsf_le_read_guint16(m_input)/(double)1200); - tmpPoint.y = (float)((double)gsf_le_read_guint16(m_input)/(double)1200); + tmpPoint.x = (float)((double)readU16(m_input)/(double)1200); + tmpPoint.y = (float)((double)readU16(m_input)/(double)1200); tmpPts.push_back(tmpPoint); } m_points = tmpPts; @@ -94,20 +94,20 @@ break; case 0x07: // Rectangle WPG_DEBUG_MSG(("Rectangle: type=%d, length=%d\n", record.GetType(), record.GetLength())); - m_startX = (float)((double)gsf_le_read_guint16(m_input)/(double)1200); - m_startY = (float)((double)gsf_le_read_guint16(m_input)/(double)1200); - m_width = (float)((double)gsf_le_read_guint16(m_input)/(double)1200); - m_height = (float)((double)gsf_le_read_guint16(m_input)/(double)1200); + m_startX = (float)((double)readU16(m_input)/(double)1200); + m_startY = (float)((double)readU16(m_input)/(double)1200); + m_width = (float)((double)readU16(m_input)/(double)1200); + m_height = (float)((double)readU16(m_input)/(double)1200); WPG_DEBUG_MSG(("Line: x=%.4fin, y=%.4fin, width=%,4fin, height=%.4fin\n", m_startX, m_startY, m_width, m_height)); m_listener->Rectangle(m_startX, m_startY, m_width, m_height, m_lineWidth, m_lineStyle, m_colorPalette[m_lineColorIndex], m_fillStyle, m_colorPalette[m_fillColorIndex]); break; case 0x08: // Polygon WPG_DEBUG_MSG(("Polygon: type=%d, length=%d\n", record.GetType(), record.GetLength())); - tmpNumPoints = gsf_le_read_guint16(m_input); + tmpNumPoints = readU16(m_input); for (int i=0; i<tmpNumPoints; i++) { - tmpPoint.x = (float)((double)gsf_le_read_guint16(m_input)/(double)1200); - tmpPoint.y = (float)((double)gsf_le_read_guint16(m_input)/(double)1200); + tmpPoint.x = (float)((double)readU16(m_input)/(double)1200); + tmpPoint.y = (float)((double)readU16(m_input)/(double)1200); tmpPts.push_back(tmpPoint); } m_points = tmpPts; @@ -115,11 +115,11 @@ break; case 0x09: // Ellipse WPG_DEBUG_MSG(("Ellipse: type=%d, length=%d\n", record.GetType(), record.GetLength())); - m_centerX = (float)((double)gsf_le_read_guint16(m_input)/(double)1200); - m_centerY = (float)((double)gsf_le_read_guint16(m_input)/(double)1200); - m_radiusX = (float)((double)gsf_le_read_guint16(m_input)/(double)1200); - m_radiusY = (float)((double)gsf_le_read_guint16(m_input)/(double)1200); - m_rotationAngle = gsf_le_read_guint16(m_input); + m_centerX = (float)((double)readU16(m_input)/(double)1200); + m_centerY = (float)((double)readU16(m_input)/(double)1200); + m_radiusX = (float)((double)readU16(m_input)/(double)1200); + m_radiusY = (float)((double)readU16(m_input)/(double)1200); + m_rotationAngle = readU16(m_input); WPG_DEBUG_MSG(("Ellipse: cx=%.4fin, cy=%.4fin, rx=%.fin, ry=%.4fin, rotate(%d)\n", m_centerX, m_centerY, m_radiusX, m_radiusY, m_rotationAngle)); m_listener->Ellipse(m_centerX, m_centerY, m_radiusX, m_radiusY, m_rotationAngle, m_lineWidth, @@ -127,21 +127,21 @@ break; case 0x0E: // Color map WPG_DEBUG_MSG(("Color map: type=%d, length=%d\n", record.GetType(), record.GetLength())); - tmpColorMapStartIndex = gsf_le_read_guint16(m_input); - tmpColorMapNumEntries = gsf_le_read_guint16(m_input); + tmpColorMapStartIndex = readU16(m_input); + tmpColorMapNumEntries = readU16(m_input); for (int i=tmpColorMapStartIndex; i<tmpColorMapStartIndex+tmpColorMapNumEntries; i++) { - m_colorPalette[i].red = gsf_le_read_guint8(m_input); - m_colorPalette[i].green = gsf_le_read_guint8(m_input); - m_colorPalette[i].blue = gsf_le_read_guint8(m_input); + m_colorPalette[i].red = readU8(m_input); + m_colorPalette[i].green = readU8(m_input); + m_colorPalette[i].blue = readU8(m_input); } break; case 0x0F: // Start of WPG data WPG_DEBUG_MSG(("Start of WPG data (Type 1): type=%d, length=%d\n", record.GetType(), record.GetLength())); - m_versionFlags = gsf_le_read_guint8(m_input); - m_bitFlags = gsf_le_read_guint8(m_input); - m_width = (float)((double)gsf_le_read_guint16(m_input)/(double)1200); - m_height = (float)((double)gsf_le_read_guint16(m_input)/(double)1200); + m_versionFlags = readU8(m_input); + m_bitFlags = readU8(m_input); + m_width = (float)((double)readU16(m_input)/(double)1200); + m_height = (float)((double)readU16(m_input)/(double)1200); WPG_DEBUG_MSG(("Start of WPG data (Type 1): width=%.4fin, height=%.4fin\n", m_width, m_height)); m_listener->StartDocument(m_width, m_height); break; Index: libwpg_utils.cpp =================================================================== RCS file: /cvsroot/libwpg/libwpg/src/lib/libwpg_utils.cpp,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- libwpg_utils.cpp 26 Jan 2004 13:51:38 -0000 1.1.1.1 +++ libwpg_utils.cpp 24 May 2006 22:25:57 -0000 1.2 @@ -28,19 +28,19 @@ #include "libwpg_utils.h" #include <gsf/gsf-utils.h> -guint8 gsf_le_read_guint8(GsfInput *input) +uint8_t readU8(GsfInput *input) { - return GSF_LE_GET_GUINT8(gsf_input_read(input, sizeof(guint8), NULL)); + return GSF_LE_GET_GUINT8(gsf_input_read(input, sizeof(uint8_t), NULL)); } -guint16 gsf_le_read_guint16(GsfInput *input) +uint16_t readU16(GsfInput *input) { - guint16 val = *(guint16 const *)gsf_input_read(input, sizeof(guint16), NULL); + uint16_t val = *(uint16_t const *)gsf_input_read(input, sizeof(uint16_t), NULL); return GSF_LE_GET_GUINT16(&val); } -guint32 gsf_le_read_guint32(GsfInput *input) +uint32_t readU32(GsfInput *input) { - guint32 val = *(guint32 const *)gsf_input_read(input, sizeof(guint32), NULL); + uint32_t val = *(uint32_t const *)gsf_input_read(input, sizeof(uint32_t), NULL); return GSF_LE_GET_GUINT32(&val); } Index: WPGXParser.cpp =================================================================== RCS file: /cvsroot/libwpg/libwpg/src/lib/WPGXParser.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- WPGXParser.cpp 1 Feb 2005 17:15:58 -0000 1.4 +++ WPGXParser.cpp 24 May 2006 22:25:57 -0000 1.5 @@ -25,7 +25,7 @@ #include "WPGXParser.h" -static const guint8 defaultPaletteRed[] = { +static const uint8_t defaultPaletteRed[] = { 0x00, 0xFF, 0x7F, 0xBF, 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x7F, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, @@ -60,7 +60,7 @@ 0xCC, 0xD4, 0xDB, 0xE3, 0xE8, 0xF0, 0xF7, 0xFF, }; -static const guint8 defaultPaletteGreen[] = { +static const uint8_t defaultPaletteGreen[] = { 0x00, 0xFF, 0x7F, 0xBF, 0x00, 0x7F, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, @@ -95,7 +95,7 @@ 0x87, 0x8F, 0x9C, 0xA8, 0xB3, 0xC4, 0xCF, 0xE0, }; -static const guint8 defaultPaletteBlue[] = { +static const uint8_t defaultPaletteBlue[] = { 0x00, 0xFF, 0x7F, 0xBF, 0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, Index: wpgheader.cpp =================================================================== RCS file: /cvsroot/libwpg/libwpg/src/lib/wpgheader.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- wpgheader.cpp 25 Jan 2005 11:46:37 -0000 1.2 +++ wpgheader.cpp 24 May 2006 22:25:57 -0000 1.3 @@ -39,27 +39,27 @@ gsf_input_seek(input, 0, G_SEEK_SET); // read contents from stream - WPG_CHECK_EOF(input); m_prefix._header_identifier[0] = gsf_le_read_guint8(input); - WPG_CHECK_EOF(input); m_prefix._header_identifier[1] = gsf_le_read_guint8(input); - WPG_CHECK_EOF(input); m_prefix._header_identifier[2] = gsf_le_read_guint8(input); - WPG_CHECK_EOF(input); m_prefix._header_identifier[3] = gsf_le_read_guint8(input); - WPG_CHECK_EOF(input); m_prefix._start_of_document = gsf_le_read_guint32(input); - WPG_CHECK_EOF(input); m_prefix._product_type = gsf_le_read_guint8(input); - WPG_CHECK_EOF(input); m_prefix._file_type = gsf_le_read_guint8(input); - WPG_CHECK_EOF(input); m_prefix._major_version = gsf_le_read_guint8(input); - WPG_CHECK_EOF(input); m_prefix._minor_version = gsf_le_read_guint8(input); - WPG_CHECK_EOF(input); m_prefix._encryption_key = gsf_le_read_guint16(input); + WPG_CHECK_EOF(input); m_prefix._header_identifier[0] = readU8(input); + WPG_CHECK_EOF(input); m_prefix._header_identifier[1] = readU8(input); + WPG_CHECK_EOF(input); m_prefix._header_identifier[2] = readU8(input); + WPG_CHECK_EOF(input); m_prefix._header_identifier[3] = readU8(input); + WPG_CHECK_EOF(input); m_prefix._start_of_document = readU32(input); + WPG_CHECK_EOF(input); m_prefix._product_type = readU8(input); + WPG_CHECK_EOF(input); m_prefix._file_type = readU8(input); + WPG_CHECK_EOF(input); m_prefix._major_version = readU8(input); + WPG_CHECK_EOF(input); m_prefix._minor_version = readU8(input); + WPG_CHECK_EOF(input); m_prefix._encryption_key = readU16(input); switch (m_prefix._major_version) { case 0x01: // What follows is not in the documentation of WPG1 break; case 0x02: - WPG_CHECK_EOF(input); m_prefix._start_of_packetdata = gsf_le_read_guint16(input); - WPG_CHECK_EOF(input); m_prefix._entry_count = gsf_le_read_guint8(input); - WPG_CHECK_EOF(input); m_prefix._resource_complete = gsf_le_read_guint8(input); - WPG_CHECK_EOF(input); m_prefix._encryption_block_offset = gsf_le_read_guint16(input); - WPG_CHECK_EOF(input); m_prefix._filesize = gsf_le_read_guint32(input); - WPG_CHECK_EOF(input); m_prefix._encrypt_version = gsf_le_read_guint16(input); + WPG_CHECK_EOF(input); m_prefix._start_of_packetdata = readU16(input); + WPG_CHECK_EOF(input); m_prefix._entry_count = readU8(input); + WPG_CHECK_EOF(input); m_prefix._resource_complete = readU8(input); + WPG_CHECK_EOF(input); m_prefix._encryption_block_offset = readU16(input); + WPG_CHECK_EOF(input); m_prefix._filesize = readU32(input); + WPG_CHECK_EOF(input); m_prefix._encrypt_version = readU16(input); break; default: break; Index: WPG1Record.h =================================================================== RCS file: /cvsroot/libwpg/libwpg/src/lib/WPG1Record.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- WPG1Record.h 27 Jan 2005 13:55:19 -0000 1.1 +++ WPG1Record.h 24 May 2006 22:25:57 -0000 1.2 @@ -35,10 +35,10 @@ public: WPG1RecordHeader(GsfInput *input); - guint8 GetClass() { return 0; } - guint8 GetType() { return m_record._type; } - guint32 GetExtension() { return 0; } - guint32 GetLength() { return m_record._length; } + uint8_t GetClass() { return 0; } + uint8_t GetType() { return m_record._type; } + uint32_t GetExtension() { return 0; } + uint32_t GetLength() { return m_record._length; } private: wpg_record_t m_record; }; Index: WPG1Record.cpp =================================================================== RCS file: /cvsroot/libwpg/libwpg/src/lib/WPG1Record.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- WPG1Record.cpp 27 Jan 2005 13:55:19 -0000 1.1 +++ WPG1Record.cpp 24 May 2006 22:25:57 -0000 1.2 @@ -37,7 +37,7 @@ } // read record header from stream - WPG_CHECK_EOF(input); m_record._type = gsf_le_read_guint8(input); + WPG_CHECK_EOF(input); m_record._type = readU8(input); WPG_CHECK_EOF(input); m_record._length = ReadVariableLengthInteger(input); } Index: WPG1Parser.h =================================================================== RCS file: /cvsroot/libwpg/libwpg/src/lib/WPG1Parser.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- WPG1Parser.h 28 Jan 2005 14:22:56 -0000 1.4 +++ WPG1Parser.h 24 May 2006 22:25:57 -0000 1.5 @@ -43,8 +43,8 @@ WPGListener *m_listener; // Start of WPG data (Type 1) - guint8 m_versionFlags; - guint8 m_bitFlags; + uint8_t m_versionFlags; + uint8_t m_bitFlags; // Ellipse float m_centerX; Index: WPGXRecord.cpp =================================================================== RCS file: /cvsroot/libwpg/libwpg/src/lib/WPGXRecord.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- WPGXRecord.cpp 27 Jan 2005 13:55:19 -0000 1.1 +++ WPGXRecord.cpp 24 May 2006 22:25:57 -0000 1.2 @@ -33,20 +33,20 @@ { // read a byte WPG_CHECK_EOF(input); - guint8 value8 = gsf_le_read_guint8(input); + uint8_t value8 = readU8(input); // if it's in the range 0-0xFE, then we have a 8-bit value if (value8<=0xFE) { return value8; } else { // now read a 16 bit value WPG_CHECK_EOF(input); - guint16 value16 = gsf_le_read_guint16(input); + uint16_t value16 = readU16(input); // if the MSB is 1, we have a 32 bit value if (value16>>15) { // read the next 16 bit value (LSB part, in value16 resides the MSB part) WPG_CHECK_EOF(input); - guint16 lvalue16 = gsf_le_read_guint16(input); - guint32 value32 = value16 & 0x7fff; // mask out the MSB + uint16_t lvalue16 = readU16(input); + uint32_t value32 = value16 & 0x7fff; // mask out the MSB return (value32<<16)+lvalue16; } else { // we have a 16 bit value, return it Index: libwpg_utils.h =================================================================== RCS file: /cvsroot/libwpg/libwpg/src/lib/libwpg_utils.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- libwpg_utils.h 26 Jan 2004 13:51:38 -0000 1.1.1.1 +++ libwpg_utils.h 24 May 2006 22:25:57 -0000 1.2 @@ -27,6 +27,18 @@ #include <gsf/gsf-input.h> +#ifdef _MSC_VER +typedef signed char int8_t; +typedef unsigned char uint8_t; +typedef signed short int16_t; +typedef unsigned short uint16_t; +typedef signed int int32_t; +typedef unsigned int uint32_t; +#else /* _MSC_VER */ +#include <inttypes.h> +#endif /* _MSC_VER */ + + // some error checking macros #define WPG_CHECK_EOF(input) if (gsf_input_eof(input)) { WPG_DEBUG_MSG(("WPG_CHECK_EOF @ line %d\n", __LINE__)); throw WPGEndOfFileException(); } @@ -43,8 +55,8 @@ #endif // cross platform utility functions, so things should work on non Intel cpu's -guint8 gsf_le_read_guint8(GsfInput *input); -guint16 gsf_le_read_guint16(GsfInput *input); -guint32 gsf_le_read_guint32(GsfInput *input); +uint8_t readU8(GsfInput *input); +uint16_t readU16(GsfInput *input); +uint32_t readU32(GsfInput *input); #endif Index: WPG2Record.cpp =================================================================== RCS file: /cvsroot/libwpg/libwpg/src/lib/WPG2Record.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- WPG2Record.cpp 27 Jan 2005 13:55:19 -0000 1.1 +++ WPG2Record.cpp 24 May 2006 22:25:57 -0000 1.2 @@ -37,8 +37,8 @@ } // read record header from stream - WPG_CHECK_EOF(input); m_record._class = gsf_le_read_guint8(input); - WPG_CHECK_EOF(input); m_record._type = gsf_le_read_guint8(input); + WPG_CHECK_EOF(input); m_record._class = readU8(input); + WPG_CHECK_EOF(input); m_record._type = readU8(input); WPG_CHECK_EOF(input); m_record._extension = ReadVariableLengthInteger(input); WPG_CHECK_EOF(input); m_record._length = ReadVariableLengthInteger(input); } Index: WPGXRecord.h =================================================================== RCS file: /cvsroot/libwpg/libwpg/src/lib/WPGXRecord.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- WPGXRecord.h 27 Jan 2005 13:55:20 -0000 1.1 +++ WPGXRecord.h 24 May 2006 22:25:57 -0000 1.2 @@ -28,20 +28,21 @@ #include <gsf/gsf-input.h> #include <stdio.h> +#include "libwpg_utils.h" typedef struct wpg_record_t { - guint8 _class; - guint8 _type; - guint32 _extension; - guint32 _length; + uint8_t _class; + uint8_t _type; + uint32_t _extension; + uint32_t _length; } wpg_record_t; class WPGXRecordHeader { public: - virtual guint8 GetClass() = 0; - virtual guint8 GetType() = 0; - virtual guint32 GetExtension() = 0; - virtual guint32 GetLength() = 0; + virtual uint8_t GetClass() = 0; + virtual uint8_t GetType() = 0; + virtual uint32_t GetExtension() = 0; + virtual uint32_t GetLength() = 0; protected: unsigned int ReadVariableLengthInteger(GsfInput *input); Index: wpgheader.h =================================================================== RCS file: /cvsroot/libwpg/libwpg/src/lib/wpgheader.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- wpgheader.h 25 Jan 2005 11:46:37 -0000 1.2 +++ wpgheader.h 24 May 2006 22:25:57 -0000 1.3 @@ -27,21 +27,22 @@ #include <gsf/gsf-input.h> #include <stdio.h> +#include "libwpg_utils.h" typedef struct wpg_prefix_t { - guint8 _header_identifier[4]; // should always be 0xFF followed by "WPC" - guint32 _start_of_document; // index into file - guint8 _product_type; // should always be 1 for WPG files - guint8 _file_type; // should always be 22 for WPG files - guint8 _major_version; // 2 for WPG 8.0 files - guint8 _minor_version; // 0 for WPG 8.0 files - guint16 _encryption_key; // 0 when not encrypted - guint16 _start_of_packetdata; // unused, since according to the docs no packets are defined - guint8 _entry_count; // number of entries in extension - guint8 _resource_complete; // resource completeness indicator - guint16 _encryption_block_offset; // encryption block offset - guint32 _filesize; // size of the entire wpg file - guint16 _encrypt_version; // encryption version information + uint8_t _header_identifier[4]; // should always be 0xFF followed by "WPC" + uint32_t _start_of_document; // index into file + uint8_t _product_type; // should always be 1 for WPG files + uint8_t _file_type; // should always be 22 for WPG files + uint8_t _major_version; // 2 for WPG 8.0 files + uint8_t _minor_version; // 0 for WPG 8.0 files + uint16_t _encryption_key; // 0 when not encrypted + uint16_t _start_of_packetdata; // unused, since according to the docs no packets are defined + uint8_t _entry_count; // number of entries in extension + uint8_t _resource_complete; // resource completeness indicator + uint16_t _encryption_block_offset; // encryption block offset + uint32_t _filesize; // size of the entire wpg file + uint16_t _encrypt_version; // encryption version information } wpg_prefix_t; class WPGHeader { @@ -53,7 +54,7 @@ unsigned int GetStartOfDocument() { return m_prefix._start_of_document; } unsigned int GetMajorVersion() { return m_prefix._major_version; } private: - wpg_prefix_t m_prefix; + wpg_prefix_t m_prefix; }; #endif Index: WPG2Record.h =================================================================== RCS file: /cvsroot/libwpg/libwpg/src/lib/WPG2Record.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- WPG2Record.h 27 Jan 2005 13:55:19 -0000 1.1 +++ WPG2Record.h 24 May 2006 22:25:57 -0000 1.2 @@ -35,10 +35,10 @@ public: WPG2RecordHeader(GsfInput *input); - guint8 GetClass() { return m_record._class; } - guint8 GetType() { return m_record._type; } - guint32 GetExtension() { return m_record._extension; } - guint32 GetLength() { return m_record._length; } + uint8_t GetClass() { return m_record._class; } + uint8_t GetType() { return m_record._type; } + uint32_t GetExtension() { return m_record._extension; } + uint32_t GetLength() { return m_record._length; } private: wpg_record_t m_record; }; |