libqxp::QXP4Parser Class Reference

`#include <QXP4Parser.h>`

Inheritance diagram for libqxp::QXP4Parser:

## Classes

struct | ObjectHeader
struct | ColorBlockSpec

## Public Types

enum class | ShapeType { UNKNOWN , LINE , ORTHOGONAL_LINE , BEZIER_LINE , RECTANGLE , ROUNDED_RECTANGLE , CONCAVE_RECTANGLE , BEVELED_RECTANGLE , OVAL , 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 class 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 | ) |

override private virtual

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 )

override private virtual

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

override private virtual

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 )

override private virtual

Implements libqxp::QXPParser.

## parseParagraphFormat()

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

override private virtual

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(), parsePages(), and QXP4Parser().

## m_paragraphTabStops

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

private

Referenced by parseParagraphFormat(), parseTabStops(), and QXP4Parser().

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

- QXP4Parser.h
- QXP4Parser.cpp