libqxp::QXP4Parser Class Reference documentation

Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
libqxp::QXP4Parser Class Reference

`#include <QXP4Parser.h>`

Inheritance diagram for libqxp::QXP4Parser:

## Classes
struct | ColorBlockSpec
struct | ObjectHeader

## Public Types
enum | ShapeType { ShapeType::UNKNOWN, ShapeType::LINE, ShapeType::ORTHOGONAL_LINE, ShapeType::BEZIER_LINE, ShapeType::RECTANGLE, ShapeType::ROUNDED_RECTANGLE, ShapeType::CONCAVE_RECTANGLE, ShapeType::BEVELED_RECTANGLE, ShapeType::OVAL, ShapeType::BEZIER_BOX }

## Public Member Functions
| QXP4Parser (const std::shared_ptr< librevenge::RVNGInputStream > &input, librevenge::RVNGDrawingInterface *painter, const std::shared_ptr< QXP4Header > &header)
Public Member Functions inherited from libqxp::QXPParser
| QXPParser (const std::shared_ptr< librevenge::RVNGInputStream > &input, librevenge::RVNGDrawingInterface *painter, const std::shared_ptr< QXPHeader > &header)
virtual | ~QXPParser ()=default
bool | parse ()

## Private Member Functions
bool | parseDocument (const std::shared_ptr< librevenge::RVNGInputStream > &docStream, QXPCollector &collector) override
bool | parsePages (const std::shared_ptr< librevenge::RVNGInputStream > &stream, QXPCollector &collector) override
void | parseColors (const std::shared_ptr< librevenge::RVNGInputStream > &docStream)
ColorBlockSpec | parseColorBlockSpec (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
void | parseColor (const std::shared_ptr< librevenge::RVNGInputStream > &stream, const std::vector< ColorBlockSpec > &blocks)
void | skipParagraphStylesheets (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
CharFormat | parseCharFormat (const std::shared_ptr< librevenge::RVNGInputStream > &stream) override
void | parseLineStyles (const std::shared_ptr< librevenge::RVNGInputStream > &docStream)
void | skipTemplates (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
void | parseTabStops (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
ParagraphFormat | parseParagraphFormat (const std::shared_ptr< librevenge::RVNGInputStream > &stream) override
std::shared_ptr< HJ > | parseHJ (const std::shared_ptr< librevenge::RVNGInputStream > &stream) override
Page | parsePage (const std::shared_ptr< librevenge::RVNGInputStream > &stream, QXP4Deobfuscator &deobfuscate)
void | parseObject (const std::shared_ptr< librevenge::RVNGInputStream > &stream, QXP4Deobfuscator &deobfuscate, QXPCollector &collector, const Page &page, unsigned index)
ObjectHeader | parseObjectHeader (const std::shared_ptr< librevenge::RVNGInputStream > &stream, QXP4Deobfuscator &deobfuscate)
void | parseLine (const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, QXPCollector &collector)
void | parseBezierLine (const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, QXPCollector &collector)
void | parseBezierEmptyBox (const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, QXPCollector &collector)
void | parseEmptyBox (const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, QXPCollector &collector)
void | parseBezierPictureBox (const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, QXPCollector &collector)
void | parsePictureBox (const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, QXPCollector &collector)
void | parseLineText (const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, QXPCollector &collector)
void | parseBezierText (const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, QXPCollector &collector)
void | parseBezierTextBox (const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, QXPCollector &collector)
void | parseTextBox (const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, QXPCollector &collector)
void | parseGroup (const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, QXPCollector &collector, const Page &page, unsigned index)
Frame | readFrame (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
bool | readRunaround (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
void | readLinkedTextSettings (const std::shared_ptr< librevenge::RVNGInputStream > &stream, LinkedTextSettings &settings)
void | readTextSettings (const std::shared_ptr< librevenge::RVNGInputStream > &stream, TextSettings &settings)
void | readTextPathSettings (const std::shared_ptr< librevenge::RVNGInputStream > &stream, TextPathSettings &settings)
void | readOleObject (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
void | readPictureSettings (const std::shared_ptr< librevenge::RVNGInputStream > &stream, std::shared_ptr< PictureBox > &picturebox)
void | readImageData (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
void | readBezierData (const std::shared_ptr< librevenge::RVNGInputStream > &stream, std::vector< CurveComponent > &curveComponents, Rect &bbox)
void | skipTextObjectEnd (const std::shared_ptr< librevenge::RVNGInputStream > &stream, const ObjectHeader &header, const LinkedTextSettings &linkedTextSettings)

## Private Attributes
const std::shared_ptr< QXP4Header > | m_header
std::vector< std::vector< TabStop > > | m_paragraphTabStops

## Additional Inherited Members
Protected Member Functions inherited from libqxp::QXPParser
Color | getColor (unsigned id, Color defaultColor=Color(0, 0, 0)) const
const LineStyle * | getLineStyle (unsigned id) const
std::string | getFont (int id, std::string defaultFont="Arial") const
void | convertCharFormatFlags (unsigned flags, CharFormat &format)
TabStopType | convertTabStopType (unsigned type)
void | skipRecord (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
void | parseFonts (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
void | parseHJs (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
void | parseCharFormats (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
void | parseCommonCharFormatProps (const std::shared_ptr< librevenge::RVNGInputStream > &stream, CharFormat &result)
void | parseHJProps (const std::shared_ptr< librevenge::RVNGInputStream > &stream, HJ &result)
TabStop | parseTabStop (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
void | parseParagraphFormats (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
void | parseCollection (const std::shared_ptr< librevenge::RVNGInputStream >stream, std::function< void()> itemHandler)
std::vector< PageSettings > | parsePageSettings (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
std::shared_ptr< Text > | parseText (unsigned index, unsigned linkId, QXPCollector &collector)
uint32_t | readRecordEndOffset (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
uint8_t | readColorComp (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Rect | readObjectBBox (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Gradient | readGradient (const std::shared_ptr< librevenge::RVNGInputStream > &stream, const Color &color1)
HorizontalAlignment | readHorAlign (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
VerticalAlignment | readVertAlign (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Point | readYX (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
std::shared_ptr< ParagraphRule > | readParagraphRule (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
uint8_t | readParagraphFlags (const std::shared_ptr< librevenge::RVNGInputStream > &stream, bool &incrementalLeading, bool &ruleAbove, bool &ruleBelow)
uint8_t | readObjectFlags (const std::shared_ptr< librevenge::RVNGInputStream > &stream, bool &noColor)
void | readGroupElements (const std::shared_ptr< librevenge::RVNGInputStream > &stream, unsigned count, unsigned objectsCount, unsigned index, std::vector< unsigned > &elements)
void | setArrow (const unsigned index, Frame &frame) const
void | skipFileInfo (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
Protected Attributes inherited from libqxp::QXPParser
const std::shared_ptr< librevenge::RVNGInputStream > | m_input
librevenge::RVNGDrawingInterface * | m_painter
const bool | be
QXPBlockParser | m_blockParser
QXPTextParser | m_textParser
std::map< unsigned, Color > | m_colors
std::map< int, std::string > | m_fonts
std::vector< std::shared_ptr< CharFormat > > | m_charFormats
std::vector< std::shared_ptr< ParagraphFormat > > | m_paragraphFormats
std::map< unsigned, LineStyle > | m_lineStyles
std::vector< Arrow > | m_arrows
std::deque< std::shared_ptr< HJ > > | m_hjs
std::set< unsigned > | m_groupObjects

## Member Enumeration Documentation

## ◆ ShapeType

enum libqxp::QXP4Parser::ShapeType
| strong

Enumerator
UNKNOWN |
LINE |
ORTHOGONAL_LINE |
BEZIER_LINE |
RECTANGLE |
ROUNDED_RECTANGLE |
CONCAVE_RECTANGLE |
BEVELED_RECTANGLE |
OVAL |
BEZIER_BOX |

## Constructor & Destructor Documentation

## ◆ QXP4Parser()

libqxp::QXP4Parser::QXP4Parser | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | input,
|  | librevenge::RVNGDrawingInterface * | painter,
|  | const std::shared_ptr< QXP4Header > & | header
| ) |  |

## Member Function Documentation

## ◆ parseBezierEmptyBox()

void libqxp::QXP4Parser::parseBezierEmptyBox | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream,
|  | const ObjectHeader & | header,
|  | QXPCollector & | collector
| ) |  |
| private

Referenced by parseObject().

## ◆ parseBezierLine()

void libqxp::QXP4Parser::parseBezierLine | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream,
|  | const ObjectHeader & | header,
|  | QXPCollector & | collector
| ) |  |
| private

Referenced by parseObject().

## ◆ parseBezierPictureBox()

void libqxp::QXP4Parser::parseBezierPictureBox | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream,
|  | const ObjectHeader & | header,
|  | QXPCollector & | collector
| ) |  |
| private

Referenced by parseObject().

## ◆ parseBezierText()

void libqxp::QXP4Parser::parseBezierText | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream,
|  | const ObjectHeader & | header,
|  | QXPCollector & | collector
| ) |  |
| private

Referenced by parseObject().

## ◆ parseBezierTextBox()

void libqxp::QXP4Parser::parseBezierTextBox | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream,
|  | const ObjectHeader & | header,
|  | QXPCollector & | collector
| ) |  |
| private

Referenced by parseObject().

## ◆ parseCharFormat()

CharFormat libqxp::QXP4Parser::parseCharFormat | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream | ) |
| overrideprivatevirtual

Implements libqxp::QXPParser.

## ◆ parseColor()

void libqxp::QXP4Parser::parseColor | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream,
|  | const std::vector< ColorBlockSpec > & | blocks
| ) |  |
| private

Referenced by parseColors().

## ◆ parseColorBlockSpec()

QXP4Parser::ColorBlockSpec libqxp::QXP4Parser::parseColorBlockSpec | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream | ) |
| private

Referenced by parseColors().

## ◆ parseColors()

void libqxp::QXP4Parser::parseColors | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | docStream | ) |
| private

Referenced by parseDocument().

## ◆ parseDocument()

bool libqxp::QXP4Parser::parseDocument | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | docStream,
|  | QXPCollector & | collector
| ) |  |
| overrideprivatevirtual

Implements libqxp::QXPParser.

## ◆ parseEmptyBox()

void libqxp::QXP4Parser::parseEmptyBox | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream,
|  | const ObjectHeader & | header,
|  | QXPCollector & | collector
| ) |  |
| private

Referenced by parseObject().

## ◆ parseGroup()

void libqxp::QXP4Parser::parseGroup | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream,
|  | const ObjectHeader & | header,
|  | QXPCollector & | collector,
|  | const Page & | page,
|  | unsigned | index
| ) |  |
| private

Referenced by parseObject().

## ◆ parseHJ()

std::shared_ptr< HJ > libqxp::QXP4Parser::parseHJ | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream | ) |
| overrideprivatevirtual

Implements libqxp::QXPParser.

## ◆ parseLine()

void libqxp::QXP4Parser::parseLine | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream,
|  | const ObjectHeader & | header,
|  | QXPCollector & | collector
| ) |  |
| private

Referenced by parseObject().

## ◆ parseLineStyles()

void libqxp::QXP4Parser::parseLineStyles | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | docStream | ) |
| private

Referenced by parseDocument().

## ◆ parseLineText()

void libqxp::QXP4Parser::parseLineText | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream,
|  | const ObjectHeader & | header,
|  | QXPCollector & | collector
| ) |  |
| private

Referenced by parseObject().

## ◆ parseObject()

void libqxp::QXP4Parser::parseObject | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream,
|  | QXP4Deobfuscator & | deobfuscate,
|  | QXPCollector & | collector,
|  | const Page & | page,
|  | unsigned | index
| ) |  |
| private

Referenced by parsePages().

## ◆ parseObjectHeader()

QXP4Parser::ObjectHeader libqxp::QXP4Parser::parseObjectHeader | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream,
|  | QXP4Deobfuscator & | deobfuscate
| ) |  |
| private

Referenced by parseObject().

## ◆ parsePage()

Page libqxp::QXP4Parser::parsePage | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream,
|  | QXP4Deobfuscator & | deobfuscate
| ) |  |
| private

Referenced by parsePages().

## ◆ parsePages()

bool libqxp::QXP4Parser::parsePages | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream,
|  | QXPCollector & | collector
| ) |  |
| overrideprivatevirtual

Implements libqxp::QXPParser.

## ◆ parseParagraphFormat()

ParagraphFormat libqxp::QXP4Parser::parseParagraphFormat | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream | ) |
| overrideprivatevirtual

Implements libqxp::QXPParser.

## ◆ parsePictureBox()

void libqxp::QXP4Parser::parsePictureBox | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream,
|  | const ObjectHeader & | header,
|  | QXPCollector & | collector
| ) |  |
| private

