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