#include <MSPUBParser.h>
Classes | |
| struct | TextParagraphReference |
| struct | TextSpanReference |
Public Member Functions | |
| MSPUBParser (librevenge::RVNGInputStream *input, MSPUBCollector *collector) | |
| virtual | ~MSPUBParser () |
| virtual bool | parse () |
Protected Types | |
| typedef std::vector < ContentChunkReference > ::const_iterator | ccr_iterator_t |
Protected Member Functions | |
| virtual unsigned | getColorIndexByQuillEntry (unsigned entry) |
| MSPUBParser () | |
| MSPUBParser (const MSPUBParser &) | |
| MSPUBParser & | operator= (const MSPUBParser &) |
| virtual bool | parseContents (librevenge::RVNGInputStream *input) |
| bool | parseMetaData (librevenge::RVNGInputStream *input) |
| bool | parseQuill (librevenge::RVNGInputStream *input) |
| bool | parseEscher (librevenge::RVNGInputStream *input) |
| bool | parseEscherDelay (librevenge::RVNGInputStream *input) |
| MSPUBBlockInfo | parseBlock (librevenge::RVNGInputStream *input, bool skipHierarchicalData=false) |
| EscherContainerInfo | parseEscherContainer (librevenge::RVNGInputStream *input) |
| bool | parseContentChunkReference (librevenge::RVNGInputStream *input, MSPUBBlockInfo block) |
| QuillChunkReference | parseQuillChunkReference (librevenge::RVNGInputStream *input) |
| bool | parseDocumentChunk (librevenge::RVNGInputStream *input, const ContentChunkReference &chunk) |
| bool | parsePageChunk (librevenge::RVNGInputStream *input, const ContentChunkReference &chunk) |
| bool | parsePaletteChunk (librevenge::RVNGInputStream *input, const ContentChunkReference &chunk) |
| bool | parsePageShapeList (librevenge::RVNGInputStream *input, MSPUBBlockInfo block, unsigned pageSeqNum) |
| bool | parseShape (librevenge::RVNGInputStream *input, const ContentChunkReference &chunk) |
| bool | parseBorderArtChunk (librevenge::RVNGInputStream *input, const ContentChunkReference &chunk) |
| bool | parseFontChunk (librevenge::RVNGInputStream *input, const ContentChunkReference &chunk) |
| void | parsePaletteEntry (librevenge::RVNGInputStream *input, MSPUBBlockInfo block) |
| void | parseColors (librevenge::RVNGInputStream *input, const QuillChunkReference &chunk) |
| void | parseFonts (librevenge::RVNGInputStream *input, const QuillChunkReference &chunk) |
| void | parseDefaultStyle (librevenge::RVNGInputStream *input, const QuillChunkReference &chunk) |
| void | parseShapeGroup (librevenge::RVNGInputStream *input, const EscherContainerInfo &spgr, Coordinate parentCoordinateSystem, Coordinate parentGroupAbsoluteCoord) |
| void | skipBlock (librevenge::RVNGInputStream *input, MSPUBBlockInfo block) |
| void | parseEscherShape (librevenge::RVNGInputStream *input, const EscherContainerInfo &sp, Coordinate &parentCoordinateSystem, Coordinate &parentGroupAbsoluteCoord) |
| bool | findEscherContainer (librevenge::RVNGInputStream *input, const EscherContainerInfo &parent, EscherContainerInfo &out, unsigned short type) |
| bool | findEscherContainerWithTypeInSet (librevenge::RVNGInputStream *input, const EscherContainerInfo &parent, EscherContainerInfo &out, std::set< unsigned short > types) |
| std::map< unsigned short, unsigned > | extractEscherValues (librevenge::RVNGInputStream *input, const EscherContainerInfo &record) |
| FOPTValues | extractFOPTValues (librevenge::RVNGInputStream *input, const libmspub::EscherContainerInfo &record) |
| std::vector< TextSpanReference > | parseCharacterStyles (librevenge::RVNGInputStream *input, const QuillChunkReference &chunk) |
| std::vector < TextParagraphReference > | parseParagraphStyles (librevenge::RVNGInputStream *input, const QuillChunkReference &chunk) |
| std::vector< Calculation > | parseGuides (const std::vector< unsigned char > &guideData) |
| std::vector< Vertex > | parseVertices (const std::vector< unsigned char > &vertexData) |
| std::vector< unsigned > | parseTableCellDefinitions (librevenge::RVNGInputStream *input, const QuillChunkReference &chunk) |
| std::vector< unsigned short > | parseSegments (const std::vector< unsigned char > &segmentData) |
| DynamicCustomShape | getDynamicCustomShape (const std::vector< unsigned char > &vertexData, const std::vector< unsigned char > &segmentData, const std::vector< unsigned char > &guideData, unsigned geoWidth, unsigned geoHeight) |
| int | getColorIndex (librevenge::RVNGInputStream *input, const MSPUBBlockInfo &info) |
| unsigned | getFontIndex (librevenge::RVNGInputStream *input, const MSPUBBlockInfo &info) |
| CharacterStyle | getCharacterStyle (librevenge::RVNGInputStream *input) |
| ParagraphStyle | getParagraphStyle (librevenge::RVNGInputStream *input) |
| boost::shared_ptr< Fill > | getNewFill (const std::map< unsigned short, unsigned > &foptValues, bool &skipIfNotBg, std::map< unsigned short, std::vector< unsigned char > > &foptVal) |
Static Protected Member Functions | |
| static short | getBlockDataLength (unsigned type) |
| static bool | isBlockDataString (unsigned type) |
| static PageType | getPageTypeBySeqNum (unsigned seqNum) |
| static unsigned | getEscherElementTailLength (unsigned short type) |
| static unsigned | getEscherElementAdditionalHeaderLength (unsigned short type) |
| static ImgType | imgTypeByBlipType (unsigned short type) |
| static int | getStartOffset (ImgType type, unsigned short initial) |
| static bool | lineExistsByFlagPointer (unsigned *flags, unsigned *geomFlags=NULL) |
Protected Attributes | |
| librevenge::RVNGInputStream * | m_input |
| MSPUBCollector * | m_collector |
| std::vector< MSPUBBlockInfo > | m_blockInfo |
| std::vector < ContentChunkReference > | m_contentChunks |
| std::vector< unsigned > | m_cellsChunkIndices |
| std::vector< unsigned > | m_pageChunkIndices |
| std::vector< unsigned > | m_shapeChunkIndices |
| std::vector< unsigned > | m_paletteChunkIndices |
| std::vector< unsigned > | m_borderArtChunkIndices |
| std::vector< unsigned > | m_fontChunkIndices |
| std::vector< unsigned > | m_unknownChunkIndices |
| boost::optional< unsigned > | m_documentChunkIndex |
| int | m_lastSeenSeqNum |
| unsigned | m_lastAddedImage |
| std::vector< int > | m_alternateShapeSeqNums |
| std::vector< int > | m_escherDelayIndices |
typedef std::vector<ContentChunkReference>::const_iterator libmspub::MSPUBParser::ccr_iterator_t [protected] |
| libmspub::MSPUBParser::MSPUBParser | ( | librevenge::RVNGInputStream * | input, |
| MSPUBCollector * | collector | ||
| ) | [explicit] |
| libmspub::MSPUBParser::~MSPUBParser | ( | ) | [virtual] |
| libmspub::MSPUBParser::MSPUBParser | ( | ) | [protected] |
| libmspub::MSPUBParser::MSPUBParser | ( | const MSPUBParser & | ) | [protected] |
| std::map< unsigned short, unsigned > libmspub::MSPUBParser::extractEscherValues | ( | librevenge::RVNGInputStream * | input, |
| const EscherContainerInfo & | record | ||
| ) | [protected] |
Referenced by parseEscherShape().
| FOPTValues libmspub::MSPUBParser::extractFOPTValues | ( | librevenge::RVNGInputStream * | input, |
| const libmspub::EscherContainerInfo & | record | ||
| ) | [protected] |
Referenced by parseEscherShape().
| bool libmspub::MSPUBParser::findEscherContainer | ( | librevenge::RVNGInputStream * | input, |
| const EscherContainerInfo & | parent, | ||
| EscherContainerInfo & | out, | ||
| unsigned short | type | ||
| ) | [protected] |
Referenced by parseEscher(), and parseEscherShape().
| bool libmspub::MSPUBParser::findEscherContainerWithTypeInSet | ( | librevenge::RVNGInputStream * | input, |
| const EscherContainerInfo & | parent, | ||
| EscherContainerInfo & | out, | ||
| std::set< unsigned short > | types | ||
| ) | [protected] |
Referenced by parseEscherShape(), and parseShapeGroup().
| short libmspub::MSPUBParser::getBlockDataLength | ( | unsigned | type | ) | [static, protected] |
Referenced by parseBlock().
| CharacterStyle libmspub::MSPUBParser::getCharacterStyle | ( | librevenge::RVNGInputStream * | input | ) | [protected] |
Referenced by parseCharacterStyles(), and parseDefaultStyle().
| int libmspub::MSPUBParser::getColorIndex | ( | librevenge::RVNGInputStream * | input, |
| const MSPUBBlockInfo & | info | ||
| ) | [protected] |
Referenced by getCharacterStyle().
| unsigned libmspub::MSPUBParser::getColorIndexByQuillEntry | ( | unsigned | entry | ) | [protected, virtual] |
Reimplemented in libmspub::MSPUBParser2k.
Referenced by getCharacterStyle().
| DynamicCustomShape libmspub::MSPUBParser::getDynamicCustomShape | ( | const std::vector< unsigned char > & | vertexData, |
| const std::vector< unsigned char > & | segmentData, | ||
| const std::vector< unsigned char > & | guideData, | ||
| unsigned | geoWidth, | ||
| unsigned | geoHeight | ||
| ) | [protected] |
Referenced by parseEscherShape().
| unsigned libmspub::MSPUBParser::getEscherElementAdditionalHeaderLength | ( | unsigned short | type | ) | [static, protected] |
Referenced by extractEscherValues().
| unsigned libmspub::MSPUBParser::getEscherElementTailLength | ( | unsigned short | type | ) | [static, protected] |
Referenced by findEscherContainer(), findEscherContainerWithTypeInSet(), parseEscher(), and parseShapeGroup().
| unsigned libmspub::MSPUBParser::getFontIndex | ( | librevenge::RVNGInputStream * | input, |
| const MSPUBBlockInfo & | info | ||
| ) | [protected] |
Referenced by getCharacterStyle().
| boost::shared_ptr< Fill > libmspub::MSPUBParser::getNewFill | ( | const std::map< unsigned short, unsigned > & | foptValues, |
| bool & | skipIfNotBg, | ||
| std::map< unsigned short, std::vector< unsigned char > > & | foptVal | ||
| ) | [protected] |
Referenced by parseEscherShape().
| PageType libmspub::MSPUBParser::getPageTypeBySeqNum | ( | unsigned | seqNum | ) | [static, protected] |
Reimplemented in libmspub::MSPUBParser2k.
Referenced by parsePageChunk().
| ParagraphStyle libmspub::MSPUBParser::getParagraphStyle | ( | librevenge::RVNGInputStream * | input | ) | [protected] |
Referenced by parseDefaultStyle(), and parseParagraphStyles().
| int libmspub::MSPUBParser::getStartOffset | ( | ImgType | type, |
| unsigned short | initial | ||
| ) | [static, protected] |
Referenced by parseEscherDelay().
| ImgType libmspub::MSPUBParser::imgTypeByBlipType | ( | unsigned short | type | ) | [static, protected] |
Referenced by parseEscherDelay().
| bool libmspub::MSPUBParser::isBlockDataString | ( | unsigned | type | ) | [static, protected] |
Referenced by parseBlock().
| bool libmspub::MSPUBParser::lineExistsByFlagPointer | ( | unsigned * | flags, |
| unsigned * | geomFlags = NULL |
||
| ) | [static, protected] |
Referenced by parseEscherShape().
| MSPUBParser& libmspub::MSPUBParser::operator= | ( | const MSPUBParser & | ) | [protected] |
| bool libmspub::MSPUBParser::parse | ( | ) | [virtual] |
Reimplemented in libmspub::MSPUBParser2k, and libmspub::MSPUBParser97.
| MSPUBBlockInfo libmspub::MSPUBParser::parseBlock | ( | librevenge::RVNGInputStream * | input, |
| bool | skipHierarchicalData = false |
||
| ) | [protected] |
| bool libmspub::MSPUBParser::parseBorderArtChunk | ( | librevenge::RVNGInputStream * | input, |
| const ContentChunkReference & | chunk | ||
| ) | [protected] |
Referenced by parseContents().
| std::vector< MSPUBParser::TextSpanReference > libmspub::MSPUBParser::parseCharacterStyles | ( | librevenge::RVNGInputStream * | input, |
| const QuillChunkReference & | chunk | ||
| ) | [protected] |
Referenced by parseQuill().
| void libmspub::MSPUBParser::parseColors | ( | librevenge::RVNGInputStream * | input, |
| const QuillChunkReference & | chunk | ||
| ) | [protected] |
Referenced by parseQuill().
| bool libmspub::MSPUBParser::parseContentChunkReference | ( | librevenge::RVNGInputStream * | input, |
| MSPUBBlockInfo | block | ||
| ) | [protected] |
Referenced by parseContents().
| bool libmspub::MSPUBParser::parseContents | ( | librevenge::RVNGInputStream * | input | ) | [protected, virtual] |
Reimplemented in libmspub::MSPUBParser2k.
Referenced by parse().
| void libmspub::MSPUBParser::parseDefaultStyle | ( | librevenge::RVNGInputStream * | input, |
| const QuillChunkReference & | chunk | ||
| ) | [protected] |
Referenced by parseQuill().
| bool libmspub::MSPUBParser::parseDocumentChunk | ( | librevenge::RVNGInputStream * | input, |
| const ContentChunkReference & | chunk | ||
| ) | [protected] |
Referenced by parseContents().
| bool libmspub::MSPUBParser::parseEscher | ( | librevenge::RVNGInputStream * | input | ) | [protected] |
Referenced by parse().
| EscherContainerInfo libmspub::MSPUBParser::parseEscherContainer | ( | librevenge::RVNGInputStream * | input | ) | [protected] |
Referenced by findEscherContainer(), findEscherContainerWithTypeInSet(), and parseEscherDelay().
| bool libmspub::MSPUBParser::parseEscherDelay | ( | librevenge::RVNGInputStream * | input | ) | [protected] |
Referenced by parse().
| void libmspub::MSPUBParser::parseEscherShape | ( | librevenge::RVNGInputStream * | input, |
| const EscherContainerInfo & | sp, | ||
| Coordinate & | parentCoordinateSystem, | ||
| Coordinate & | parentGroupAbsoluteCoord | ||
| ) | [protected] |
Referenced by parseShapeGroup().
| bool libmspub::MSPUBParser::parseFontChunk | ( | librevenge::RVNGInputStream * | input, |
| const ContentChunkReference & | chunk | ||
| ) | [protected] |
Referenced by parseContents().
| void libmspub::MSPUBParser::parseFonts | ( | librevenge::RVNGInputStream * | input, |
| const QuillChunkReference & | chunk | ||
| ) | [protected] |
Referenced by parseQuill().
| std::vector< Calculation > libmspub::MSPUBParser::parseGuides | ( | const std::vector< unsigned char > & | guideData | ) | [protected] |
Referenced by getDynamicCustomShape().
| bool libmspub::MSPUBParser::parseMetaData | ( | librevenge::RVNGInputStream * | input | ) | [protected] |
Referenced by parse().
| bool libmspub::MSPUBParser::parsePageChunk | ( | librevenge::RVNGInputStream * | input, |
| const ContentChunkReference & | chunk | ||
| ) | [protected] |
Referenced by parseContents().
| bool libmspub::MSPUBParser::parsePageShapeList | ( | librevenge::RVNGInputStream * | input, |
| MSPUBBlockInfo | block, | ||
| unsigned | pageSeqNum | ||
| ) | [protected] |
Referenced by parsePageChunk().
| bool libmspub::MSPUBParser::parsePaletteChunk | ( | librevenge::RVNGInputStream * | input, |
| const ContentChunkReference & | chunk | ||
| ) | [protected] |
Referenced by parseContents().
| void libmspub::MSPUBParser::parsePaletteEntry | ( | librevenge::RVNGInputStream * | input, |
| MSPUBBlockInfo | block | ||
| ) | [protected] |
Referenced by parsePaletteChunk().
| std::vector< MSPUBParser::TextParagraphReference > libmspub::MSPUBParser::parseParagraphStyles | ( | librevenge::RVNGInputStream * | input, |
| const QuillChunkReference & | chunk | ||
| ) | [protected] |
Referenced by parseQuill().
| bool libmspub::MSPUBParser::parseQuill | ( | librevenge::RVNGInputStream * | input | ) | [protected] |
Referenced by libmspub::MSPUBParser2k::parse(), and parse().
| QuillChunkReference libmspub::MSPUBParser::parseQuillChunkReference | ( | librevenge::RVNGInputStream * | input | ) | [protected] |
Referenced by parseQuill().
| std::vector< unsigned short > libmspub::MSPUBParser::parseSegments | ( | const std::vector< unsigned char > & | segmentData | ) | [protected] |
Referenced by getDynamicCustomShape().
| bool libmspub::MSPUBParser::parseShape | ( | librevenge::RVNGInputStream * | input, |
| const ContentChunkReference & | chunk | ||
| ) | [protected] |
Referenced by parseContents().
| void libmspub::MSPUBParser::parseShapeGroup | ( | librevenge::RVNGInputStream * | input, |
| const EscherContainerInfo & | spgr, | ||
| Coordinate | parentCoordinateSystem, | ||
| Coordinate | parentGroupAbsoluteCoord | ||
| ) | [protected] |
Referenced by parseEscher().
| std::vector< unsigned > libmspub::MSPUBParser::parseTableCellDefinitions | ( | librevenge::RVNGInputStream * | input, |
| const QuillChunkReference & | chunk | ||
| ) | [protected] |
Referenced by parseQuill().
| std::vector< Vertex > libmspub::MSPUBParser::parseVertices | ( | const std::vector< unsigned char > & | vertexData | ) | [protected] |
Referenced by getDynamicCustomShape(), and parseEscherShape().
| void libmspub::MSPUBParser::skipBlock | ( | librevenge::RVNGInputStream * | input, |
| MSPUBBlockInfo | block | ||
| ) | [protected] |
Referenced by getColorIndex(), getFontIndex(), parseBlock(), parseContents(), parsePageChunk(), and parsePaletteChunk().
std::vector<int> libmspub::MSPUBParser::m_alternateShapeSeqNums [protected] |
Referenced by parseContentChunkReference().
std::vector<MSPUBBlockInfo> libmspub::MSPUBParser::m_blockInfo [protected] |
Referenced by parseContents().
std::vector<unsigned> libmspub::MSPUBParser::m_borderArtChunkIndices [protected] |
Referenced by parseContentChunkReference(), and parseContents().
std::vector<unsigned> libmspub::MSPUBParser::m_cellsChunkIndices [protected] |
Referenced by parseContentChunkReference(), and parseShape().
MSPUBCollector* libmspub::MSPUBParser::m_collector [protected] |
Referenced by libmspub::MSPUBParser2k::assignShapeImgIndex(), libmspub::MSPUBParser2k::getColorIndexByQuillEntry(), getNewFill(), libmspub::MSPUBParser97::MSPUBParser97(), libmspub::MSPUBParser97::parse(), libmspub::MSPUBParser2k::parse(), parse(), libmspub::MSPUBParser2k::parse2kShapeChunk(), parseBorderArtChunk(), parseColors(), libmspub::MSPUBParser2k::parseContents(), libmspub::MSPUBParser97::parseContentsTextIfNecessary(), parseDefaultStyle(), libmspub::MSPUBParser97::parseDocument(), libmspub::MSPUBParser2k::parseDocument(), parseEscherDelay(), parseEscherShape(), parseFontChunk(), parseFonts(), libmspub::MSPUBParser2k::parseGroup(), parseMetaData(), parsePageChunk(), parsePageShapeList(), parsePaletteChunk(), parsePaletteEntry(), parseQuill(), parseShape(), libmspub::MSPUBParser2k::parseShapeCoordinates(), libmspub::MSPUBParser2k::parseShapeFill(), libmspub::MSPUBParser2k::parseShapeFlips(), parseShapeGroup(), libmspub::MSPUBParser2k::parseShapeLine(), libmspub::MSPUBParser2k::parseShapeRotation(), and libmspub::MSPUBParser2k::parseShapeType().
std::vector<ContentChunkReference> libmspub::MSPUBParser::m_contentChunks [protected] |
Referenced by libmspub::MSPUBParser2k::assignShapeImgIndex(), libmspub::MSPUBParser2k::parse2kShapeChunk(), parseContentChunkReference(), libmspub::MSPUBParser2k::parseContents(), parseContents(), libmspub::MSPUBParser97::parseDocument(), libmspub::MSPUBParser2k::parseDocument(), libmspub::MSPUBParser2k::parseGroup(), and parseShape().
boost::optional<unsigned> libmspub::MSPUBParser::m_documentChunkIndex [protected] |
std::vector<int> libmspub::MSPUBParser::m_escherDelayIndices [protected] |
Referenced by getNewFill(), parseEscher(), and parseEscherShape().
std::vector<unsigned> libmspub::MSPUBParser::m_fontChunkIndices [protected] |
Referenced by parseContentChunkReference(), and parseContents().
librevenge::RVNGInputStream* libmspub::MSPUBParser::m_input [protected] |
Referenced by libmspub::MSPUBParser97::parse(), libmspub::MSPUBParser2k::parse(), parse(), and parseMetaData().
unsigned libmspub::MSPUBParser::m_lastAddedImage [protected] |
Referenced by libmspub::MSPUBParser2k::parseContents(), and parseEscherDelay().
int libmspub::MSPUBParser::m_lastSeenSeqNum [protected] |
Referenced by parseContentChunkReference(), and parseContents().
std::vector<unsigned> libmspub::MSPUBParser::m_pageChunkIndices [protected] |
std::vector<unsigned> libmspub::MSPUBParser::m_paletteChunkIndices [protected] |
Referenced by parseContentChunkReference(), libmspub::MSPUBParser2k::parseContents(), and parseContents().
std::vector<unsigned> libmspub::MSPUBParser::m_shapeChunkIndices [protected] |
Referenced by parseContentChunkReference(), libmspub::MSPUBParser2k::parseContents(), and parseContents().
std::vector<unsigned> libmspub::MSPUBParser::m_unknownChunkIndices [protected] |
Referenced by parseContentChunkReference(), and libmspub::MSPUBParser2k::parseContents().