Referenced by parseObject().

## ◆ parseTabStops()

void libqxp::QXP4Parser::parseTabStops | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream | ) |
| private

Referenced by parseDocument().

## ◆ parseTextBox()

void libqxp::QXP4Parser::parseTextBox | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream,
|  | const ObjectHeader & | header,
|  | QXPCollector & | collector
| ) |  |
| private

Referenced by parseObject().

## ◆ readBezierData()

void libqxp::QXP4Parser::readBezierData | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream,
|  | std::vector< CurveComponent > & | curveComponents,
|  | Rect & | bbox
| ) |  |
| private

Referenced by parseBezierEmptyBox(), parseBezierLine(), parseBezierPictureBox(), parseBezierText(), and parseBezierTextBox().

## ◆ readFrame()

Frame libqxp::QXP4Parser::readFrame | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream | ) |
| private

Referenced by parseBezierEmptyBox(), parseBezierLine(), parseBezierPictureBox(), parseBezierText(), parseBezierTextBox(), parseEmptyBox(), parseLine(), parseLineText(), parsePictureBox(), and parseTextBox().

## ◆ readImageData()

void libqxp::QXP4Parser::readImageData | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream | ) |
| private

Referenced by parseBezierPictureBox(), and parsePictureBox().

## ◆ readLinkedTextSettings()

