libcdr::CDRParser Class Reference

#include <CDRParser.h>

Inheritance diagram for libcdr::CDRParser:
libcdr::CommonParser

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 &)
 
CDRParseroperator= (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, CDRFontm_fonts
 
std::map< unsigned, CDRFillStylem_fillStyles
 
std::map< unsigned, CDRLineStylem_lineStyles
 
std::map< unsigned, CDRPathm_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
CDRCollectorm_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

◆ _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 )

◆ parseWaldo()

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

◆ 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

◆ 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

◆ 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

◆ m_fonts

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

◆ m_lineStyles

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

◆ m_version

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

Generated for libcdr by doxygen 1.13.2