From: Fridrich S. <str...@us...> - 2010-06-10 14:36:02
|
Update of /cvsroot/libwpg/libwpg/src/lib In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv16315 Modified Files: WPG1Parser.cpp WPG2Parser.cpp WPG2Parser.h WPGXParser.cpp WPGXParser.h Log Message: Some more parsing of text data Index: WPG2Parser.cpp =================================================================== RCS file: /cvsroot/libwpg/libwpg/src/lib/WPG2Parser.cpp,v retrieving revision 1.109 retrieving revision 1.110 diff -u -d -r1.109 -r1.110 --- WPG2Parser.cpp 9 Jun 2010 16:32:48 -0000 1.109 +++ WPG2Parser.cpp 10 Jun 2010 14:35:52 -0000 1.110 @@ -239,6 +239,8 @@ m_binaryData(), m_hFlipped(false), m_vFlipped(false), + m_textData(), + m_drawTextData(false), m_binaryId(0), m_embedded(isEmbedded) { @@ -299,9 +301,9 @@ { 0x19, "Arc", &WPG2Parser::handleArc }, { 0x1a, "Compound Polygon", &WPG2Parser::handleCompoundPolygon }, { 0x1b, "Bitmap", &WPG2Parser::handleBitmap }, - { 0x1c, "Text Line", 0 }, - { 0x1d, "Text Block", 0 }, - { 0x1e, "Text Path", 0 }, + { 0x1c, "Text Line", &WPG2Parser::handleTextLine }, + { 0x1d, "Text Block", &WPG2Parser::handleTextBlock }, + { 0x1e, "Text Path", &WPG2Parser::handleTextPath }, { 0x1f, "Chart", 0 }, { 0x20, "Group", 0 }, { 0x21, "Object Capsule", &WPG2Parser::handleObjectCapsule }, @@ -2019,17 +2021,6 @@ } -void WPG2Parser::handleTextData() -{ - if (!m_graphicsStarted) - return; - ::WPXBinaryData textData; - while (!m_input->atEOS() && m_input->tell() <= m_recordEnd) - textData.append((char)readU8()); - WPGXSubDocumentHandler handler; - WPDocument::parseSubDocument(const_cast<WPXInputStream *>(textData.getDataStream()), &handler, WPD_FILE_FORMAT_WP6); -} - void WPG2Parser::handleObjectCapsule() { if (!m_graphicsStarted) @@ -2163,6 +2154,101 @@ m_binaryData.objectIndex++; } +void WPG2Parser::handleTextLine() +{ + if (!m_graphicsStarted) + return; + ObjectCharacterization objCh; + parseCharacterization(&objCh); + m_matrix = objCh.matrix; + + unsigned short textFlags = readU16(); + long x = (m_doublePrecision) ? readS32() : readS16(); + long y = (m_doublePrecision) ? readS32() : readS16(); + TRANSFORM_XY(x,y); + + unsigned char horizontalAlignment = readU8(); + unsigned char verticalAlignment = readU8(); + + double baseLineAngle = fixedPointToDouble(readU32()); + + WPG_DEBUG_MSG((" text flags : 0x%.4x\n", textFlags)); + WPG_DEBUG_MSG((" x : %li\n", x)); + WPG_DEBUG_MSG((" y : %li\n", y)); + WPG_DEBUG_MSG((" horizontal alignment : 0x%.2x\n", horizontalAlignment)); + WPG_DEBUG_MSG((" vertical alignment : 0x%.2x\n", verticalAlignment)); + WPG_DEBUG_MSG((" baseline angle : %.4f\n", baseLineAngle)); + + m_textData.x1 = TO_DOUBLE(x)/m_xres; + m_textData.y1 = TO_DOUBLE(y)/m_yres; + m_textData.x2 = TO_DOUBLE(x)/m_xres; + m_textData.y2 = TO_DOUBLE(y)/m_yres; + m_textData.flags = textFlags; + m_textData.horAlign = horizontalAlignment; + m_textData.vertAlign = verticalAlignment; + m_textData.baseLineAngle = baseLineAngle; + + m_drawTextData = true; +} + +void WPG2Parser::handleTextBlock() +{ + if (!m_graphicsStarted) + return; + ObjectCharacterization objCh; + parseCharacterization(&objCh); + m_matrix = objCh.matrix; + + long x1 = (m_doublePrecision) ? readS32() : readS16(); + long y1 = (m_doublePrecision) ? readS32() : readS16(); + long x2 = (m_doublePrecision) ? readS32() : readS16(); + long y2 = (m_doublePrecision) ? readS32() : readS16(); + TRANSFORM_XY(x1,y1); + TRANSFORM_XY(x2,y2); + + long xs1 = (x1 <= x2) ? x1 : x2; + long xs2 = (x1 <= x2) ? x2 : x1; + long ys1 = (y1 <= y2) ? y1 : y2; + long ys2 = (y1 <= y2) ? y2 : y1; + + WPG_DEBUG_MSG((" x1 : %li\n", x1)); + WPG_DEBUG_MSG((" y1 : %li\n", y1)); + WPG_DEBUG_MSG((" x2 : %li\n", x2)); + WPG_DEBUG_MSG((" y2 : %li\n", y2)); + + m_textData.x1 = TO_DOUBLE(xs1)/m_xres; + m_textData.y1 = TO_DOUBLE(ys1)/m_yres; + m_textData.x2 = TO_DOUBLE(xs2)/m_xres; + m_textData.y2 = TO_DOUBLE(ys2)/m_yres; + m_textData.flags = 0; + m_textData.horAlign = 0; + m_textData.vertAlign = 0; + m_textData.baseLineAngle = 0.0; + + m_drawTextData = false; +} + +void WPG2Parser::handleTextPath() +{ + if (!m_graphicsStarted) + return; + + m_drawTextData = false; +} + +void WPG2Parser::handleTextData() +{ + if (!m_graphicsStarted) + return; + ::WPXBinaryData textData; + while (!m_input->atEOS() && m_input->tell() <= m_recordEnd) + textData.append((char)readU8()); + WPGTextDataHandler handler(m_painter); + WPDocument::parseSubDocument(const_cast<WPXInputStream *>(textData.getDataStream()), &handler, WPD_FILE_FORMAT_WP6); + + m_drawTextData = false; +} + void WPG2Parser::resetPalette() { m_colorPalette.clear(); Index: WPG2Parser.h =================================================================== RCS file: /cvsroot/libwpg/libwpg/src/lib/WPG2Parser.h,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- WPG2Parser.h 9 Jun 2010 16:32:48 -0000 1.38 +++ WPG2Parser.h 10 Jun 2010 14:35:52 -0000 1.39 @@ -145,13 +145,24 @@ WPGBitmapContext(): x1(0), y1(0), x2(0), y2(0), hres(100), vres(100) {} }; -class WPXBinaryDataContext +class WPGBinaryDataContext { public: double x1, y1, x2, y2; int numObjects, objectIndex; std::vector<WPXString> mimeTypes; - WPXBinaryDataContext(): x1(0), y1(0), x2(0), y2(0), numObjects(0), objectIndex(0), mimeTypes() {} + WPGBinaryDataContext(): x1(0), y1(0), x2(0), y2(0), numObjects(0), objectIndex(0), mimeTypes() {} +}; + +class WPGTextDataContext +{ +public: + double x1, y1, x2, y2; + unsigned short flags; + unsigned char vertAlign; + unsigned char horAlign; + double baseLineAngle; + WPGTextDataContext(): x1(0), y1(0), x2(0), y2(0), flags(), vertAlign(), horAlign(), baseLineAngle(0.0) {} }; class WPG2Parser : public WPGXParser @@ -198,6 +209,9 @@ void handleBitmapData(); void handleTextData(); + void handleTextLine(); + void handleTextBlock(); + void handleTextPath(); void handleObjectCapsule(); void handleObjectImage(); @@ -238,8 +252,10 @@ bool m_compoundFramed; bool m_compoundClosed; WPGBitmapContext m_bitmap; - WPXBinaryDataContext m_binaryData; + WPGBinaryDataContext m_binaryData; bool m_hFlipped, m_vFlipped; + WPGTextDataContext m_textData; + bool m_drawTextData; class ObjectCharacterization; void parseCharacterization(ObjectCharacterization*); Index: WPG1Parser.cpp =================================================================== RCS file: /cvsroot/libwpg/libwpg/src/lib/WPG1Parser.cpp,v retrieving revision 1.64 retrieving revision 1.65 diff -u -d -r1.64 -r1.65 --- WPG1Parser.cpp 9 Jun 2010 16:32:48 -0000 1.64 +++ WPG1Parser.cpp 10 Jun 2010 14:35:51 -0000 1.65 @@ -946,7 +946,7 @@ WPG_DEBUG_MSG((" Scale factor: %d,%d\n", sx, sy)); WPG_DEBUG_MSG((" Type: %d\n", type)); - WPGXSubDocumentHandler handler; + WPGTextDataHandler handler(m_painter); WPDocument::parseSubDocument(const_cast<WPXInputStream *>(textString.getDataStream()), &handler, WPD_FILE_FORMAT_WP5); } Index: WPGXParser.cpp =================================================================== RCS file: /cvsroot/libwpg/libwpg/src/lib/WPGXParser.cpp,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- WPGXParser.cpp 9 Jun 2010 16:32:48 -0000 1.20 +++ WPGXParser.cpp 10 Jun 2010 14:35:52 -0000 1.21 @@ -117,247 +117,263 @@ return *this; } -void WPGXSubDocumentHandler::setDocumentMetaData(const WPXPropertyList &propList) +void WPGTextDataHandler::setDocumentMetaData(const WPXPropertyList &propList) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::setDocumentMetaData\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::setDocumentMetaData\n")); } -void WPGXSubDocumentHandler::startDocument() +void WPGTextDataHandler::startDocument() { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::startDocument\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::startDocument\n")); } -void WPGXSubDocumentHandler::endDocument() +void WPGTextDataHandler::endDocument() { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::endDocument\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::endDocument\n")); } -void WPGXSubDocumentHandler::definePageStyle(const WPXPropertyList &propList) +void WPGTextDataHandler::startSubDocument() { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::definePageStyle\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::startSubDocument\n")); } -void WPGXSubDocumentHandler::openPageSpan(const WPXPropertyList &propList) +void WPGTextDataHandler::endSubDocument() { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::openPageSpan\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::endSubDocument\n")); } -void WPGXSubDocumentHandler::closePageSpan() +void WPGTextDataHandler::definePageStyle(const WPXPropertyList &propList) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::closePageSpan\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::definePageStyle\n")); } -void WPGXSubDocumentHandler::openHeader(const WPXPropertyList &propList) +void WPGTextDataHandler::openPageSpan(const WPXPropertyList &propList) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::openHeader\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::openPageSpan\n")); } -void WPGXSubDocumentHandler::closeHeader() +void WPGTextDataHandler::closePageSpan() { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::closeHeader\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::closePageSpan\n")); } -void WPGXSubDocumentHandler::openFooter(const WPXPropertyList &propList) +void WPGTextDataHandler::openHeader(const WPXPropertyList &propList) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::openFooter\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::openHeader\n")); } -void WPGXSubDocumentHandler::closeFooter() +void WPGTextDataHandler::closeHeader() { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::closeFooter\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::closeHeader\n")); } -void WPGXSubDocumentHandler::defineParagraphStyle(const WPXPropertyList &propList, const WPXPropertyListVector &tabStops) +void WPGTextDataHandler::openFooter(const WPXPropertyList &propList) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::defineParagraphStyle\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::openFooter\n")); } -void WPGXSubDocumentHandler::openParagraph(const WPXPropertyList &propList, const WPXPropertyListVector &tabStops) +void WPGTextDataHandler::closeFooter() { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::openParagraph\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::closeFooter\n")); } -void WPGXSubDocumentHandler::closeParagraph() +void WPGTextDataHandler::defineParagraphStyle(const WPXPropertyList &propList, const WPXPropertyListVector &tabStops) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::closeParagraph\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::defineParagraphStyle\n")); } -void WPGXSubDocumentHandler::defineCharacterStyle(const WPXPropertyList &propList) +void WPGTextDataHandler::openParagraph(const WPXPropertyList &propList, const WPXPropertyListVector &tabStops) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::defineCharacterStyle\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::openParagraph\n")); } -void WPGXSubDocumentHandler::openSpan(const WPXPropertyList &propList) +void WPGTextDataHandler::closeParagraph() { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::openSpan\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::closeParagraph\n")); } -void WPGXSubDocumentHandler::closeSpan() +void WPGTextDataHandler::defineCharacterStyle(const WPXPropertyList &propList) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::closeSpan\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::defineCharacterStyle\n")); } -void WPGXSubDocumentHandler::defineSectionStyle(const WPXPropertyList &propList, const WPXPropertyListVector &columns) +void WPGTextDataHandler::openSpan(const WPXPropertyList &propList) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::defineSectionStyle\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::openSpan\n")); } -void WPGXSubDocumentHandler::openSection(const WPXPropertyList &propList, const WPXPropertyListVector &columns) +void WPGTextDataHandler::closeSpan() { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::openSection\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::closeSpan\n")); } -void WPGXSubDocumentHandler::closeSection() +void WPGTextDataHandler::defineSectionStyle(const WPXPropertyList &propList, const WPXPropertyListVector &columns) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::closeSection\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::defineSectionStyle\n")); } -void WPGXSubDocumentHandler::insertTab() +void WPGTextDataHandler::openSection(const WPXPropertyList &propList, const WPXPropertyListVector &columns) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::insertTab\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::openSection\n")); } -void WPGXSubDocumentHandler::insertText(const WPXString &text) +void WPGTextDataHandler::closeSection() { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::insertText %s\n", text.cstr())); + WPG_DEBUG_MSG(("WPGTextDataHandler::closeSection\n")); } -void WPGXSubDocumentHandler::insertLineBreak() +void WPGTextDataHandler::insertTab() { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::insertLineBreak\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::insertTab\n")); } -void WPGXSubDocumentHandler::defineOrderedListLevel(const WPXPropertyList &propList) +void WPGTextDataHandler::insertText(const WPXString &text) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::defineOrderedListLevel\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::insertText %s\n", text.cstr())); } -void WPGXSubDocumentHandler::defineUnorderedListLevel(const WPXPropertyList &propList) +void WPGTextDataHandler::insertLineBreak() { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::defineUnorderedListLevel\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::insertLineBreak\n")); } -void WPGXSubDocumentHandler::openOrderedListLevel(const WPXPropertyList &propList) +void WPGTextDataHandler::defineOrderedListLevel(const WPXPropertyList &propList) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::openOrderedListLevel\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::defineOrderedListLevel\n")); } -void WPGXSubDocumentHandler::openUnorderedListLevel(const WPXPropertyList &propList) +void WPGTextDataHandler::defineUnorderedListLevel(const WPXPropertyList &propList) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::openUnorderedListLevel\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::defineUnorderedListLevel\n")); } -void WPGXSubDocumentHandler::closeOrderedListLevel() +void WPGTextDataHandler::openOrderedListLevel(const WPXPropertyList &propList) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::closeOrderedListLevel\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::openOrderedListLevel\n")); } -void WPGXSubDocumentHandler::closeUnorderedListLevel() +void WPGTextDataHandler::openUnorderedListLevel(const WPXPropertyList &propList) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::closeUnorderedListLevel\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::openUnorderedListLevel\n")); } -void WPGXSubDocumentHandler::openListElement(const WPXPropertyList &propList, const WPXPropertyListVector &tabStops) +void WPGTextDataHandler::closeOrderedListLevel() { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::openListElement\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::closeOrderedListLevel\n")); } -void WPGXSubDocumentHandler::closeListElement() +void WPGTextDataHandler::closeUnorderedListLevel() { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::closeListElement\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::closeUnorderedListLevel\n")); } -void WPGXSubDocumentHandler::openFootnote(const WPXPropertyList &propList) +void WPGTextDataHandler::openListElement(const WPXPropertyList &propList, const WPXPropertyListVector &tabStops) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::openFootnote\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::openListElement\n")); } -void WPGXSubDocumentHandler::closeFootnote() +void WPGTextDataHandler::closeListElement() { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::closeFootnote\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::closeListElement\n")); } -void WPGXSubDocumentHandler::openEndnote(const WPXPropertyList &propList) +void WPGTextDataHandler::openFootnote(const WPXPropertyList &propList) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::openEndnote\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::openFootnote\n")); } -void WPGXSubDocumentHandler::closeEndnote() +void WPGTextDataHandler::closeFootnote() { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::closeEndnote\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::closeFootnote\n")); } -void WPGXSubDocumentHandler::openComment(const WPXPropertyList &propList) +void WPGTextDataHandler::openEndnote(const WPXPropertyList &propList) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::openComment\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::openEndnote\n")); } -void WPGXSubDocumentHandler::closeComment() +void WPGTextDataHandler::closeEndnote() { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::closeComment\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::closeEndnote\n")); } -void WPGXSubDocumentHandler::openTextBox(const WPXPropertyList &propList) +void WPGTextDataHandler::openComment(const WPXPropertyList &propList) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::openTextBox\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::openComment\n")); } -void WPGXSubDocumentHandler::closeTextBox() +void WPGTextDataHandler::closeComment() { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::closeTextBox\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::closeComment\n")); } -void WPGXSubDocumentHandler::openTable(const WPXPropertyList &propList, const WPXPropertyListVector &columns) +void WPGTextDataHandler::openTextBox(const WPXPropertyList &propList) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::openTable\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::openTextBox\n")); } -void WPGXSubDocumentHandler::openTableRow(const WPXPropertyList &propList) +void WPGTextDataHandler::closeTextBox() { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::openTableRow\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::closeTextBox\n")); } -void WPGXSubDocumentHandler::closeTableRow() +void WPGTextDataHandler::openTable(const WPXPropertyList &propList, const WPXPropertyListVector &columns) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::closeTableRow\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::openTable\n")); } -void WPGXSubDocumentHandler::openTableCell(const WPXPropertyList &propList) +void WPGTextDataHandler::openTableRow(const WPXPropertyList &propList) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::openTableCell\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::openTableRow\n")); } -void WPGXSubDocumentHandler::closeTableCell() +void WPGTextDataHandler::closeTableRow() { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::closeTableCell\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::closeTableRow\n")); } -void WPGXSubDocumentHandler::insertCoveredTableCell(const WPXPropertyList &propList) +void WPGTextDataHandler::openTableCell(const WPXPropertyList &propList) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::insertCoveredTableCell\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::openTableCell\n")); } -void WPGXSubDocumentHandler::closeTable() +void WPGTextDataHandler::closeTableCell() { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::closeTable\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::closeTableCell\n")); } -void WPGXSubDocumentHandler::openFrame(const WPXPropertyList &propList) +void WPGTextDataHandler::insertCoveredTableCell(const WPXPropertyList &propList) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::openFrame\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::insertCoveredTableCell\n")); } -void WPGXSubDocumentHandler::closeFrame() +void WPGTextDataHandler::closeTable() { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::closeFrame\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::closeTable\n")); +} + +void WPGTextDataHandler::openFrame(const WPXPropertyList &propList) +{ + WPG_DEBUG_MSG(("WPGTextDataHandler::openFrame\n")); +} + +void WPGTextDataHandler::closeFrame() +{ + WPG_DEBUG_MSG(("WPGTextDataHandler::closeFrame\n")); } -void WPGXSubDocumentHandler::insertBinaryObject(const WPXPropertyList &propList, const WPXBinaryData &data) +void WPGTextDataHandler::insertBinaryObject(const WPXPropertyList &propList, const WPXBinaryData &data) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::insertBinaryObject\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::insertBinaryObject\n")); } -void WPGXSubDocumentHandler::insertEquation(const WPXPropertyList &propList, const WPXString &data) +void WPGTextDataHandler::insertEquation(const WPXPropertyList &propList, const WPXString &data) { - WPG_DEBUG_MSG(("WPGXSubDocumentHandler::insertEquation\n")); + WPG_DEBUG_MSG(("WPGTextDataHandler::insertEquation\n")); +} + +void WPGTextDataHandler::setTextDataProperties(const WPXPropertyList &propList) +{ + WPG_DEBUG_MSG(("WPGTextDataHandler::setTextDataProperties\n")); + } Index: WPGXParser.h =================================================================== RCS file: /cvsroot/libwpg/libwpg/src/lib/WPGXParser.h,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- WPGXParser.h 9 Jun 2010 16:32:48 -0000 1.18 +++ WPGXParser.h 10 Jun 2010 14:35:52 -0000 1.19 @@ -59,71 +59,79 @@ std::map<int,libwpg::WPGColor> m_colorPalette; }; -class WPGXSubDocumentHandler : public WPXDocumentInterface +class WPGTextDataHandler : public WPXDocumentInterface { public: - WPGXSubDocumentHandler() {} - virtual ~WPGXSubDocumentHandler() {} - virtual void setDocumentMetaData(const WPXPropertyList &propList); + WPGTextDataHandler(libwpg::WPGPaintInterface* painter) : + m_painter(painter) {} + virtual ~WPGTextDataHandler() {} + void setDocumentMetaData(const WPXPropertyList &propList); - virtual void startDocument(); - virtual void endDocument(); + void startDocument(); + void endDocument(); - virtual void definePageStyle(const WPXPropertyList &propList); - virtual void openPageSpan(const WPXPropertyList &propList); - virtual void closePageSpan(); - virtual void openHeader(const WPXPropertyList &propList); - virtual void closeHeader(); - virtual void openFooter(const WPXPropertyList &propList); - virtual void closeFooter(); + void startSubDocument(); + void endSubDocument(); - virtual void defineParagraphStyle(const WPXPropertyList &propList, const WPXPropertyListVector &tabStops); - virtual void openParagraph(const WPXPropertyList &propList, const WPXPropertyListVector &tabStops); - virtual void closeParagraph(); + void definePageStyle(const WPXPropertyList &propList); + void openPageSpan(const WPXPropertyList &propList); + void closePageSpan(); + void openHeader(const WPXPropertyList &propList); + void closeHeader(); + void openFooter(const WPXPropertyList &propList); + void closeFooter(); - virtual void defineCharacterStyle(const WPXPropertyList &propList); - virtual void openSpan(const WPXPropertyList &propList); - virtual void closeSpan(); + void defineParagraphStyle(const WPXPropertyList &propList, const WPXPropertyListVector &tabStops); + void openParagraph(const WPXPropertyList &propList, const WPXPropertyListVector &tabStops); + void closeParagraph(); - virtual void defineSectionStyle(const WPXPropertyList &propList, const WPXPropertyListVector &columns); - virtual void openSection(const WPXPropertyList &propList, const WPXPropertyListVector &columns); - virtual void closeSection(); + void defineCharacterStyle(const WPXPropertyList &propList); + void openSpan(const WPXPropertyList &propList); + void closeSpan(); - virtual void insertTab(); - virtual void insertText(const WPXString &text); - virtual void insertLineBreak(); + void defineSectionStyle(const WPXPropertyList &propList, const WPXPropertyListVector &columns); + void openSection(const WPXPropertyList &propList, const WPXPropertyListVector &columns); + void closeSection(); - virtual void defineOrderedListLevel(const WPXPropertyList &propList); - virtual void defineUnorderedListLevel(const WPXPropertyList &propList); - virtual void openOrderedListLevel(const WPXPropertyList &propList); - virtual void openUnorderedListLevel(const WPXPropertyList &propList); - virtual void closeOrderedListLevel(); - virtual void closeUnorderedListLevel(); - virtual void openListElement(const WPXPropertyList &propList, const WPXPropertyListVector &tabStops); - virtual void closeListElement(); + void insertTab(); + void insertText(const WPXString &text); + void insertLineBreak(); - virtual void openFootnote(const WPXPropertyList &propList); - virtual void closeFootnote(); - virtual void openEndnote(const WPXPropertyList &propList); - virtual void closeEndnote(); - virtual void openComment(const WPXPropertyList &propList); - virtual void closeComment(); - virtual void openTextBox(const WPXPropertyList &propList); - virtual void closeTextBox(); + void defineOrderedListLevel(const WPXPropertyList &propList); + void defineUnorderedListLevel(const WPXPropertyList &propList); + void openOrderedListLevel(const WPXPropertyList &propList); + void openUnorderedListLevel(const WPXPropertyList &propList); + void closeOrderedListLevel(); + void closeUnorderedListLevel(); + void openListElement(const WPXPropertyList &propList, const WPXPropertyListVector &tabStops); + void closeListElement(); - virtual void openTable(const WPXPropertyList &propList, const WPXPropertyListVector &columns); - virtual void openTableRow(const WPXPropertyList &propList); - virtual void closeTableRow(); - virtual void openTableCell(const WPXPropertyList &propList); - virtual void closeTableCell(); - virtual void insertCoveredTableCell(const WPXPropertyList &propList); - virtual void closeTable(); + void openFootnote(const WPXPropertyList &propList); + void closeFootnote(); + void openEndnote(const WPXPropertyList &propList); + void closeEndnote(); + void openComment(const WPXPropertyList &propList); + void closeComment(); + void openTextBox(const WPXPropertyList &propList); + void closeTextBox(); - virtual void openFrame(const WPXPropertyList &propList); - virtual void closeFrame(); + void openTable(const WPXPropertyList &propList, const WPXPropertyListVector &columns); + void openTableRow(const WPXPropertyList &propList); + void closeTableRow(); + void openTableCell(const WPXPropertyList &propList); + void closeTableCell(); + void insertCoveredTableCell(const WPXPropertyList &propList); + void closeTable(); + + void openFrame(const WPXPropertyList &propList); + void closeFrame(); - virtual void insertBinaryObject(const WPXPropertyList &propList, const WPXBinaryData &data); - virtual void insertEquation(const WPXPropertyList &propList, const WPXString &data); + void insertBinaryObject(const WPXPropertyList &propList, const WPXBinaryData &data); + void insertEquation(const WPXPropertyList &propList, const WPXString &data); + + void setTextDataProperties(const WPXPropertyList &propList); +private: + libwpg::WPGPaintInterface *m_painter; }; |