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

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) [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]
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]
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]
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<unsigned> libmspub::MSPUBParser::m_borderArtChunkIndices [protected]
std::vector<unsigned> libmspub::MSPUBParser::m_cellsChunkIndices [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]
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: