libpagemaker::PMDParser Class Reference

#include <PMDParser.h>

Classes

class  RecordIterator
 
struct  ToCState
 

Public Member Functions

 PMDParser (librevenge::RVNGInputStream *, PMDCollector *)
 
void parse ()
 

Private Types

typedef std::vector< PMDRecordContainerRecordContainerList_t
 
typedef std::map< uint16_t, std::vector< unsigned > > RecordTypeMap_t
 

Private Member Functions

void parseGlobalInfo (const PMDRecordContainer &container)
 
void parseFonts ()
 
void parseColors ()
 
void parsePages (const PMDRecordContainer &container)
 
void parseShapes (uint16_t seqNum, unsigned pageID)
 
void parseLine (const PMDRecordContainer &container, unsigned recordIndex, unsigned pageID)
 
void parseTextBox (const PMDRecordContainer &container, unsigned recordIndex, unsigned pageID)
 
void parseRectangle (const PMDRecordContainer &container, unsigned recordIndex, unsigned pageID)
 
void parsePolygon (const PMDRecordContainer &container, unsigned recordIndex, unsigned pageID)
 
void parseEllipse (const PMDRecordContainer &container, unsigned recordIndex, unsigned pageID)
 
void parseBitmap (const PMDRecordContainer &container, unsigned recordIndex, unsigned pageID)
 
void parseHeader (uint32_t *tocOffset, uint16_t *tocLength)
 
void readNextRecordFromTableOfContents (ToCState &state, bool subRecord, uint16_t subRecordType=0)
 
void readTableOfContents (ToCState &state, uint32_t offset, unsigned records, bool subRecords, uint16_t subRecordType=0)
 
void parseTableOfContents (uint32_t offset, uint16_t length)
 
void parseXforms ()
 
const PMDXFormgetXForm (const uint32_t xFormId) const
 
RecordIterator beginRecordsWithSeqNumber (uint16_t seqNum) const
 
RecordIterator beginRecordsOfType (uint16_t recType) const
 
RecordIterator endRecords () const
 
PMDParseroperator= (const PMDParser &)
 
 PMDParser (const PMDParser &)
 

Private Attributes

librevenge::RVNGInputStream * m_input
 
unsigned long m_length
 
PMDCollectorm_collector
 
RecordTypeMap_t m_records
 
bool m_bigEndian
 
RecordContainerList_t m_recordsInOrder
 
std::map< uint32_t, PMDXFormm_xFormMap
 

Member Typedef Documentation

◆ RecordContainerList_t

◆ RecordTypeMap_t

typedef std::map<uint16_t, std::vector<unsigned> > libpagemaker::PMDParser::RecordTypeMap_t
private

Constructor & Destructor Documentation

◆ PMDParser() [1/2]

libpagemaker::PMDParser::PMDParser ( const PMDParser )
private

◆ PMDParser() [2/2]

libpagemaker::PMDParser::PMDParser ( librevenge::RVNGInputStream *  input,
PMDCollector collector 
)

Member Function Documentation

◆ beginRecordsOfType()

PMDParser::RecordIterator libpagemaker::PMDParser::beginRecordsOfType ( uint16_t  recType) const
private

◆ beginRecordsWithSeqNumber()

PMDParser::RecordIterator libpagemaker::PMDParser::beginRecordsWithSeqNumber ( uint16_t  seqNum) const
private

◆ endRecords()

PMDParser::RecordIterator libpagemaker::PMDParser::endRecords ( ) const
private

◆ getXForm()

const PMDXForm & libpagemaker::PMDParser::getXForm ( const uint32_t  xFormId) const
private

◆ operator=()

PMDParser& libpagemaker::PMDParser::operator= ( const PMDParser )
private

◆ parse()

void libpagemaker::PMDParser::parse ( )

◆ parseBitmap()

void libpagemaker::PMDParser::parseBitmap ( const PMDRecordContainer container,
unsigned  recordIndex,
unsigned  pageID 
)
private

Referenced by parseShapes().

◆ parseColors()

void libpagemaker::PMDParser::parseColors ( )
private

Referenced by parse().

◆ parseEllipse()

void libpagemaker::PMDParser::parseEllipse ( const PMDRecordContainer container,
unsigned  recordIndex,
unsigned  pageID 
)
private

Referenced by parseShapes().

◆ parseFonts()

void libpagemaker::PMDParser::parseFonts ( )
private

Referenced by parse().

◆ parseGlobalInfo()

void libpagemaker::PMDParser::parseGlobalInfo ( const PMDRecordContainer container)
private

Referenced by parse().

◆ parseHeader()

void libpagemaker::PMDParser::parseHeader ( uint32_t *  tocOffset,
uint16_t *  tocLength 
)
private

Referenced by parse().

◆ parseLine()

void libpagemaker::PMDParser::parseLine ( const PMDRecordContainer container,
unsigned  recordIndex,
unsigned  pageID 
)
private

Referenced by parseShapes().

◆ parsePages()

void libpagemaker::PMDParser::parsePages ( const PMDRecordContainer container)
private

Referenced by parse().

◆ parsePolygon()

void libpagemaker::PMDParser::parsePolygon ( const PMDRecordContainer container,
unsigned  recordIndex,
unsigned  pageID 
)
private

Referenced by parseShapes().

◆ parseRectangle()

void libpagemaker::PMDParser::parseRectangle ( const PMDRecordContainer container,
unsigned  recordIndex,
unsigned  pageID 
)
private

Referenced by parseShapes().

◆ parseShapes()

void libpagemaker::PMDParser::parseShapes ( uint16_t  seqNum,
unsigned  pageID 
)
private

Referenced by parsePages().

◆ parseTableOfContents()

void libpagemaker::PMDParser::parseTableOfContents ( uint32_t  offset,
uint16_t  length 
)
private

Referenced by parse().

◆ parseTextBox()

void libpagemaker::PMDParser::parseTextBox ( const PMDRecordContainer container,
unsigned  recordIndex,
unsigned  pageID 
)
private

Referenced by parseShapes().

◆ parseXforms()

void libpagemaker::PMDParser::parseXforms ( )
private

Referenced by parse().

◆ readNextRecordFromTableOfContents()

void libpagemaker::PMDParser::readNextRecordFromTableOfContents ( ToCState state,
bool  subRecord,
uint16_t  subRecordType = 0 
)
private

Referenced by readTableOfContents().

◆ readTableOfContents()

void libpagemaker::PMDParser::readTableOfContents ( ToCState state,
uint32_t  offset,
unsigned  records,
bool  subRecords,
uint16_t  subRecordType = 0 
)
private

Member Data Documentation

◆ m_bigEndian

◆ m_collector

◆ m_input

◆ m_length

unsigned long libpagemaker::PMDParser::m_length
private

Referenced by readTableOfContents().

◆ m_records

RecordTypeMap_t libpagemaker::PMDParser::m_records
private

◆ m_recordsInOrder

◆ m_xFormMap

std::map<uint32_t, PMDXForm> libpagemaker::PMDParser::m_xFormMap
private

Referenced by getXForm(), and parseXforms().


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

Generated for libpagemaker by doxygen 1.8.16