libcdr::CDRParser Class Reference documentation

libcdr::CDRParser Class Reference

`#include <CDRParser.h>`

Inheritance diagram for libcdr::CDRParser:

## Public Member Functions
| CDRParser (const std::vector< std::unique_ptr< librevenge::RVNGInputStream > > &externalStreams, CDRCollector *collector)
| ~CDRParser () override
bool | parseRecords (librevenge::RVNGInputStream *input, const std::vector< unsigned > &blockLengths=std::vector< unsigned >(), unsigned level=0)
bool | parseWaldo (librevenge::RVNGInputStream *input)

## Private Member Functions
| CDRParser ()
| CDRParser (const CDRParser &)
CDRParser & | operator= (const CDRParser &)
bool | parseWaldoStructure (librevenge::RVNGInputStream *input, std::stack< WaldoRecordType1 > &waldoStack, const std::map< unsigned, WaldoRecordType1 > &records1, std::map< unsigned, WaldoRecordInfo > &records2)
bool | gatherWaldoInformation (librevenge::RVNGInputStream *input, std::vector< WaldoRecordInfo > &records, std::map< unsigned, WaldoRecordInfo > &records2, std::map< unsigned, WaldoRecordInfo > &records3, std::map< unsigned, WaldoRecordInfo > &records4, std::map< unsigned, WaldoRecordInfo > &records6, std::map< unsigned, WaldoRecordInfo > &records7, std::map< unsigned, WaldoRecordInfo > &records8, std::map< unsigned, WaldoRecordInfo > recordsOther)
void | readWaldoRecord (librevenge::RVNGInputStream *input, const WaldoRecordInfo &info)
bool | parseRecord (librevenge::RVNGInputStream *input, const std::vector< unsigned > &blockLengths=std::vector< unsigned >(), unsigned level=0)
void | readRecord (unsigned fourCC, unsigned length, librevenge::RVNGInputStream *input)
double | readRectCoord (librevenge::RVNGInputStream *input)
CDRColor | readColor (librevenge::RVNGInputStream *input)
void | readRectangle (librevenge::RVNGInputStream *input)
void | readEllipse (librevenge::RVNGInputStream *input)
void | readLineAndCurve (librevenge::RVNGInputStream *input)
void | readBitmap (librevenge::RVNGInputStream *input)
void | readPageSize (librevenge::RVNGInputStream *input)
void | readWaldoBmp (librevenge::RVNGInputStream *input, unsigned length, unsigned id)
void | readWaldoBmpf (librevenge::RVNGInputStream *input, unsigned id)
void | readWaldoTrfd (librevenge::RVNGInputStream *input)
void | readWaldoOutl (librevenge::RVNGInputStream *input)
void | readWaldoFill (librevenge::RVNGInputStream *input)
void | readWaldoLoda (librevenge::RVNGInputStream *input, unsigned length)
void | readOpacity (librevenge::RVNGInputStream *input, unsigned length)
void | readTrfd (librevenge::RVNGInputStream *input, unsigned length)
void | readFild (librevenge::RVNGInputStream *input, unsigned length)
void | readOutl (librevenge::RVNGInputStream *input, unsigned length)
void | readLoda (librevenge::RVNGInputStream *input, unsigned length)
void | readFlags (librevenge::RVNGInputStream *input, unsigned length)
void | readMcfg (librevenge::RVNGInputStream *input, unsigned length)
void | readPath (librevenge::RVNGInputStream *input)
void | readArrw (librevenge::RVNGInputStream *input, unsigned length)
void | readPolygonCoords (librevenge::RVNGInputStream *input)
void | readPolygonTransform (librevenge::RVNGInputStream *input)
void | readBmp (librevenge::RVNGInputStream *input, unsigned length)
void | readBmpf (librevenge::RVNGInputStream *input, unsigned length)
void | readPpdt (librevenge::RVNGInputStream *input, unsigned length)
void | readFtil (librevenge::RVNGInputStream *input, unsigned length)
void | readDisp (librevenge::RVNGInputStream *input, unsigned length)
void | readVersion (librevenge::RVNGInputStream *input, unsigned length)
void | readIccd (librevenge::RVNGInputStream *input, unsigned length)
void | readBBox (librevenge::RVNGInputStream *input, unsigned length)
void | readSpnd (librevenge::RVNGInputStream *input, unsigned length)
void | readVpat (librevenge::RVNGInputStream *input, unsigned length)
void | readUidr (librevenge::RVNGInputStream *input, unsigned length)
void | readFont (librevenge::RVNGInputStream *input, unsigned length)
void | readStlt (librevenge::RVNGInputStream *input, unsigned length)
void | readStyd (librevenge::RVNGInputStream *input)
void | readTxsm (librevenge::RVNGInputStream *input, unsigned length)
void | readTxsm16 (librevenge::RVNGInputStream *input)
void | readTxsm6 (librevenge::RVNGInputStream *input)
void | readTxsm5 (librevenge::RVNGInputStream *input)
void | readUdta (librevenge::RVNGInputStream *input)
void | readArtisticText (librevenge::RVNGInputStream *input)
void | readParagraphText (librevenge::RVNGInputStream *input)
bool | _redirectX6Chunk (librevenge::RVNGInputStream **input, unsigned &length)
void | _readX6StyleString (librevenge::RVNGInputStream *input, unsigned long length, CDRStyle &style)
void | _skipX3Optional (librevenge::RVNGInputStream *input)
void | _resolveColorPalette (CDRColor &color)

