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