libqxp::QXP4Parser Class Reference

#include <QXP4Parser.h>

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

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

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

Referenced by parseDocument(), and parsePages().

◆ 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.8.16