void libqxp::QXP4Parser::readLinkedTextSettings | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream,
|  | LinkedTextSettings & | settings
| ) |  |
| private

Referenced by parseBezierText(), parseBezierTextBox(), parseLineText(), and parseTextBox().

## ◆ readOleObject()

void libqxp::QXP4Parser::readOleObject | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream | ) |
| private

Referenced by parseBezierPictureBox(), and parsePictureBox().

## ◆ readPictureSettings()

void libqxp::QXP4Parser::readPictureSettings | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream,
|  | std::shared_ptr< PictureBox > & | picturebox
| ) |  |
| private

Referenced by parseBezierPictureBox(), and parsePictureBox().

## ◆ readRunaround()

bool libqxp::QXP4Parser::readRunaround | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream | ) |
| private

Referenced by parseBezierEmptyBox(), parseBezierLine(), parseBezierPictureBox(), parseBezierText(), parseBezierTextBox(), parseEmptyBox(), parseLine(), parseLineText(), parsePictureBox(), and parseTextBox().

## ◆ readTextPathSettings()

void libqxp::QXP4Parser::readTextPathSettings | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream,
|  | TextPathSettings & | settings
| ) |  |
| private

Referenced by parseBezierText(), and parseLineText().

## ◆ readTextSettings()

