libmspub::MSPUBParser2k Class Reference

#include <MSPUBParser2k.h>

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

Public Member Functions

 MSPUBParser2k (WPXInputStream *input, MSPUBCollector *collector)
virtual bool parse ()
virtual ~MSPUBParser2k ()
- Public Member Functions inherited from libmspub::MSPUBParser
 MSPUBParser (WPXInputStream *input, MSPUBCollector *collector)
virtual ~MSPUBParser ()

Protected Member Functions

bool parse2kShapeChunk (const ContentChunkReference &chunk, WPXInputStream *input, boost::optional< unsigned > pageSeqNum=boost::optional< unsigned >(), bool topLevelCall=true)
void parseShapeLine (WPXInputStream *input, bool isRectangle, unsigned offset, unsigned seqNum)
void parseShapeType (WPXInputStream *input, unsigned seqNum, unsigned chunkOffset, bool &isGroup, bool &isLine, bool &isImage, bool &isRectangle, unsigned &flagsOffset)
void parseShapeRotation (WPXInputStream *input, bool isGroup, bool isLine, unsigned seqNum, unsigned chunkOffset)
void parseShapeFlips (WPXInputStream *input, unsigned flagsOffset, unsigned seqNum, unsigned chunkOffset)
void parseShapeCoordinates (WPXInputStream *input, unsigned seqNum, unsigned chunkOffset)
bool parseGroup (WPXInputStream *input, unsigned seqNum, unsigned page)
void assignShapeImgIndex (unsigned seqNum)
void parseShapeFill (WPXInputStream *input, unsigned seqNum, unsigned chunkOffset)
bool parseContents (WPXInputStream *input)
virtual bool parseDocument (WPXInputStream *input)
virtual unsigned getColorIndexByQuillEntry (unsigned entry)
virtual int translateCoordinateIfNecessary (int coordinate) const
virtual unsigned getFirstLineOffset () const
virtual unsigned getSecondLineOffset () const
virtual unsigned getShapeFillTypeOffset () const
virtual unsigned getShapeFillColorOffset () const
virtual unsigned short getTextMarker () const
virtual unsigned getTextIdOffset () const
virtual void parseContentsTextIfNecessary (WPXInputStream *input)
- Protected Member Functions inherited from libmspub::MSPUBParser
 MSPUBParser ()
 MSPUBParser (const MSPUBParser &)
MSPUBParseroperator= (const MSPUBParser &)
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 Color getColorBy2kIndex (unsigned char index)
static Color getColorBy2kHex (unsigned hex)
static unsigned translate2kColorReference (unsigned ref2k)
static PageType getPageTypeBySeqNum (unsigned seqNum)
- Static Protected Member Functions inherited from libmspub::MSPUBParser
static short getBlockDataLength (unsigned type)
static bool isBlockDataString (unsigned type)
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)

Static Private Member Functions

static ShapeType getShapeType (unsigned char shapeSpecifier)

Private Attributes

std::vector< unsigned > m_imageDataChunkIndices
std::vector< unsigned > m_quillColorEntries
std::map< unsigned,
std::vector< unsigned > > 
m_chunkChildIndicesById

Additional Inherited Members

- Protected Types inherited from libmspub::MSPUBParser
typedef std::vector
< ContentChunkReference >
::const_iterator 
ccr_iterator_t
- Protected Attributes inherited from libmspub::MSPUBParser
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

Constructor & Destructor Documentation

libmspub::MSPUBParser2k::MSPUBParser2k ( WPXInputStream *  input,
MSPUBCollector collector 
)
explicit
libmspub::MSPUBParser2k::~MSPUBParser2k ( )
virtual

Member Function Documentation

void libmspub::MSPUBParser2k::assignShapeImgIndex ( unsigned  seqNum)
protected
libmspub::Color libmspub::MSPUBParser2k::getColorBy2kHex ( unsigned  hex)
staticprotected
libmspub::Color libmspub::MSPUBParser2k::getColorBy2kIndex ( unsigned char  index)
staticprotected
unsigned libmspub::MSPUBParser2k::getColorIndexByQuillEntry ( unsigned  entry)
protectedvirtual

