Public Member Functions | Private Member Functions | Private Attributes | List of all members
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 length, CDRStyle &style)

## 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

## ◆ ~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 | length,
|  | libcdr::CDRStyle & | style
| ) |  |
| private

## ◆ _redirectX6Chunk()

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

## ◆ 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

## ◆ 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

## ◆ parseRecords()

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

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

## ◆ 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

## ◆ readArrw()

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

## ◆ readArtisticText()

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

## ◆ readBBox()

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

## ◆ readBitmap()

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

## ◆ readBmp()

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

## ◆ readBmpf()

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

## ◆ readColor()

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

## ◆ readDisp()

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

## ◆ readEllipse()

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

## ◆ readFild()

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

## ◆ readFlags()

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

## ◆ readFont()

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

## ◆ readFtil()

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

## ◆ readIccd()

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

## ◆ readLineAndCurve()

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

## ◆ readLoda()

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

## ◆ readMcfg()

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

## ◆ readOpacity()

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

## ◆ readOutl()

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

## ◆ readPageSize()

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

## ◆ readParagraphText()

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

## ◆ readPath()

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

## ◆ readPolygonCoords()

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

## ◆ readPolygonTransform()

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

## ◆ readPpdt()

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

## ◆ readRecord()

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

## ◆ readRectangle()

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

## ◆ readRectCoord()

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

## ◆ readSpnd()

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

## ◆ readStlt()

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

## ◆ readStyd()

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

## ◆ readTrfd()

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

## ◆ readTxsm()

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

## ◆ readTxsm16()

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

## ◆ readTxsm5()

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

## ◆ readTxsm6()

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

## ◆ readUdta()

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

## ◆ readUidr()

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

## ◆ readVersion()

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

## ◆ readVpat()

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

## ◆ readWaldoBmp()

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

## ◆ readWaldoBmpf()

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

## ◆ readWaldoFill()

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

## ◆ readWaldoLoda()

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

## ◆ readWaldoOutl()

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

## ◆ readWaldoRecord()

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

## ◆ readWaldoTrfd()

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

## Member Data Documentation

## ◆ m_arrows

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

## ◆ m_externalStreams

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

## ◆ m_fillStyles

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

## ◆ m_fonts

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

## ◆ m_lineStyles

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

## ◆ m_version

unsigned libcdr::CDRParser::m_version
| private

## ◆ m_waldoFillId

unsigned libcdr::CDRParser::m_waldoFillId
| private

## ◆ m_waldoOutlId

unsigned libcdr::CDRParser::m_waldoOutlId
| private

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

- CDRParser.h
- CDRParser.cpp