## Private Attributes
const std::vector< std::unique_ptr< librevenge::RVNGInputStream > > & | m_externalStreams
std::map< unsigned, CDRFont > | m_fonts
std::map< unsigned, CDRFillStyle > | m_fillStyles
std::map< unsigned, CDRLineStyle > | m_lineStyles
std::map< unsigned, CDRPath > | m_arrows
unsigned | m_version
unsigned | m_waldoOutlId
unsigned | m_waldoFillId

## Additional Inherited Members
Protected Member Functions inherited from libcdr::CommonParser
double | readCoordinate (librevenge::RVNGInputStream *input, bool bigEndian=false)
unsigned | readUnsigned (librevenge::RVNGInputStream *input, bool bigEndian=false)
unsigned short | readUnsignedShort (librevenge::RVNGInputStream *input, bool bigEndian=false)
int | readInteger (librevenge::RVNGInputStream *input, bool bigEndian=false)
double | readAngle (librevenge::RVNGInputStream *input, bool bigEndian=false)
void | readRImage (unsigned &colorModel, unsigned &width, unsigned &height, unsigned &bpp, std::vector< unsigned > &palette, std::vector< unsigned char > &bitmap, librevenge::RVNGInputStream *input, bool bigEndian=false)
void | readBmpPattern (unsigned &width, unsigned &height, std::vector< unsigned char > &pattern, unsigned length, librevenge::RVNGInputStream *input, bool bigEndian=false)
void | processPath (const std::vector< std::pair< double, double > > &points, const std::vector< unsigned char > &types, CDRPath &path)
void | outputPath (const std::vector< std::pair< double, double > > &points, const std::vector< unsigned char > &types)
| CommonParser (CDRCollector *collector)
virtual | ~CommonParser ()
Protected Attributes inherited from libcdr::CommonParser
CDRCollector * | m_collector
CoordinatePrecision | m_precision

## Constructor & Destructor Documentation

## ◆ CDRParser() [1/3]

libcdr::CDRParser::CDRParser | ( | const std::vector< std::unique_ptr< librevenge::RVNGInputStream > > & | externalStreams,
|  | libcdr::CDRCollector * | collector )
| explicit

Referenced by CDRParser(), and operator=().

## ◆ ~CDRParser()

libcdr::CDRParser::~CDRParser | ( |  | ) |
| override

## ◆ CDRParser() [2/3]

libcdr::CDRParser::CDRParser | ( |  | ) |
| private

## ◆ CDRParser() [3/3]

libcdr::CDRParser::CDRParser | ( | const CDRParser & |  | ) |
| private

## Member Function Documentation

## ◆ _readX6StyleString()

void libcdr::CDRParser::_readX6StyleString | ( | librevenge::RVNGInputStream * | input,
|  | unsigned long | length,
|  | libcdr::CDRStyle & | style )
| private

