libcdr::CMXParser Class Reference

#include <CMXParser.h>

Inheritance diagram for libcdr::CMXParser:
libcdr::CommonParser

Public Member Functions

 CMXParser (CDRCollector *collector, CMXParserState &parserState)
 
 ~CMXParser () override
 
bool parseRecords (librevenge::RVNGInputStream *input, long size=-1, unsigned level=0)
 

Private Member Functions

 CMXParser ()
 
 CMXParser (const CMXParser &)
 
CMXParseroperator= (const CMXParser &)
 
bool parseRecord (librevenge::RVNGInputStream *input, unsigned level=0)
 
void readRecord (unsigned fourCC, unsigned long length, librevenge::RVNGInputStream *input)
 
void parseImage (librevenge::RVNGInputStream *input)
 
void readCMXHeader (librevenge::RVNGInputStream *input)
 
void readDisp (librevenge::RVNGInputStream *input)
 
void readPage (librevenge::RVNGInputStream *input)
 
void readProc (librevenge::RVNGInputStream *input)
 
void readRclr (librevenge::RVNGInputStream *input)
 
void readRotl (librevenge::RVNGInputStream *input)
 
void readRott (librevenge::RVNGInputStream *input)
 
void readRdot (librevenge::RVNGInputStream *input)
 
void readRpen (librevenge::RVNGInputStream *input)
 
void readIxtl (librevenge::RVNGInputStream *input)
 
void readIxef (librevenge::RVNGInputStream *input)
 
void readIxmr (librevenge::RVNGInputStream *input)
 
void readIxpg (librevenge::RVNGInputStream *input)
 
void readIxpc (librevenge::RVNGInputStream *input)
 
void readInfo (librevenge::RVNGInputStream *input)
 
void readData (librevenge::RVNGInputStream *input)
 
void readCommands (librevenge::RVNGInputStream *input, unsigned length)
 
void readBeginPage (librevenge::RVNGInputStream *input)
 
void readBeginLayer (librevenge::RVNGInputStream *input)
 
void readBeginGroup (librevenge::RVNGInputStream *input)
 
void readPolyCurve (librevenge::RVNGInputStream *input)
 
void readEllipse (librevenge::RVNGInputStream *input)
 
void readRectangle (librevenge::RVNGInputStream *input)
 
void readJumpAbsolute (librevenge::RVNGInputStream *input)
 
void readDrawImage (librevenge::RVNGInputStream *input)
 
void readBeginProcedure (librevenge::RVNGInputStream *input)
 
CDRTransform readMatrix (librevenge::RVNGInputStream *input)
 
CDRBox readBBox (librevenge::RVNGInputStream *input)
 
librevenge::RVNGString readString (librevenge::RVNGInputStream *input)
 
bool readFill (librevenge::RVNGInputStream *input)
 
bool readLens (librevenge::RVNGInputStream *input)
 
bool readRenderingAttributes (librevenge::RVNGInputStream *input)
 
CDRColor getPaletteColor (unsigned id)
 
CDRColor readColor (librevenge::RVNGInputStream *input, unsigned char colorModel)
 
CDRLineStyle getLineStyle (unsigned id)
 
const unsigned * _getOffsetByType (unsigned short type, const std::map< unsigned short, unsigned > &offsets)
 

Private Attributes

bool m_bigEndian
 
unsigned short m_unit
 
double m_scale
 
double m_xmin
 
double m_xmax
 
double m_ymin
 
double m_ymax
 
unsigned m_fillIndex
 
unsigned long m_nextInstructionOffset
 
CMXParserStatem_parserState
 
CMXImageInfo m_currentImageInfo
 
std::unique_ptr< CDRPatternm_currentPattern
 
std::unique_ptr< CDRBitmapm_currentBitmap
 

Additional Inherited Members

- Protected Member Functions inherited from libcdr::CommonParser
double readCoordinate (librevenge::RVNGInputStream *input, bool bigEndian=false)
 
unsigned readUnsigned (librevenge::RVNGInputStream *input, bool bigEndian=false)
 
unsigned short readUnsignedShort (librevenge::RVNGInputStream *input, bool bigEndian=false)
 
int readInteger (librevenge::RVNGInputStream *input, bool bigEndian=false)
 
double readAngle (librevenge::RVNGInputStream *input, bool bigEndian=false)
 
void readRImage (unsigned &colorModel, unsigned &width, unsigned &height, unsigned &bpp, std::vector< unsigned > &palette, std::vector< unsigned char > &bitmap, librevenge::RVNGInputStream *input, bool bigEndian=false)
 
