Go to the documentation of this file.
10 #ifndef QXPPARSER_H_INCLUDED
11 #define QXPPARSER_H_INCLUDED
37 QXPParser(
const std::shared_ptr<librevenge::RVNGInputStream> &input, librevenge::RVNGDrawingInterface *painter,
const std::shared_ptr<QXPHeader> &header);
43 const std::shared_ptr<librevenge::RVNGInputStream>
m_input;
56 std::deque<std::shared_ptr<HJ>>
m_hjs;
62 std::string
getFont(
int id, std::string defaultFont =
"Arial")
const;
68 virtual bool parsePages(
const std::shared_ptr<librevenge::RVNGInputStream> &stream,
QXPCollector &collector) = 0;
70 void skipRecord(
const std::shared_ptr<librevenge::RVNGInputStream> &stream);
71 void parseFonts(
const std::shared_ptr<librevenge::RVNGInputStream> &stream);
72 void parseHJs(
const std::shared_ptr<librevenge::RVNGInputStream> &stream);
73 void parseCharFormats(
const std::shared_ptr<librevenge::RVNGInputStream> &stream);
75 void parseHJProps(
const std::shared_ptr<librevenge::RVNGInputStream> &stream,
HJ &result);
81 virtual std::shared_ptr<HJ>
parseHJ(
const std::shared_ptr<librevenge::RVNGInputStream> &stream) = 0;
83 void parseCollection(
const std::shared_ptr<librevenge::RVNGInputStream>stream, std::function<
void()> itemHandler);
85 std::vector<PageSettings>
parsePageSettings(
const std::shared_ptr<librevenge::RVNGInputStream> &stream);
90 uint8_t
readColorComp(
const std::shared_ptr<librevenge::RVNGInputStream> &stream);
95 Point readYX(
const std::shared_ptr<librevenge::RVNGInputStream> &stream);
96 std::shared_ptr<ParagraphRule>
readParagraphRule(
const std::shared_ptr<librevenge::RVNGInputStream> &stream);
97 uint8_t
readParagraphFlags(
const std::shared_ptr<librevenge::RVNGInputStream> &stream,
bool &incrementalLeading,
bool &ruleAbove,
bool &ruleBelow);
98 uint8_t
readObjectFlags(
const std::shared_ptr<librevenge::RVNGInputStream> &stream,
bool &noColor);
99 void readGroupElements(
const std::shared_ptr<librevenge::RVNGInputStream> &stream,
unsigned count,
unsigned objectsCount,
unsigned index, std::vector<unsigned> &elements);
101 void skipFileInfo(
const std::shared_ptr<librevenge::RVNGInputStream> &stream);
109 #endif // QXPPARSER_H_INCLUDED
Definition: QXPTypes.h:68
unsigned maxInRow
Definition: QXPTypes.h:187
VerticalAlignment
Definition: QXPTypes.h:200
std::map< int, std::string > m_fonts
Definition: QXPParser.h:51
QXPParser(const QXPParser &other)=delete
Definition: QXPContentCollector.h:26
uint16_t readU16(librevenge::RVNGInputStream *input, bool bigEndian)
Definition: libqxp_utils.cpp:111
Color getColor(unsigned id, Color defaultColor=Color(0, 0, 0)) const
Definition: QXPParser.cpp:83
const bool be
Definition: QXPParser.h:45
uint32_t readRecordEndOffset(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:318
uint8_t readColorComp(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:324
TabStopType type
Definition: QXPTypes.h:218
virtual bool parsePages(const std::shared_ptr< librevenge::RVNGInputStream > &stream, QXPCollector &collector)=0
Definition: QXPHeader.h:29
void endDocument() override
Definition: QXPContentCollector.cpp:320
Definition: libqxp_utils.cpp:24
std::string getFont(int id, std::string defaultFont="Arial") const
Definition: QXPParser.cpp:105
uint8_t readObjectFlags(const std::shared_ptr< librevenge::RVNGInputStream > &stream, bool &noColor)
Definition: QXPParser.cpp:478
std::vector< std::shared_ptr< ParagraphFormat > > m_paragraphFormats
Definition: QXPParser.h:53
bool hyphenate
Definition: QXPTypes.h:184
void skipRecord(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:116
std::vector< std::shared_ptr< CharFormat > > m_charFormats
Definition: QXPParser.h:52
Definition: QXPParser.h:30
Definition: QXPTypes.h:344
double readFloat16(librevenge::RVNGInputStream *input, bool bigEndian)
Definition: libqxp_utils.cpp:169
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
librevenge::RVNGDrawingInterface * m_painter
Definition: QXPParser.h:44
int16_t readS16(librevenge::RVNGInputStream *input, bool bigEndian)
Definition: libqxp_utils.cpp:159
const std::shared_ptr< librevenge::RVNGInputStream > m_input
Definition: QXPParser.h:43
void seek(librevenge::RVNGInputStream *const input, const unsigned long pos)
Definition: libqxp_utils.cpp:241
std::string readPlatformString(librevenge::RVNGInputStream *input, bool bigEndian)
Definition: libqxp_utils.cpp:229
std::vector< Arrow > m_arrows
Definition: QXPParser.h:55
Color color1
Definition: QXPTypes.h:100
Definition: QXPCollector.h:27
const Arrow * endArrow
Definition: QXPTypes.h:351
double position
Definition: QXPTypes.h:219
void parseFonts(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:125
virtual CharFormat parseCharFormat(const std::shared_ptr< librevenge::RVNGInputStream > &stream)=0
Rect readObjectBBox(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:329
QXPTextParser m_textParser
Definition: QXPParser.h:48
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
const Arrow * startArrow
Definition: QXPTypes.h:350
std::deque< std::shared_ptr< HJ > > m_hjs
Definition: QXPParser.h:56
std::shared_ptr< Text > parseText(unsigned index, const std::vector< std::shared_ptr< CharFormat >> &charFormats, const std::vector< std::shared_ptr< ParagraphFormat >> ¶graphFormats)
Definition: QXPTextParser.cpp:64
HorizontalAlignment
Definition: QXPTypes.h:191
double readFraction(librevenge::RVNGInputStream *input, bool bigEndian)
Definition: libqxp_utils.cpp:174
#define QXP_DEBUG_MSG(M)
Definition: libqxp_utils.h:53
QXPBlockParser m_blockParser
Definition: QXPParser.h:47
Definition: QXPTypes.h:216
#define QXP_FALLTHROUGH
Definition: libqxp_utils.h:40
virtual void collectText(const std::shared_ptr< Text > &, const unsigned)
Definition: QXPCollector.h:51
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 ~QXPParser()=default
std::shared_ptr< ParagraphRule > readParagraphRule(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:440
Color color2
Definition: QXPTypes.h:101
Definition: QXPTypes.h:126
Gradient readGradient(const std::shared_ptr< librevenge::RVNGInputStream > &stream, const Color &color1)
Definition: QXPParser.cpp:339
double x
Definition: QXPTypes.h:26
void readGroupElements(const std::shared_ptr< librevenge::RVNGInputStream > &stream, unsigned count, unsigned objectsCount, unsigned index, std::vector< unsigned > &elements)
Definition: QXPParser.cpp:560
Definition: QXPTypes.h:24
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
librevenge::RVNGString fillChar
Definition: QXPTypes.h:220
double right
Definition: QXPTypes.h:49
Definition: QXPTypes.h:46
bool singleWordJustify
Definition: QXPTypes.h:188
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
virtual std::shared_ptr< HJ > parseHJ(const std::shared_ptr< librevenge::RVNGInputStream > &stream)=0
HorizontalAlignment readHorAlign(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:392
Definition: QXPTypes.h:173
unsigned minAfter
Definition: QXPTypes.h:186
Color applyShade(double shade) const
Definition: QXPTypes.cpp:105
Definition: QXPBlockParser.h:20
TabStopType
Definition: QXPTypes.h:208
TabStopType convertTabStopType(unsigned type)
Definition: QXPParser.cpp:542
void startDocument() override
Definition: QXPContentCollector.cpp:310
unsigned minBefore
Definition: QXPTypes.h:185
double bottom
Definition: QXPTypes.h:50
Definition: QXPTextParser.h:28
librevenge::RVNGString alignChar
Definition: QXPTypes.h:221
std::shared_ptr< librevenge::RVNGInputStream > getChain(const uint32_t index)
Definition: QXPBlockParser.cpp:69
void parseCommonCharFormatProps(const std::shared_ptr< librevenge::RVNGInputStream > &stream, CharFormat &result)
Definition: QXPParser.cpp:189
QXPParser & operator=(const QXPParser &other)=delete
bool parse()
Definition: QXPParser.cpp:65
double left
Definition: QXPTypes.h:51
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 bool parseDocument(const std::shared_ptr< librevenge::RVNGInputStream > &docStream, QXPCollector &collector)=0
Definition: libqxp_utils.h:142
virtual ParagraphFormat parseParagraphFormat(const std::shared_ptr< librevenge::RVNGInputStream > &stream)=0
std::set< unsigned > m_groupObjects
Definition: QXPParser.h:58
void parseHJs(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:159
double y
Definition: QXPTypes.h:27
double angle
Definition: QXPTypes.h:102
std::vector< PageSettings > parsePageSettings(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:264
GradientType type
Definition: QXPTypes.h:99
Definition: QXPTypes.h:333
const std::shared_ptr< QXPHeader > m_header
Definition: QXPParser.h:104
Definition: QXPTypes.h:97
unsigned long getRemainingLength(librevenge::RVNGInputStream *const input)
Definition: libqxp_utils.cpp:259
void convertCharFormatFlags(unsigned flags, CharFormat &format)
Definition: QXPParser.cpp:526
void parseCharFormats(const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Definition: QXPParser.cpp:167
std::map< unsigned, LineStyle > m_lineStyles
Definition: QXPParser.h:54
Generated for libqxp by
doxygen 1.8.16