void libqxp::QXP4Parser::readTextSettings | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream,
|  | TextSettings & | settings
| ) |  |
| private

Referenced by parseBezierTextBox(), and parseTextBox().

## ◆ skipParagraphStylesheets()

void libqxp::QXP4Parser::skipParagraphStylesheets | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream | ) |
| private

Referenced by parseDocument().

## ◆ skipTemplates()

void libqxp::QXP4Parser::skipTemplates | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream | ) |
| private

Referenced by parseDocument().

## ◆ skipTextObjectEnd()

void libqxp::QXP4Parser::skipTextObjectEnd | ( | const std::shared_ptr< librevenge::RVNGInputStream > & | stream,
|  | const ObjectHeader & | header,
|  | const LinkedTextSettings & | linkedTextSettings
| ) |  |
| private

Referenced by parseBezierText(), parseBezierTextBox(), parseLineText(), and parseTextBox().

## Member Data Documentation

## ◆ m_header

const std::shared_ptr<QXP4Header> libqxp::QXP4Parser::m_header
| private

Referenced by parseDocument(), and parsePages().

## ◆ m_paragraphTabStops

std::vector<std::vector<TabStop> > libqxp::QXP4Parser::m_paragraphTabStops
| private

Referenced by parseParagraphFormat(), and parseTabStops().

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

- QXP4Parser.h
- QXP4Parser.cpp