void readBmpPattern (unsigned &width, unsigned &height, std::vector< unsigned char > &pattern, unsigned length, librevenge::RVNGInputStream *input, bool bigEndian=false)
 
void processPath (const std::vector< std::pair< double, double > > &points, const std::vector< unsigned char > &types, CDRPath &path)
 
void outputPath (const std::vector< std::pair< double, double > > &points, const std::vector< unsigned char > &types)
 
 CommonParser (CDRCollector *collector)
 
virtual ~CommonParser ()
 
- Protected Attributes inherited from libcdr::CommonParser
CDRCollectorm_collector
 
CoordinatePrecision m_precision
 

Constructor & Destructor Documentation

◆ CMXParser() [1/3]

libcdr::CMXParser::CMXParser ( libcdr::CDRCollector * collector,
CMXParserState & parserState )
explicit

Referenced by CMXParser(), and operator=().

◆ ~CMXParser()

libcdr::CMXParser::~CMXParser ( )
override

◆ CMXParser() [2/3]

libcdr::CMXParser::CMXParser ( )
private

◆ CMXParser() [3/3]

libcdr::CMXParser::CMXParser ( const CMXParser & )
private

Member Function Documentation

◆ _getOffsetByType()

const unsigned * libcdr::CMXParser::_getOffsetByType ( unsigned short type,
const std::map< unsigned short, unsigned > & offsets )
private

Referenced by readIxmr().

◆ getLineStyle()

libcdr::CDRLineStyle libcdr::CMXParser::getLineStyle ( unsigned id)
private

Referenced by readRenderingAttributes().

◆ getPaletteColor()

libcdr::CDRColor libcdr::CMXParser::getPaletteColor ( unsigned id)
private

Referenced by getLineStyle(), and readFill().

◆ operator=()

CMXParser & libcdr::CMXParser::operator= ( const CMXParser & )
private

◆ parseImage()

void libcdr::CMXParser::parseImage ( librevenge::RVNGInputStream * input)
private

Referenced by readIxef(), and readIxtl().

◆ parseRecord()

bool libcdr::CMXParser::parseRecord ( librevenge::RVNGInputStream * input,
unsigned level = 0 )
private

Referenced by parseRecords().

◆ parseRecords()

bool libcdr::CMXParser::parseRecords ( librevenge::RVNGInputStream * input,
long size = -1,
unsigned level = 0 )

◆ readBBox()

libcdr::CDRBox libcdr::CMXParser::readBBox ( librevenge::RVNGInputStream * input)
private

◆ readBeginGroup()

void libcdr::CMXParser::readBeginGroup ( librevenge::RVNGInputStream * input)
private

Referenced by readCommands().

◆ readBeginLayer()

void libcdr::CMXParser::readBeginLayer ( librevenge::RVNGInputStream * input)
private

Referenced by readCommands().

◆ readBeginPage()

void libcdr::CMXParser::readBeginPage ( librevenge::RVNGInputStream * input)
private

Referenced by readCommands().

◆ readBeginProcedure()

void libcdr::CMXParser::readBeginProcedure ( librevenge::RVNGInputStream * input)
private

◆ readCMXHeader()

void libcdr::CMXParser::readCMXHeader ( librevenge::RVNGInputStream * input)
private

Referenced by readRecord().

◆ readColor()

libcdr::CDRColor libcdr::CMXParser::readColor ( librevenge::RVNGInputStream * input,
unsigned char colorModel )
private

Referenced by readRclr().

◆ readCommands()

void libcdr::CMXParser::readCommands ( librevenge::RVNGInputStream * input,
unsigned length )
private

Referenced by readPage(), and readProc().

◆ readData()

void libcdr::CMXParser::readData ( librevenge::RVNGInputStream * input)
private

Referenced by readRecord().

◆ readDisp()

void libcdr::CMXParser::readDisp ( librevenge::RVNGInputStream * input)
private

Referenced by readCMXHeader().

◆ readDrawImage()

void libcdr::CMXParser::readDrawImage ( librevenge::RVNGInputStream * input)
private

Referenced by readCommands().

◆ readEllipse()

void libcdr::CMXParser::readEllipse ( librevenge::RVNGInputStream * input)
private

Referenced by readCommands().

◆ readFill()

bool libcdr::CMXParser::readFill ( librevenge::RVNGInputStream * input)
private

Referenced by readRenderingAttributes().

◆ readInfo()

void libcdr::CMXParser::readInfo ( librevenge::RVNGInputStream * input)
private

Referenced by readRecord().

◆ readIxef()

void libcdr::CMXParser::readIxef ( librevenge::RVNGInputStream * input)
private

