Go to the documentation of this file.
10 #ifndef QXP4PARSER_H_INCLUDED
11 #define QXP4PARSER_H_INCLUDED
19 class QXP4Deobfuscator;
25 QXP4Parser(
const std::shared_ptr<librevenge::RVNGInputStream> &input, librevenge::RVNGDrawingInterface *painter,
const std::shared_ptr<QXP4Header> &header);
87 bool parsePages(
const std::shared_ptr<librevenge::RVNGInputStream> &stream,
QXPCollector &collector)
override;
89 void parseColors(
const std::shared_ptr<librevenge::RVNGInputStream> &docStream);
91 void parseColor(
const std::shared_ptr<librevenge::RVNGInputStream> &stream,
const std::vector<ColorBlockSpec> &blocks);
94 void parseLineStyles(
const std::shared_ptr<librevenge::RVNGInputStream> &docStream);
95 void skipTemplates(
const std::shared_ptr<librevenge::RVNGInputStream> &stream);
96 void parseTabStops(
const std::shared_ptr<librevenge::RVNGInputStream> &stream);
98 std::shared_ptr<HJ>
parseHJ(
const std::shared_ptr<librevenge::RVNGInputStream> &stream)
override;
116 Frame readFrame(
const std::shared_ptr<librevenge::RVNGInputStream> &stream);
117 bool readRunaround(
const std::shared_ptr<librevenge::RVNGInputStream> &stream);
121 void readOleObject(
const std::shared_ptr<librevenge::RVNGInputStream> &stream);
122 void readPictureSettings(
const std::shared_ptr<librevenge::RVNGInputStream> &stream, std::shared_ptr<PictureBox> &picturebox);
123 void readImageData(
const std::shared_ptr<librevenge::RVNGInputStream> &stream);
124 void readBezierData(
const std::shared_ptr<librevenge::RVNGInputStream> &stream, std::vector<CurveComponent> &curveComponents,
Rect &bbox);
130 #endif // QXP4PARSER_H_INCLUDED
Definition: QXPTypes.h:68
void parseBezierPictureBox(const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, QXPCollector &collector)
Definition: QXP4Parser.cpp:738
void readTextSettings(const std::shared_ptr< librevenge::RVNGInputStream > &stream, TextSettings &settings)
Definition: QXP4Parser.cpp:1036
Definition: QXPTypes.h:545
ShapeType
Definition: QXP4Parser.h:27
double width
Definition: QXPTypes.h:346
uint16_t readU16(librevenge::RVNGInputStream *input, bool bigEndian)
Definition: libqxp_utils.cpp:111
void readImageData(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXP4Parser.cpp:1109
unsigned offset
Definition: QXP4Parser.h:74
void parsePictureBox(const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, QXPCollector &collector)
Definition: QXP4Parser.cpp:768
Color getColor(unsigned id, Color defaultColor=Color(0, 0, 0)) const
Definition: QXPParser.cpp:83
bool skew
Definition: QXPTypes.h:418
bool parseDocument(const std::shared_ptr< librevenge::RVNGInputStream > &docStream, QXPCollector &collector) override
Definition: QXP4Parser.cpp:57
TextPathLineAlignment lineAlignment
Definition: QXPTypes.h:420
const bool be
Definition: QXPParser.h:45
QXP4Parser(const std::shared_ptr< librevenge::RVNGInputStream > &input, librevenge::RVNGDrawingInterface *painter, const std::shared_ptr< QXP4Header > &header)
Definition: QXP4Parser.cpp:50
uint8_t readColorComp(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:324
void parseBezierLine(const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, QXPCollector &collector)
Definition: QXP4Parser.cpp:682
Frame readFrame(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXP4Parser.cpp:999
Definition: QXP4Deobfuscator.h:19
virtual void collectBox(const std::shared_ptr< Box > &)
Definition: QXPCollector.h:46
bool readRunaround(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXP4Parser.cpp:1023
Definition: libqxp_utils.cpp:24
uint8_t readObjectFlags(const std::shared_ptr< librevenge::RVNGInputStream > &stream, bool &noColor)
Definition: QXPParser.cpp:478
virtual void collectTextBox(const std::shared_ptr< TextBox > &)
Definition: QXPCollector.h:47
ColorBlockSpec parseColorBlockSpec(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXP4Parser.cpp:164
CharFormat parseCharFormat(const std::shared_ptr< librevenge::RVNGInputStream > &stream) override
Definition: QXP4Parser.cpp:227
unsigned columnsCount
Definition: QXPTypes.h:388
Page parsePage(const std::shared_ptr< librevenge::RVNGInputStream > &stream, QXP4Deobfuscator &deobfuscate)
Definition: QXP4Parser.cpp:458
void skipRecord(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:116
ObjectHeader parseObjectHeader(const std::shared_ptr< librevenge::RVNGInputStream > &stream, QXP4Deobfuscator &deobfuscate)
Definition: QXP4Parser.cpp:551
void readBezierData(const std::shared_ptr< librevenge::RVNGInputStream > &stream, std::vector< CurveComponent > &curveComponents, Rect &bbox)
Definition: QXP4Parser.cpp:1115
Definition: QXPParser.h:30
virtual void startPage(const Page &)
Definition: QXPCollector.h:40
Definition: QXPTypes.h:344
Definition: QXP4Parser.h:72
TabStop parseTabStop(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:200
void setArrow(const unsigned index, Frame &frame) const
Definition: QXPParser.cpp:492
void skipParagraphStylesheets(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXP4Parser.cpp:197
double gutterWidth
Definition: QXPTypes.h:389
double skew
Definition: QXPTypes.h:393
void seek(librevenge::RVNGInputStream *const input, const unsigned long pos)
Definition: libqxp_utils.cpp:241
Definition: QXPCollector.h:27
Definition: QXPCollector.h:54
bool parsePages(const std::shared_ptr< librevenge::RVNGInputStream > &stream, QXPCollector &collector) override
Definition: QXP4Parser.cpp:95
std::shared_ptr< HJ > parseHJ(const std::shared_ptr< librevenge::RVNGInputStream > &stream) override
Definition: QXP4Parser.cpp:447
void readPictureSettings(const std::shared_ptr< librevenge::RVNGInputStream > &stream, std::shared_ptr< PictureBox > &picturebox)
Definition: QXP4Parser.cpp:1098
void parseGroup(const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, QXPCollector &collector, const Page &page, unsigned index)
Definition: QXP4Parser.cpp:976
void parseFonts(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:125
void parseBezierEmptyBox(const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, QXPCollector &collector)
Definition: QXP4Parser.cpp:696
void parseBezierText(const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, QXPCollector &collector)
Definition: QXP4Parser.cpp:844
BoxType
Definition: QXPTypes.h:477
void nextShift(uint16_t count)
Definition: QXP4Deobfuscator.cpp:59
Rect readObjectBBox(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:329
const LineStyle * getLineStyle(unsigned id) const
Definition: QXPParser.cpp:94
VerticalAlignment readVertAlign(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:413
void parseParagraphFormats(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:230
Point readYX(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:432
uint32_t readU32(librevenge::RVNGInputStream *input, bool bigEndian)
Definition: libqxp_utils.cpp:127
void skipTemplates(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXP4Parser.cpp:332
std::deque< std::shared_ptr< HJ > > m_hjs
Definition: QXPParser.h:56
double readFraction(librevenge::RVNGInputStream *input, bool bigEndian)
Definition: libqxp_utils.cpp:174
#define QXP_DEBUG_MSG(M)
Definition: libqxp_utils.h:53
#define QXP_FALLTHROUGH
Definition: libqxp_utils.h:40
ColorBlockSpec()
Definition: QXP4Parser.h:77
virtual void collectLine(const std::shared_ptr< Line > &)
Definition: QXPCollector.h:45
std::vector< PageSettings > pageSettings
Definition: QXPTypes.h:547
TextPathAlignment alignment
Definition: QXPTypes.h:419
std::vector< std::vector< TabStop > > m_paragraphTabStops
Definition: QXP4Parser.h:84
CornerType
Definition: QXPTypes.h:469
Rect inset
Definition: QXPTypes.h:391
uint8_t readParagraphFlags(const std::shared_ptr< librevenge::RVNGInputStream > &stream, bool &incrementalLeading, bool &ruleAbove, bool &ruleBelow)
Definition: QXPParser.cpp:460
double top
Definition: QXPTypes.h:48
virtual void collectTextPath(const std::shared_ptr< TextPath > &)
Definition: QXPCollector.h:48
ParagraphFormat parseParagraphFormat(const std::shared_ptr< librevenge::RVNGInputStream > &stream) override
Definition: QXP4Parser.cpp:395
void parseLine(const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, QXPCollector &collector)
Definition: QXP4Parser.cpp:666
std::shared_ptr< ParagraphRule > readParagraphRule(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:440
void parseObject(const std::shared_ptr< librevenge::RVNGInputStream > &stream, QXP4Deobfuscator &deobfuscate, QXPCollector &collector, const Page &page, unsigned index)
Definition: QXP4Parser.cpp:466
void next(uint16_t block)
Definition: QXP4Deobfuscator.cpp:48
Definition: QXPTypes.h:126
Gradient readGradient(const std::shared_ptr< librevenge::RVNGInputStream > &stream, const Color &color1)
Definition: QXPParser.cpp:339
boost::optional< Color > color
Definition: QXPTypes.h:347
void parseColor(const std::shared_ptr< librevenge::RVNGInputStream > &stream, const std::vector< ColorBlockSpec > &blocks)
Definition: QXP4Parser.cpp:173
void readGroupElements(const std::shared_ptr< librevenge::RVNGInputStream > &stream, unsigned count, unsigned objectsCount, unsigned index, std::vector< unsigned > &elements)
Definition: QXPParser.cpp:560
void readLinkedTextSettings(const std::shared_ptr< librevenge::RVNGInputStream > &stream, LinkedTextSettings &settings)
Definition: QXP4Parser.cpp:1030
uint8_t blue
Definition: QXPTypes.h:72
unsigned nextLinkedIndex
Definition: QXPTypes.h:366
std::shared_ptr< Text > parseText(unsigned index, unsigned linkId, QXPCollector &collector)
Definition: QXPParser.cpp:303
void parseCollection(const std::shared_ptr< librevenge::RVNGInputStream >stream, std::function< void()> itemHandler)
Definition: QXPParser.cpp:239
double right
Definition: QXPTypes.h:49
Definition: QXPTypes.h:46
uint8_t readU8(librevenge::RVNGInputStream *input, bool)
Definition: libqxp_utils.cpp:99
void skipFileInfo(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:517
std::map< unsigned, Color > m_colors
Definition: QXPParser.h:50
HorizontalAlignment readHorAlign(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:392
double rotation
Definition: QXPTypes.h:392
void skipTextObjectEnd(const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, const LinkedTextSettings &linkedTextSettings)
Definition: QXP4Parser.cpp:1176
Color applyShade(double shade) const
Definition: QXPTypes.cpp:105
unsigned offsetIntoText
Definition: QXPTypes.h:364
void parseColors(const std::shared_ptr< librevenge::RVNGInputStream > &docStream)
Definition: QXP4Parser.cpp:121
double bottom
Definition: QXPTypes.h:50
const unsigned char * readNBytes(librevenge::RVNGInputStream *const input, const unsigned long numBytes)
Definition: libqxp_utils.cpp:180
Definition: QXPHeader.h:24
virtual void endPage()
Definition: QXPCollector.h:41
void readOleObject(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXP4Parser.cpp:1092
void parseLineText(const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, QXPCollector &collector)
Definition: QXP4Parser.cpp:802
void readTextPathSettings(const std::shared_ptr< librevenge::RVNGInputStream > &stream, TextPathSettings &settings)
Definition: QXP4Parser.cpp:1051
unsigned padding
Definition: QXP4Parser.h:75
void parseCommonCharFormatProps(const std::shared_ptr< librevenge::RVNGInputStream > &stream, CharFormat &result)
Definition: QXPParser.cpp:189
uint8_t green
Definition: QXPTypes.h:71
double left
Definition: QXPTypes.h:51
Definition: QXPTypes.h:415
ContentType
Definition: QXPTypes.h:265
boost::optional< Color > gapColor
Definition: QXPTypes.h:348
void skip(librevenge::RVNGInputStream *input, unsigned long numBytes)
Definition: libqxp_utils.cpp:234
void parseHJProps(const std::shared_ptr< librevenge::RVNGInputStream > &stream, HJ &result)
Definition: QXPParser.cpp:176
virtual void collectDocumentProperties(const QXPDocumentProperties &)
Definition: QXPCollector.h:43
void parseLineStyles(const std::shared_ptr< librevenge::RVNGInputStream > &docStream)
Definition: QXP4Parser.cpp:253
Definition: libqxp_utils.h:142
const std::shared_ptr< QXP4Header > m_header
Definition: QXP4Parser.h:82
std::set< unsigned > m_groupObjects
Definition: QXPParser.h:58
void parseHJs(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:159
std::vector< PageSettings > parsePageSettings(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:264
void parseTabStops(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXP4Parser.cpp:357
Definition: libqxp_utils.h:132
Definition: QXPTypes.h:361
VerticalAlignment verticalAlignment
Definition: QXPTypes.h:390
uint8_t red
Definition: QXPTypes.h:70
void parseBezierTextBox(const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, QXPCollector &collector)
Definition: QXP4Parser.cpp:884
Definition: QXPTypes.h:386
virtual void collectGroup(const std::shared_ptr< Group > &)
Definition: QXPCollector.h:49
void parseEmptyBox(const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, QXPCollector &collector)
Definition: QXP4Parser.cpp:715
unsigned long getRemainingLength(librevenge::RVNGInputStream *const input)
Definition: libqxp_utils.cpp:259
Definition: QXP4Parser.h:22
bool rotate
Definition: QXPTypes.h:417
void parseTextBox(const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, QXPCollector &collector)
Definition: QXP4Parser.cpp:928
const LineStyle * lineStyle
Definition: QXPTypes.h:349
void parseCharFormats(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:167
std::map< unsigned, LineStyle > m_lineStyles
Definition: QXPParser.h:54
unsigned objectsCount
Definition: QXPTypes.h:548
Generated for libqxp by
doxygen 1.8.16