Referenced by readTxsm16().

## ◆ _redirectX6Chunk()

bool libcdr::CDRParser::_redirectX6Chunk | ( | librevenge::RVNGInputStream ** | input,
|  | unsigned & | length )
| private

Referenced by readArrw(), readBBox(), readBmp(), readBmpf(), readDisp(), readFild(), readFlags(), readFont(), readFtil(), readIccd(), readLoda(), readMcfg(), readOutl(), readPpdt(), readSpnd(), readStlt(), readTrfd(), readTxsm(), readUidr(), readVersion(), and readVpat().

## ◆ _resolveColorPalette()

void libcdr::CDRParser::_resolveColorPalette | ( | libcdr::CDRColor & | color | ) |
| private

Referenced by _readX6StyleString(), and readColor().

## ◆ _skipX3Optional()

void libcdr::CDRParser::_skipX3Optional | ( | librevenge::RVNGInputStream * | input | ) |
| private

Referenced by readFild().

## ◆ gatherWaldoInformation()

bool libcdr::CDRParser::gatherWaldoInformation | ( | librevenge::RVNGInputStream * | input,
|  | std::vector< WaldoRecordInfo > & | records,
|  | std::map< unsigned, WaldoRecordInfo > & | records2,
|  | std::map< unsigned, WaldoRecordInfo > & | records3,
|  | std::map< unsigned, WaldoRecordInfo > & | records4,
|  | std::map< unsigned, WaldoRecordInfo > & | records6,
|  | std::map< unsigned, WaldoRecordInfo > & | records7,
|  | std::map< unsigned, WaldoRecordInfo > & | records8,
|  | std::map< unsigned, WaldoRecordInfo > | recordsOther )
| private

Referenced by parseWaldo().

## ◆ operator=()

CDRParser & libcdr::CDRParser::operator= | ( | const CDRParser & |  | ) |
| private

## ◆ parseRecord()

bool libcdr::CDRParser::parseRecord | ( | librevenge::RVNGInputStream * | input,
|  | const std::vector< unsigned > & | blockLengths = std::vector<unsigned>(),
|  | unsigned | level = 0 )
| private

Referenced by parseRecords().

## ◆ parseRecords()

bool libcdr::CDRParser::parseRecords | ( | librevenge::RVNGInputStream * | input,
|  | const std::vector< unsigned > & | blockLengths = std::vector<unsigned>(),
|  | unsigned | level = 0 )

Referenced by libcdr::CDRDocument::parse(), and parseRecord().

## ◆ parseWaldo()

bool libcdr::CDRParser::parseWaldo | ( | librevenge::RVNGInputStream * | input | ) |

Referenced by libcdr::CDRDocument::parse().

## ◆ parseWaldoStructure()

bool libcdr::CDRParser::parseWaldoStructure | ( | librevenge::RVNGInputStream * | input,
|  | std::stack< WaldoRecordType1 > & | waldoStack,
|  | const std::map< unsigned, WaldoRecordType1 > & | records1,
|  | std::map< unsigned, WaldoRecordInfo > & | records2 )
| private

Referenced by parseWaldo().

## ◆ readArrw()

void libcdr::CDRParser::readArrw | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by readRecord().

## ◆ readArtisticText()

void libcdr::CDRParser::readArtisticText | ( | librevenge::RVNGInputStream * | input | ) |
| private

Referenced by readLoda().

## ◆ readBBox()

void libcdr::CDRParser::readBBox | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by readRecord().

## ◆ readBitmap()

void libcdr::CDRParser::readBitmap | ( | librevenge::RVNGInputStream * | input | ) |
| private

Referenced by readLoda(), and readWaldoLoda().

## ◆ readBmp()

void libcdr::CDRParser::readBmp | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by readRecord().

## ◆ readBmpf()

void libcdr::CDRParser::readBmpf | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by readRecord().

## ◆ readColor()

libcdr::CDRColor libcdr::CDRParser::readColor | ( | librevenge::RVNGInputStream * | input | ) |
| private

Referenced by readFild(), readOutl(), readUidr(), readWaldoFill(), and readWaldoOutl().