Referenced by readIxmr().

◆ readIxmr()

void libcdr::CMXParser::readIxmr ( librevenge::RVNGInputStream * input)
private

Referenced by readCMXHeader().

◆ readIxpc()

void libcdr::CMXParser::readIxpc ( librevenge::RVNGInputStream * input)
private

Referenced by readIxmr().

◆ readIxpg()

void libcdr::CMXParser::readIxpg ( librevenge::RVNGInputStream * input)
private

Referenced by readIxmr().

◆ readIxtl()

void libcdr::CMXParser::readIxtl ( librevenge::RVNGInputStream * input)
private

Referenced by readIxmr().

◆ readJumpAbsolute()

void libcdr::CMXParser::readJumpAbsolute ( librevenge::RVNGInputStream * input)
private

Referenced by readCommands().

◆ readLens()

bool libcdr::CMXParser::readLens ( librevenge::RVNGInputStream * input)
private

Referenced by readRenderingAttributes().

◆ readMatrix()

libcdr::CDRTransform libcdr::CMXParser::readMatrix ( librevenge::RVNGInputStream * input)
private

◆ readPage()

void libcdr::CMXParser::readPage ( librevenge::RVNGInputStream * input)
private

Referenced by readIxpg().

◆ readPolyCurve()

void libcdr::CMXParser::readPolyCurve ( librevenge::RVNGInputStream * input)
private

Referenced by readCommands().

◆ readProc()

void libcdr::CMXParser::readProc ( librevenge::RVNGInputStream * input)
private

Referenced by readIxpc().

◆ readRclr()

void libcdr::CMXParser::readRclr ( librevenge::RVNGInputStream * input)
private

Referenced by readIxmr().

◆ readRdot()

void libcdr::CMXParser::readRdot ( librevenge::RVNGInputStream * input)
private

Referenced by readIxmr().

◆ readRecord()

void libcdr::CMXParser::readRecord ( unsigned fourCC,
unsigned long length,
librevenge::RVNGInputStream * input )
private

Referenced by parseRecord().

◆ readRectangle()

void libcdr::CMXParser::readRectangle ( librevenge::RVNGInputStream * input)
private

Referenced by readCommands().

◆ readRenderingAttributes()

bool libcdr::CMXParser::readRenderingAttributes ( librevenge::RVNGInputStream * input)
private

◆ readRotl()

void libcdr::CMXParser::readRotl ( librevenge::RVNGInputStream * input)
private

Referenced by readIxmr().

◆ readRott()

void libcdr::CMXParser::readRott ( librevenge::RVNGInputStream * input)
private

Referenced by readIxmr().

◆ readRpen()

void libcdr::CMXParser::readRpen ( librevenge::RVNGInputStream * input)
private

Referenced by readIxmr().

◆ readString()

librevenge::RVNGString libcdr::CMXParser::readString ( librevenge::RVNGInputStream * input)
private

Referenced by readFill().

Member Data Documentation

◆ m_bigEndian

◆ m_currentBitmap

std::unique_ptr<CDRBitmap> libcdr::CMXParser::m_currentBitmap
private

Referenced by CMXParser(), readData(), and readIxef().

◆ m_currentImageInfo

CMXImageInfo libcdr::CMXParser::m_currentImageInfo
private

Referenced by CMXParser(), readData(), and readInfo().

◆ m_currentPattern

std::unique_ptr<CDRPattern> libcdr::CMXParser::m_currentPattern
private

Referenced by CMXParser(), readData(), and readIxtl().

◆ m_fillIndex

unsigned libcdr::CMXParser::m_fillIndex
private

Referenced by CMXParser().

◆ m_nextInstructionOffset

unsigned long libcdr::CMXParser::m_nextInstructionOffset
private

◆ m_parserState

CMXParserState& libcdr::CMXParser::m_parserState
private

◆ m_scale

double libcdr::CMXParser::m_scale
private

Referenced by CMXParser(), and readCMXHeader().

◆ m_unit

unsigned short libcdr::CMXParser::m_unit
private

Referenced by CMXParser(), and readCMXHeader().

◆ m_xmax

double libcdr::CMXParser::m_xmax
private

Referenced by CMXParser().

◆ m_xmin

double libcdr::CMXParser::m_xmin
private

Referenced by CMXParser().

◆ m_ymax

double libcdr::CMXParser::m_ymax
private

Referenced by CMXParser().

◆ m_ymin

double libcdr::CMXParser::m_ymin
private

Referenced by CMXParser().


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

Generated for libcdr by doxygen 1.13.2