libmspub::MSPUBParser2k Class Reference documentation

Public Member Functions | Protected Member Functions | Static Protected Member Functions | Static Private Member Functions | Private Attributes | List of all members
libmspub::MSPUBParser2k Class Reference

`#include <MSPUBParser2k.h>`

Inheritance diagram for libmspub::MSPUBParser2k:

## Public Member Functions
| MSPUBParser2k (librevenge::RVNGInputStream *input, MSPUBCollector *collector)
bool | parse () override
| ~MSPUBParser2k () override
Public Member Functions inherited from libmspub::MSPUBParser
| MSPUBParser (librevenge::RVNGInputStream *input, MSPUBCollector *collector)
virtual | ~MSPUBParser ()

## Protected Member Functions
bool | parse2kShapeChunk (const ContentChunkReference &chunk, librevenge::RVNGInputStream *input, boost::optional< unsigned > pageSeqNum=boost::optional< unsigned >(), bool topLevelCall=true)
void | parseShapeLine (librevenge::RVNGInputStream *input, bool isRectangle, unsigned offset, unsigned seqNum)
void | parseShapeType (librevenge::RVNGInputStream *input, unsigned seqNum, unsigned chunkOffset, bool &isGroup, bool &isLine, bool &isImage, bool &isRectangle, unsigned &flagsOffset)
void | parseShapeRotation (librevenge::RVNGInputStream *input, bool isGroup, bool isLine, unsigned seqNum, unsigned chunkOffset)
void | parseShapeFlips (librevenge::RVNGInputStream *input, unsigned flagsOffset, unsigned seqNum, unsigned chunkOffset)
void | parseShapeCoordinates (librevenge::RVNGInputStream *input, unsigned seqNum, unsigned chunkOffset)
bool | parseGroup (librevenge::RVNGInputStream *input, unsigned seqNum, unsigned page)
void | assignShapeImgIndex (unsigned seqNum)
void | parseShapeFill (librevenge::RVNGInputStream *input, unsigned seqNum, unsigned chunkOffset)
bool | parseContents (librevenge::RVNGInputStream *input) override
virtual bool | parseDocument (librevenge::RVNGInputStream *input)
unsigned | getColorIndexByQuillEntry (unsigned entry) override
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 (librevenge::RVNGInputStream *input)
Protected Member Functions inherited from libmspub::MSPUBParser
| MSPUBParser ()
| MSPUBParser (const MSPUBParser &)
MSPUBParser & | operator= (const MSPUBParser &)
bool | parseMetaData ()
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< TextSpanReference > | parseCharacterStyles (librevenge::RVNGInputStream *input, const QuillChunkReference &chunk)
std::vector< TextParagraphReference > | parseParagraphStyles (librevenge::RVNGInputStream *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 (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)
std::shared_ptr< Fill > | getNewFill (const std::map< unsigned short, unsigned > &foptProperties, bool &skipIfNotBg, std::map< unsigned short, std::vector< unsigned char > > &foptValues)

## 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 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=nullptr)

## 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
std::deque< unsigned > | m_chunksBeingRead

## Additional Inherited Members
Protected Types inherited from libmspub::MSPUBParser
typedef std::vector< ContentChunkReference >::const_iterator | ccr_iterator_t
Protected Attributes inherited from libmspub::MSPUBParser
librevenge::RVNGInputStream * | m_input
unsigned | m_length
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

## Constructor & Destructor Documentation

## ◆ MSPUBParser2k()

libmspub::MSPUBParser2k::MSPUBParser2k | ( | librevenge::RVNGInputStream * | input,
|  | MSPUBCollector * | collector
| ) |  |
| explicit

## ◆ ~MSPUBParser2k()

libmspub::MSPUBParser2k::~MSPUBParser2k | ( |  | ) |
| override

## Member Function Documentation

## ◆ assignShapeImgIndex()

void libmspub::MSPUBParser2k::assignShapeImgIndex | ( | unsigned | seqNum | ) |
| protected

Referenced by parse2kShapeChunk().

## ◆ getColorBy2kHex()

Color libmspub::MSPUBParser2k::getColorBy2kHex | ( | unsigned | hex | ) |
| staticprotected

Referenced by parseContents(), and translate2kColorReference().

## ◆ getColorBy2kIndex()

Color libmspub::MSPUBParser2k::getColorBy2kIndex | ( | unsigned char | index | ) |
| staticprotected

Referenced by getColorBy2kHex().

## ◆ getColorIndexByQuillEntry()

unsigned libmspub::MSPUBParser2k::getColorIndexByQuillEntry | ( | unsigned | entry | ) |
| overrideprotectedvirtual

Reimplemented from libmspub::MSPUBParser.

Referenced by libmspub::MSPUBParser97::readCharacterStyle().

## ◆ getFirstLineOffset()

unsigned libmspub::MSPUBParser2k::getFirstLineOffset | ( |  | ) | const
| protectedvirtual

Reimplemented in libmspub::MSPUBParser97.

Referenced by parseShapeLine().

## ◆ getPageTypeBySeqNum()

PageType libmspub::MSPUBParser2k::getPageTypeBySeqNum | ( | unsigned | seqNum | ) |
| staticprotected

Referenced by parse2kShapeChunk().

## ◆ getSecondLineOffset()

unsigned libmspub::MSPUBParser2k::getSecondLineOffset | ( |  | ) | const
| protectedvirtual

Reimplemented in libmspub::MSPUBParser97.

Referenced by parseShapeLine().

## ◆ getShapeFillColorOffset()

unsigned libmspub::MSPUBParser2k::getShapeFillColorOffset | ( |  | ) | const
| protectedvirtual

Reimplemented in libmspub::MSPUBParser97.

Referenced by parseShapeFill().

## ◆ getShapeFillTypeOffset()

unsigned libmspub::MSPUBParser2k::getShapeFillTypeOffset | ( |  | ) | const
| protectedvirtual

Reimplemented in libmspub::MSPUBParser97.

Referenced by parseShapeFill().

## ◆ getShapeType()

ShapeType libmspub::MSPUBParser2k::getShapeType | ( | unsigned char | shapeSpecifier | ) |
| staticprivate

Referenced by parseShapeType().

## ◆ getTextIdOffset()

unsigned libmspub::MSPUBParser2k::getTextIdOffset | ( |  | ) | const
| protectedvirtual

Reimplemented in libmspub::MSPUBParser97.

Referenced by parseShapeType().

## ◆ getTextMarker()

unsigned short libmspub::MSPUBParser2k::getTextMarker | ( |  | ) | const
| protectedvirtual

Reimplemented in libmspub::MSPUBParser97.

Referenced by parseShapeType().

## ◆ parse()

bool libmspub::MSPUBParser2k::parse | ( |  | ) |
| overridevirtual

Reimplemented from libmspub::MSPUBParser.

Reimplemented in libmspub::MSPUBParser97.

## ◆ parse2kShapeChunk()

bool libmspub::MSPUBParser2k::parse2kShapeChunk | ( | const ContentChunkReference & | chunk,
|  | librevenge::RVNGInputStream * | input,
|  | boost::optional< unsigned > | pageSeqNum = `boost::optional<unsigned>()`,
|  | bool | topLevelCall = `true`
| ) |  |
| protected

Referenced by parseContents(), and parseGroup().

## ◆ parseContents()

bool libmspub::MSPUBParser2k::parseContents | ( | librevenge::RVNGInputStream * | input | ) |
| overrideprotectedvirtual

Reimplemented from libmspub::MSPUBParser.

Referenced by parse(), and libmspub::MSPUBParser97::parse().

## ◆ parseContentsTextIfNecessary()

void libmspub::MSPUBParser2k::parseContentsTextIfNecessary | ( | librevenge::RVNGInputStream * | input | ) |
| protectedvirtual

Reimplemented in libmspub::MSPUBParser97.

Referenced by parseContents().

## ◆ parseDocument()

bool libmspub::MSPUBParser2k::parseDocument | ( | librevenge::RVNGInputStream * | input | ) |
| protectedvirtual

Reimplemented in libmspub::MSPUBParser97.

Referenced by parseContents().

## ◆ parseGroup()

bool libmspub::MSPUBParser2k::parseGroup | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | seqNum,
|  | unsigned | page
| ) |  |
| protected