Reimplemented from libmspub::MSPUBParser.

unsigned libmspub::MSPUBParser2k::getFirstLineOffset ( ) const
protectedvirtual
libmspub::PageType libmspub::MSPUBParser2k::getPageTypeBySeqNum ( unsigned  seqNum)
staticprotected

Reimplemented from libmspub::MSPUBParser.

unsigned libmspub::MSPUBParser2k::getSecondLineOffset ( ) const
protectedvirtual
unsigned libmspub::MSPUBParser2k::getShapeFillColorOffset ( ) const
protectedvirtual
unsigned libmspub::MSPUBParser2k::getShapeFillTypeOffset ( ) const
protectedvirtual
libmspub::ShapeType libmspub::MSPUBParser2k::getShapeType ( unsigned char  shapeSpecifier)
staticprivate
unsigned libmspub::MSPUBParser2k::getTextIdOffset ( ) const
protectedvirtual
unsigned short libmspub::MSPUBParser2k::getTextMarker ( ) const
protectedvirtual
bool libmspub::MSPUBParser2k::parse ( )
virtual

Reimplemented from libmspub::MSPUBParser.

Reimplemented in libmspub::MSPUBParser97.

bool libmspub::MSPUBParser2k::parse2kShapeChunk ( const ContentChunkReference chunk,
WPXInputStream *  input,
boost::optional< unsigned >  pageSeqNum = boost::optional<unsigned>(),
bool  topLevelCall = true 
)
protected
bool libmspub::MSPUBParser2k::parseContents ( WPXInputStream *  input)
protectedvirtual

Reimplemented from libmspub::MSPUBParser.

void libmspub::MSPUBParser2k::parseContentsTextIfNecessary ( WPXInputStream *  input)
protectedvirtual
bool libmspub::MSPUBParser2k::parseDocument ( WPXInputStream *  input)
protectedvirtual
bool libmspub::MSPUBParser2k::parseGroup ( WPXInputStream *  input,
unsigned  seqNum,
unsigned  page 
)
protected
void libmspub::MSPUBParser2k::parseShapeCoordinates ( WPXInputStream *  input,
unsigned  seqNum,
unsigned  chunkOffset 
)
protected
void libmspub::MSPUBParser2k::parseShapeFill ( WPXInputStream *  input,
unsigned  seqNum,
unsigned  chunkOffset 
)
protected
void libmspub::MSPUBParser2k::parseShapeFlips ( WPXInputStream *  input,
unsigned  flagsOffset,
unsigned  seqNum,
unsigned  chunkOffset 
)
protected
void libmspub::MSPUBParser2k::parseShapeLine ( WPXInputStream *  input,
bool  isRectangle,
unsigned  offset,
unsigned  seqNum 
)
protected
void libmspub::MSPUBParser2k::parseShapeRotation ( WPXInputStream *  input,
bool  isGroup,
bool  isLine,
unsigned  seqNum,
unsigned  chunkOffset 
)
protected
void libmspub::MSPUBParser2k::parseShapeType ( WPXInputStream *  input,
unsigned  seqNum,
unsigned  chunkOffset,
bool &  isGroup,
bool &  isLine,
bool &  isImage,
bool &  isRectangle,
unsigned &  flagsOffset 
)
protected
unsigned libmspub::MSPUBParser2k::translate2kColorReference ( unsigned  ref2k)
staticprotected
int libmspub::MSPUBParser2k::translateCoordinateIfNecessary ( int  coordinate) const
protectedvirtual

Member Data Documentation

std::map<unsigned, std::vector<unsigned> > libmspub::MSPUBParser2k::m_chunkChildIndicesById
private
std::vector<unsigned> libmspub::MSPUBParser2k::m_imageDataChunkIndices
private
std::vector<unsigned> libmspub::MSPUBParser2k::m_quillColorEntries
private

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

Generated for libmspub by doxygen 1.8.1.2