10 #ifndef __CDRPARSER_H__
11 #define __CDRPARSER_H__
17 #include <librevenge-stream/librevenge-stream.h>
29 explicit CDRParser(
const std::vector<std::unique_ptr<librevenge::RVNGInputStream>> &externalStreams,
CDRCollector *collector);
31 bool parseRecords(librevenge::RVNGInputStream *input,
const std::vector<unsigned> &blockLengths = std::vector<unsigned>(),
unsigned level = 0);
32 bool parseWaldo(librevenge::RVNGInputStream *input);
38 bool parseWaldoStructure(librevenge::RVNGInputStream *input, std::stack<WaldoRecordType1> &waldoStack,
39 const std::map<unsigned, WaldoRecordType1> &records1,
40 std::map<unsigned, WaldoRecordInfo> &records2);
41 bool gatherWaldoInformation(librevenge::RVNGInputStream *input, std::vector<WaldoRecordInfo> &records, std::map<unsigned, WaldoRecordInfo> &records2,
42 std::map<unsigned, WaldoRecordInfo> &records3, std::map<unsigned, WaldoRecordInfo> &records4,
43 std::map<unsigned, WaldoRecordInfo> &records6, std::map<unsigned, WaldoRecordInfo> &records7,
44 std::map<unsigned, WaldoRecordInfo> &records8, std::map<unsigned, WaldoRecordInfo> recordsOther);
46 bool parseRecord(librevenge::RVNGInputStream *input,
const std::vector<unsigned> &blockLengths = std::vector<unsigned>(),
unsigned level = 0);
47 void readRecord(
unsigned fourCC,
unsigned length, librevenge::RVNGInputStream *input);
52 void readEllipse(librevenge::RVNGInputStream *input);
54 void readBitmap(librevenge::RVNGInputStream *input);
56 void readWaldoBmp(librevenge::RVNGInputStream *input,
unsigned length,
unsigned id);
57 void readWaldoBmpf(librevenge::RVNGInputStream *input,
unsigned id);
61 void readWaldoLoda(librevenge::RVNGInputStream *input,
unsigned length);
62 void readOpacity(librevenge::RVNGInputStream *input,
unsigned length);
63 void readTrfd(librevenge::RVNGInputStream *input,
unsigned length);
64 void readFild(librevenge::RVNGInputStream *input,
unsigned length);
65 void readOutl(librevenge::RVNGInputStream *input,
unsigned length);
66 void readLoda(librevenge::RVNGInputStream *input,
unsigned length);
67 void readFlags(librevenge::RVNGInputStream *input,
unsigned length);
68 void readMcfg(librevenge::RVNGInputStream *input,
unsigned length);
69 void readPath(librevenge::RVNGInputStream *input);
70 void readArrw(librevenge::RVNGInputStream *input,
unsigned length);
73 void readBmp(librevenge::RVNGInputStream *input,
unsigned length);
74 void readBmpf(librevenge::RVNGInputStream *input,
unsigned length);
75 void readPpdt(librevenge::RVNGInputStream *input,
unsigned length);
76 void readFtil(librevenge::RVNGInputStream *input,
unsigned length);
77 void readDisp(librevenge::RVNGInputStream *input,
unsigned length);
78 void readVersion(librevenge::RVNGInputStream *input,
unsigned length);
79 void readIccd(librevenge::RVNGInputStream *input,
unsigned length);
80 void readBBox(librevenge::RVNGInputStream *input,
unsigned length);
81 void readSpnd(librevenge::RVNGInputStream *input,
unsigned length);
82 void readVpat(librevenge::RVNGInputStream *input,
unsigned length);
83 void readUidr(librevenge::RVNGInputStream *input,
unsigned length);
84 void readFont(librevenge::RVNGInputStream *input,
unsigned length);
85 void readStlt(librevenge::RVNGInputStream *input,
unsigned length);
86 void readStyd(librevenge::RVNGInputStream *input);
87 void readTxsm(librevenge::RVNGInputStream *input,
unsigned length);
88 void readTxsm16(librevenge::RVNGInputStream *input);
89 void readTxsm6(librevenge::RVNGInputStream *input);
90 void readTxsm5(librevenge::RVNGInputStream *input);
91 void readUdta(librevenge::RVNGInputStream *input);
95 bool _redirectX6Chunk(librevenge::RVNGInputStream **input,
unsigned &length);
115 #endif // __CDRPARSER_H__
bool _redirectX6Chunk(librevenge::RVNGInputStream **input, unsigned &length)
Definition: CDRParser.cpp:2063
Definition: CommonParser.h:27
void _readX6StyleString(librevenge::RVNGInputStream *input, unsigned long length, CDRStyle &style)
Definition: CDRParser.cpp:3122
~CDRParser() override
Definition: CDRParser.cpp:240
void readLineAndCurve(librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:1032
void readFlags(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:1824
void readFont(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:2147
void readMcfg(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:1832
void readUidr(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:2136
void readLoda(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:1726
void readWaldoBmpf(librevenge::RVNGInputStream *input, unsigned id)
Definition: CDRParser.cpp:1989
void readEllipse(librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:932
void readPolygonCoords(librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:1862
void readVersion(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:2052
unsigned m_waldoOutlId
Definition: CDRParser.h:108
bool parseRecord(librevenge::RVNGInputStream *input, const std::vector< unsigned > &blockLengths=std::vector< unsigned >(), unsigned level=0)
Definition: CDRParser.cpp:582
void readFild(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:1410
void readBmpf(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:1978
unsigned m_version
Definition: CDRParser.h:107
void readIccd(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:2088
void readArtisticText(librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:3107
double readRectCoord(librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:758
void _resolveColorPalette(CDRColor &color)
Definition: CDRParser.cpp:3249
void readTxsm16(librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:2683
bool parseWaldoStructure(librevenge::RVNGInputStream *input, std::stack< WaldoRecordType1 > &waldoStack, const std::map< unsigned, WaldoRecordType1 > &records1, std::map< unsigned, WaldoRecordInfo > &records2)
Definition: CDRParser.cpp:418
void _skipX3Optional(librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:3217
unsigned m_waldoFillId
Definition: CDRParser.h:109
void readOpacity(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:1968
std::map< unsigned, CDRFont > m_fonts
Definition: CDRParser.h:102
void readWaldoBmp(librevenge::RVNGInputStream *input, unsigned length, unsigned id)
Definition: CDRParser.cpp:1914
void readStyd(librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:3002
void readWaldoFill(librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:1223
void readWaldoTrfd(librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:490
void readVpat(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:2122
void readDisp(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:989
Definition: CDRCollector.h:24
void readRecord(unsigned fourCC, unsigned length, librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:676
std::map< unsigned, CDRFillStyle > m_fillStyles
Definition: CDRParser.h:103
void readWaldoRecord(librevenge::RVNGInputStream *input, const WaldoRecordInfo &info)
Definition: CDRParser.cpp:464
std::map< unsigned, CDRPath > m_arrows
Definition: CDRParser.h:105
void readPpdt(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:2012
void readTxsm6(librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:2804
void readTxsm(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:2470
Definition: CDRTypes.h:273
void readParagraphText(librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:3114
void readFtil(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:2037
void readArrw(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:1086
void readWaldoOutl(librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:1190
void readPath(librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:1057
void readStlt(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:2195
Definition: CDRParser.h:26
void readSpnd(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:2114
void readTrfd(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:1317
CDRParser & operator=(const CDRParser &)
CDRColor readColor(librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:765
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)
Definition: CDRParser.cpp:367
std::map< unsigned, CDRLineStyle > m_lineStyles
Definition: CDRParser.h:104
void readTxsm5(librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:2898
void readOutl(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:1665
Definition: CDRTypes.h:53
void readWaldoLoda(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:530
void readPageSize(librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:1907
void readPolygonTransform(librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:1888
bool parseRecords(librevenge::RVNGInputStream *input, const std::vector< unsigned > &blockLengths=std::vector< unsigned >(), unsigned level=0)
Definition: CDRParser.cpp:567
void readBitmap(librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:1122
void readRectangle(librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:816
bool parseWaldo(librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:245
void readBBox(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:2103
void readBmp(librevenge::RVNGInputStream *input, unsigned length)
Definition: CDRParser.cpp:1933
Definition: CDRTypes.h:141
void readUdta(librevenge::RVNGInputStream *input)
Definition: CDRParser.cpp:2983
Definition: CDRCollector.h:61
const std::vector< std::unique_ptr< librevenge::RVNGInputStream > > & m_externalStreams
Definition: CDRParser.h:100