libmspub::MSPUBParser Class Reference

#include <MSPUBParser.h>

Inheritance diagram for libmspub::MSPUBParser:
libmspub::MSPUBParser2k libmspub::MSPUBParser97

List of all members.

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 &)
MSPUBParseroperator= (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< TextSpanReferenceparseCharacterStyles (librevenge::RVNGInputStream *input, const QuillChunkReference &chunk)
std::vector
< TextParagraphReference
parseParagraphStyles (librevenge::RVNGInputStream *input, const QuillChunkReference &chunk)
std::vector< CalculationparseGuides (const std::vector< unsigned char > &guideData)
std::vector< VertexparseVertices (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< FillgetNewFill (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
MSPUBCollectorm_collector
std::vector< MSPUBBlockInfom_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

Member Typedef Documentation

typedef std::vector<ContentChunkReference>::const_iterator libmspub::MSPUBParser::ccr_iterator_t [protected]

Constructor & Destructor Documentation

libmspub::MSPUBParser::MSPUBParser ( librevenge::RVNGInputStream *  input,
MSPUBCollector collector 
) [explicit]

Member Function Documentation

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]
short libmspub::MSPUBParser::getBlockDataLength ( unsigned  type) [static, protected]

Referenced by parseBlock().

CharacterStyle libmspub::MSPUBParser::getCharacterStyle ( librevenge::RVNGInputStream *  input) [protected]
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::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]
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::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().

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]
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]
void libmspub::MSPUBParser::skipBlock ( librevenge::RVNGInputStream *  input,
MSPUBBlockInfo  block 
) [protected]

Member Data Documentation

Referenced by parseContents().

std::vector<unsigned> libmspub::MSPUBParser::m_cellsChunkIndices [protected]
std::vector<unsigned> libmspub::MSPUBParser::m_fontChunkIndices [protected]

The documentation for this class was generated from the following files: