libmspub::MSPUBParser Class Reference

#include <MSPUBParser.h>

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

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 &)
 
MSPUBParseroperator= (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< TextSpanReferenceparseCharacterStyles (WPXInputStream *input, const QuillChunkReference &chunk)
 
std::vector
< TextParagraphReference
parseParagraphStyles (WPXInputStream *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 (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< 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

WPXInputStream * 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 ( WPXInputStream *  input,
MSPUBCollector collector 
)
explicit
libmspub::MSPUBParser::~MSPUBParser ( )
virtual
libmspub::MSPUBParser::MSPUBParser ( )
protected
libmspub::MSPUBParser::MSPUBParser ( const MSPUBParser )
protected

Member Function Documentation

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)
staticprotected
libmspub::CharacterStyle libmspub::MSPUBParser::getCharacterStyle ( WPXInputStream *  input)
protected
int libmspub::MSPUBParser::getColorIndex ( WPXInputStream *  input,
const MSPUBBlockInfo info 
)
protected
unsigned libmspub::MSPUBParser::getColorIndexByQuillEntry ( unsigned  entry)
protectedvirtual

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)
staticprotected
unsigned libmspub::MSPUBParser::getEscherElementTailLength ( unsigned short  type)
staticprotected
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)
staticprotected
libmspub::ParagraphStyle libmspub::MSPUBParser::getParagraphStyle ( WPXInputStream *  input)
protected
int libmspub::MSPUBParser::getStartOffset ( ImgType  type,
unsigned short  initial 
)
staticprotected
libmspub::ImgType libmspub::MSPUBParser::imgTypeByBlipType ( unsigned short  type)
staticprotected
bool libmspub::MSPUBParser::isBlockDataString ( unsigned  type)
staticprotected
bool libmspub::MSPUBParser::lineExistsByFlagPointer ( unsigned *  flags,
unsigned *  geomFlags = NULL 
)
staticprotected
MSPUBParser& libmspub::MSPUBParser::operator= ( const MSPUBParser )
protected
bool libmspub::MSPUBParser::parse ( )
virtual
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)
protectedvirtual

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

Member Data Documentation

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
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

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

Generated for libmspub by doxygen 1.8.3.1