## ◆ readDisp()

void libcdr::CDRParser::readDisp | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by readRecord().

## ◆ readEllipse()

void libcdr::CDRParser::readEllipse | ( | librevenge::RVNGInputStream * | input | ) |
| private

Referenced by readLoda(), and readWaldoLoda().

## ◆ readFild()

void libcdr::CDRParser::readFild | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by readRecord().

## ◆ readFlags()

void libcdr::CDRParser::readFlags | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by readRecord().

## ◆ readFont()

void libcdr::CDRParser::readFont | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by readRecord().

## ◆ readFtil()

void libcdr::CDRParser::readFtil | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by readRecord().

## ◆ readIccd()

void libcdr::CDRParser::readIccd | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by readRecord().

## ◆ readLineAndCurve()

void libcdr::CDRParser::readLineAndCurve | ( | librevenge::RVNGInputStream * | input | ) |
| private

Referenced by readLoda(), and readWaldoLoda().

## ◆ readLoda()

void libcdr::CDRParser::readLoda | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by readRecord().

## ◆ readMcfg()

void libcdr::CDRParser::readMcfg | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by parseWaldo(), and readRecord().

## ◆ readOpacity()

void libcdr::CDRParser::readOpacity | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by readLoda().

## ◆ readOutl()

void libcdr::CDRParser::readOutl | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by readRecord().

## ◆ readPageSize()

void libcdr::CDRParser::readPageSize | ( | librevenge::RVNGInputStream * | input | ) |
| private

Referenced by readLoda().

## ◆ readParagraphText()

void libcdr::CDRParser::readParagraphText | ( | librevenge::RVNGInputStream * | input | ) |
| private

Referenced by readLoda().

## ◆ readPath()

void libcdr::CDRParser::readPath | ( | librevenge::RVNGInputStream * | input | ) |
| private

Referenced by readLoda().

## ◆ readPolygonCoords()

void libcdr::CDRParser::readPolygonCoords | ( | librevenge::RVNGInputStream * | input | ) |
| private

Referenced by readLoda().

## ◆ readPolygonTransform()

void libcdr::CDRParser::readPolygonTransform | ( | librevenge::RVNGInputStream * | input | ) |
| private

Referenced by readLoda().

## ◆ readPpdt()

void libcdr::CDRParser::readPpdt | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by readRecord().

## ◆ readRecord()

void libcdr::CDRParser::readRecord | ( | unsigned | fourCC,
|  | unsigned | length,
|  | librevenge::RVNGInputStream * | input )
| private

Referenced by parseRecord().

## ◆ readRectangle()

void libcdr::CDRParser::readRectangle | ( | librevenge::RVNGInputStream * | input | ) |
| private

Referenced by readLoda(), and readWaldoLoda().

## ◆ readRectCoord()

double libcdr::CDRParser::readRectCoord | ( | librevenge::RVNGInputStream * | input | ) |
| private

Referenced by readRectangle().

## ◆ readSpnd()

void libcdr::CDRParser::readSpnd | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by readRecord().

## ◆ readStlt()

void libcdr::CDRParser::readStlt | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by readRecord(), and readStlt().

## ◆ readStyd()

void libcdr::CDRParser::readStyd | ( | librevenge::RVNGInputStream * | input | ) |
| private

Referenced by readRecord().

## ◆ readTrfd()

void libcdr::CDRParser::readTrfd | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by readRecord().

## ◆ readTxsm()

void libcdr::CDRParser::readTxsm | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by readRecord().

## ◆ readTxsm16()

void libcdr::CDRParser::readTxsm16 | ( | librevenge::RVNGInputStream * | input | ) |
| private

Referenced by readTxsm().

## ◆ readTxsm5()

void libcdr::CDRParser::readTxsm5 | ( | librevenge::RVNGInputStream * | input | ) |
| private

Referenced by readTxsm().

## ◆ readTxsm6()

void libcdr::CDRParser::readTxsm6 | ( | librevenge::RVNGInputStream * | input | ) |
| private

Referenced by readTxsm().

## ◆ readUdta()

