libqxp::QXP33Parser Class Reference

#include <QXP33Parser.h>

Inheritance diagram for libqxp::QXP33Parser:
libqxp::QXPParser

Classes

struct  ObjectHeader

Public Types

enum class  ShapeType {
  UNKNOWN , LINE , ORTHOGONAL_LINE , RECTANGLE ,
  CORNERED_RECTANGLE , OVAL , POLYGON
}

Public Member Functions

 QXP33Parser (const std::shared_ptr< librevenge::RVNGInputStream > &input, librevenge::RVNGDrawingInterface *painter, const std::shared_ptr< QXP33Header > &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 > &pagesStream, QXPCollector &collector) override
void parseColors (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
CharFormat parseCharFormat (const std::shared_ptr< librevenge::RVNGInputStream > &stream) override
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)
void parseObject (const std::shared_ptr< librevenge::RVNGInputStream > &stream, QXP33Deobfuscator &deobfuscate, QXPCollector &collector, const Page &page, unsigned index)
ObjectHeader parseObjectHeader (const std::shared_ptr< librevenge::RVNGInputStream > &stream, QXP33Deobfuscator &deobfuscate)
void readObjectFlags (const std::shared_ptr< librevenge::RVNGInputStream > &stream, bool &noColor, bool &noRunaround)
void parseLine (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 parsePictureBox (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 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)
std::vector< PointreadPolygonData (const std::shared_ptr< librevenge::RVNGInputStream > &stream)
std::string readName (const std::shared_ptr< librevenge::RVNGInputStream > &stream)

Private Attributes

const std::shared_ptr< QXP33Headerm_header

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::QXP33Parser::ShapeType
strong
Enumerator
UNKNOWN 
LINE 
ORTHOGONAL_LINE 
RECTANGLE 
CORNERED_RECTANGLE 
OVAL 
POLYGON 

Constructor & Destructor Documentation

◆ QXP33Parser()

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

Member Function Documentation

◆ parseCharFormat()

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

Implements libqxp::QXPParser.

◆ parseColors()

void libqxp::QXP33Parser::parseColors ( const std::shared_ptr< librevenge::RVNGInputStream > & stream)
private

Referenced by parseDocument().

◆ parseDocument()

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

Implements libqxp::QXPParser.

◆ parseEmptyBox()

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

Referenced by parseObject().

◆ parseGroup()

void libqxp::QXP33Parser::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::QXP33Parser::parseHJ ( const std::shared_ptr< librevenge::RVNGInputStream > & stream)
overrideprivatevirtual

Implements libqxp::QXPParser.

◆ parseLine()

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

Referenced by parseObject().

◆ parseObject()

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

Referenced by parsePages().

◆ parseObjectHeader()

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

Referenced by parseObject().

◆ parsePage()

Page libqxp::QXP33Parser::parsePage ( const std::shared_ptr< librevenge::RVNGInputStream > & stream)
private

Referenced by parsePages().

◆ parsePages()

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

Implements libqxp::QXPParser.

◆ parseParagraphFormat()

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

Implements libqxp::QXPParser.

◆ parsePictureBox()

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

Referenced by parseObject().

◆ parseTextBox()

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

Referenced by parseObject().

◆ readFrame()

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

◆ readName()

std::string libqxp::QXP33Parser::readName ( const std::shared_ptr< librevenge::RVNGInputStream > & stream)
private

Referenced by parseColors(), and parseHJ().

◆ readObjectFlags()

void libqxp::QXP33Parser::readObjectFlags ( const std::shared_ptr< librevenge::RVNGInputStream > & stream,
bool & noColor,
bool & noRunaround )
private

Referenced by parseObjectHeader().

◆ readPolygonData()

std::vector< Point > libqxp::QXP33Parser::readPolygonData ( const std::shared_ptr< librevenge::RVNGInputStream > & stream)
private

Member Data Documentation

◆ m_header

const std::shared_ptr<QXP33Header> libqxp::QXP33Parser::m_header
private

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

Generated for libqxp by doxygen 1.14.0