libqxp::QXP4Parser Class Reference

#include <QXP4Parser.h>

Inheritance diagram for libqxp::QXP4Parser:
libqxp::QXPParser

Classes

struct  ColorBlockSpec
struct  ObjectHeader

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< HJparseHJ (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< QXP4Headerm_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 LineStylegetLineStyle (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< PageSettingsparsePageSettings (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
std::shared_ptr< TextparseText (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< ParagraphRulereadParagraphRule (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, Colorm_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, LineStylem_lineStyles
std::vector< Arrowm_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)
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

◆ readFrame()

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

◆ readImageData()

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

◆ readLinkedTextSettings()

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

◆ readOleObject()

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

◆ readPictureSettings()

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

◆ readRunaround()

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

◆ 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

Member Data Documentation

◆ m_header

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

◆ m_paragraphTabStops

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

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

Generated for libqxp by doxygen 1.14.0