void libcdr::CDRParser::readUdta | ( | librevenge::RVNGInputStream * | input | ) |
| private

Referenced by readRecord().

## ◆ readUidr()

void libcdr::CDRParser::readUidr | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by readRecord().

## ◆ readVersion()

void libcdr::CDRParser::readVersion | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by readRecord().

## ◆ readVpat()

void libcdr::CDRParser::readVpat | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by readRecord().

## ◆ readWaldoBmp()

void libcdr::CDRParser::readWaldoBmp | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length,
|  | unsigned | id )
| private

Referenced by readWaldoRecord().

## ◆ readWaldoBmpf()

void libcdr::CDRParser::readWaldoBmpf | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | id )
| private

Referenced by readWaldoRecord().

## ◆ readWaldoFill()

void libcdr::CDRParser::readWaldoFill | ( | librevenge::RVNGInputStream * | input | ) |
| private

Referenced by readLoda(), and readWaldoLoda().

## ◆ readWaldoLoda()

void libcdr::CDRParser::readWaldoLoda | ( | librevenge::RVNGInputStream * | input,
|  | unsigned | length )
| private

Referenced by readWaldoRecord().

## ◆ readWaldoOutl()

void libcdr::CDRParser::readWaldoOutl | ( | librevenge::RVNGInputStream * | input | ) |
| private

Referenced by readLoda(), and readWaldoLoda().

## ◆ readWaldoRecord()

void libcdr::CDRParser::readWaldoRecord | ( | librevenge::RVNGInputStream * | input,
|  | const WaldoRecordInfo & | info )
| private

Referenced by parseWaldo(), and parseWaldoStructure().

## ◆ readWaldoTrfd()

void libcdr::CDRParser::readWaldoTrfd | ( | librevenge::RVNGInputStream * | input | ) |
| private

Referenced by readLoda(), and readWaldoLoda().

## Member Data Documentation

## ◆ m_arrows

std::map<unsigned, CDRPath> libcdr::CDRParser::m_arrows
| private

Referenced by CDRParser(), readArrw(), readOutl(), and readWaldoOutl().

## ◆ m_externalStreams

const std::vector<std::unique_ptr<librevenge::RVNGInputStream> >& libcdr::CDRParser::m_externalStreams
| private

Referenced by _redirectX6Chunk(), and CDRParser().

## ◆ m_fillStyles

std::map<unsigned, CDRFillStyle> libcdr::CDRParser::m_fillStyles
| private

Referenced by CDRParser(), readFild(), readStlt(), readStyd(), readTxsm(), readTxsm5(), and readTxsm6().

## ◆ m_fonts

std::map<unsigned, CDRFont> libcdr::CDRParser::m_fonts
| private

Referenced by CDRParser(), readFont(), readStlt(), readStyd(), readTxsm(), readTxsm5(), and readTxsm6().

## ◆ m_lineStyles

std::map<unsigned, CDRLineStyle> libcdr::CDRParser::m_lineStyles
| private

Referenced by CDRParser(), readOutl(), readStlt(), readStyd(), readTxsm(), readTxsm5(), and readTxsm6().

## ◆ m_version

unsigned libcdr::CDRParser::m_version
| private

Referenced by _readX6StyleString(), _redirectX6Chunk(), _skipX3Optional(), CDRParser(), parseRecord(), parseWaldo(), readArrw(), readBitmap(), readBmp(), readColor(), readFild(), readFlags(), readFont(), readLoda(), readMcfg(), readOpacity(), readOutl(), readPolygonTransform(), readRectangle(), readRectCoord(), readStlt(), readStyd(), readTrfd(), readTxsm(), readTxsm16(), readUdta(), readVersion(), readWaldoBmp(), readWaldoFill(), readWaldoLoda(), readWaldoOutl(), and readWaldoTrfd().

## ◆ m_waldoFillId

unsigned libcdr::CDRParser::m_waldoFillId
| private

Referenced by CDRParser(), and readWaldoFill().

## ◆ m_waldoOutlId

unsigned libcdr::CDRParser::m_waldoOutlId
| private

Referenced by CDRParser(), and readWaldoOutl().

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

- CDRParser.h
- CDRParser.cpp