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

Enumerator
UNKNOWN 
LINE 
ORTHOGONAL_LINE 
BEZIER_LINE 
RECTANGLE 
ROUNDED_RECTANGLE 
CONCAVE_RECTANGLE 
BEVELED_RECTANGLE 
OVAL 
BEZIER_BOX 

Constructor & Destructor Documentation

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

Member Function Documentation

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

Referenced by parseObject().

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

Referenced by parseObject().

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

Referenced by parseObject().

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

Referenced by parseObject().

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

Referenced by parseObject().

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

Implements libqxp::QXPParser.

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

Referenced by parseColors().

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

Referenced by parseColors().

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

Referenced by parseDocument().

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

Implements libqxp::QXPParser.

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

Referenced by parseObject().

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

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

Implements libqxp::QXPParser.

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

Referenced by parseObject().

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

Referenced by parseDocument().

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

Referenced by 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().

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

Referenced by parseObject().

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

Referenced by parsePages().

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

Implements libqxp::QXPParser.

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

Implements libqxp::QXPParser.

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

Referenced by parseObject().

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

Referenced by parseDocument().

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

Referenced by parseObject().

void libqxp::QXP4Parser::readBezierData ( const std::shared_ptr< librevenge::RVNGInputStream > &  stream,
std::vector< CurveComponent > &  curveComponents,
Rect bbox 
)
private
Frame libqxp::QXP4Parser::readFrame ( const std::shared_ptr< librevenge::RVNGInputStream > &  stream)
private
void libqxp::QXP4Parser::readImageData ( const std::shared_ptr< librevenge::RVNGInputStream > &  stream)
private
void libqxp::QXP4Parser::readLinkedTextSettings ( const std::shared_ptr< librevenge::RVNGInputStream > &  stream,
LinkedTextSettings settings 
)
private
void libqxp::QXP4Parser::readOleObject ( const std::shared_ptr< librevenge::RVNGInputStream > &  stream)
private
void libqxp::QXP4Parser::readPictureSettings ( const std::shared_ptr< librevenge::RVNGInputStream > &  stream,
std::shared_ptr< PictureBox > &  picturebox 
)
private
bool libqxp::QXP4Parser::readRunaround ( const std::shared_ptr< librevenge::RVNGInputStream > &  stream)
private
void libqxp::QXP4Parser::readTextPathSettings ( const std::shared_ptr< librevenge::RVNGInputStream > &  stream,
TextPathSettings settings 
)
private

Referenced by parseBezierText(), and parseLineText().

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

Referenced by parseBezierTextBox(), and parseTextBox().

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

Referenced by parseDocument().

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

Referenced by parseDocument().

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

Member Data Documentation

const std::shared_ptr<QXP4Header> libqxp::QXP4Parser::m_header
private
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.11