Referenced by parse2kShapeChunk().

## ◆ parseShapeCoordinates()

void libmspub::MSPUBParser2k::parseShapeCoordinates | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | seqNum,
|  | unsigned | chunkOffset
| ) |  |
| protected

Referenced by parse2kShapeChunk().

## ◆ parseShapeFill()

void libmspub::MSPUBParser2k::parseShapeFill | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | seqNum,
|  | unsigned | chunkOffset
| ) |  |
| protected

Referenced by parse2kShapeChunk().

## ◆ parseShapeFlips()

void libmspub::MSPUBParser2k::parseShapeFlips | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | flagsOffset,
|  | unsigned | seqNum,
|  | unsigned | chunkOffset
| ) |  |
| protected

Referenced by parse2kShapeChunk().

## ◆ parseShapeLine()

void libmspub::MSPUBParser2k::parseShapeLine | ( | librevenge::RVNGInputStream * | input,
|  | bool | isRectangle,
|  | unsigned | offset,
|  | unsigned | seqNum
| ) |  |
| protected

Referenced by parse2kShapeChunk().

## ◆ parseShapeRotation()

void libmspub::MSPUBParser2k::parseShapeRotation | ( | librevenge::RVNGInputStream * | input,
|  | bool | isGroup,
|  | bool | isLine,
|  | unsigned | seqNum,
|  | unsigned | chunkOffset
| ) |  |
| protected

Referenced by parse2kShapeChunk().

## ◆ parseShapeType()

void libmspub::MSPUBParser2k::parseShapeType | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | seqNum,
|  | unsigned | chunkOffset,
|  | bool & | isGroup,
|  | bool & | isLine,
|  | bool & | isImage,
|  | bool & | isRectangle,
|  | unsigned & | flagsOffset
| ) |  |
| protected

Referenced by parse2kShapeChunk().

## ◆ translate2kColorReference()

unsigned libmspub::MSPUBParser2k::translate2kColorReference | ( | unsigned | ref2k | ) |
| staticprotected

Referenced by getColorIndexByQuillEntry(), parseShapeFill(), and parseShapeLine().

## ◆ translateCoordinateIfNecessary()

int libmspub::MSPUBParser2k::translateCoordinateIfNecessary | ( | int | coordinate | ) | const
| protectedvirtual

Reimplemented in libmspub::MSPUBParser97.

Referenced by parseShapeCoordinates().

## Member Data Documentation

## ◆ m_chunkChildIndicesById

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

Referenced by parseContents(), and parseGroup().

## ◆ m_chunksBeingRead

std::deque<unsigned> libmspub::MSPUBParser2k::m_chunksBeingRead
| private

Referenced by parse2kShapeChunk().

## ◆ m_imageDataChunkIndices

std::vector<unsigned> libmspub::MSPUBParser2k::m_imageDataChunkIndices
| private

Referenced by assignShapeImgIndex(), and parseContents().

## ◆ m_quillColorEntries

std::vector<unsigned> libmspub::MSPUBParser2k::m_quillColorEntries
| private

Referenced by getColorIndexByQuillEntry().

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

- MSPUBParser2k.h
- MSPUBParser2k.cpp