libvisio::VSDParser Class Reference

#include <VSDParser.h>

Inheritance diagram for libvisio::VSDParser:
libvisio::VSD6Parser libvisio::VSD5Parser

Public Member Functions

 VSDParser (librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter, librevenge::RVNGInputStream *container=nullptr)
 
virtual ~VSDParser ()
 
bool parseMain ()
 
bool extractStencils ()
 

Protected Member Functions

void readEllipticalArcTo (librevenge::RVNGInputStream *input)
 
void readForeignData (librevenge::RVNGInputStream *input)
 
void readEllipse (librevenge::RVNGInputStream *input)
 
virtual void readLine (librevenge::RVNGInputStream *input)
 
virtual void readFillAndShadow (librevenge::RVNGInputStream *input)
 
virtual void readGeomList (librevenge::RVNGInputStream *input)
 
void readGeometry (librevenge::RVNGInputStream *input)
 
void readMoveTo (librevenge::RVNGInputStream *input)
 
void readLineTo (librevenge::RVNGInputStream *input)
 
void readArcTo (librevenge::RVNGInputStream *input)
 
void readNURBSTo (librevenge::RVNGInputStream *input)
 
void readPolylineTo (librevenge::RVNGInputStream *input)
 
void readInfiniteLine (librevenge::RVNGInputStream *input)
 
void readShapeData (librevenge::RVNGInputStream *input)
 
void readXFormData (librevenge::RVNGInputStream *input)
 
virtual void readXForm1D (librevenge::RVNGInputStream *input)
 
void readTxtXForm (librevenge::RVNGInputStream *input)
 
void readShapeId (librevenge::RVNGInputStream *input)
 
virtual void readShapeList (librevenge::RVNGInputStream *input)
 
void readForeignDataType (librevenge::RVNGInputStream *input)
 
void readPageProps (librevenge::RVNGInputStream *input)
 
virtual void readShape (librevenge::RVNGInputStream *input)
 
void readColours (librevenge::RVNGInputStream *input)
 
void readFont (librevenge::RVNGInputStream *input)
 
void readFontIX (librevenge::RVNGInputStream *input)
 
virtual void readCharList (librevenge::RVNGInputStream *input)
 
virtual void readParaList (librevenge::RVNGInputStream *input)
 
virtual void readPropList (librevenge::RVNGInputStream *input)
 
virtual void readPage (librevenge::RVNGInputStream *input)
 
virtual void readText (librevenge::RVNGInputStream *input)
 
virtual void readCharIX (librevenge::RVNGInputStream *input)
 
virtual void readParaIX (librevenge::RVNGInputStream *input)
 
virtual void readTextBlock (librevenge::RVNGInputStream *input)
 
virtual void readTabsDataList (librevenge::RVNGInputStream *input)
 
virtual void readTabsData (librevenge::RVNGInputStream *input)
 
void readNameList (librevenge::RVNGInputStream *input)
 
virtual void readName (librevenge::RVNGInputStream *input)
 
virtual void readNameList2 (librevenge::RVNGInputStream *input)
 
virtual void readName2 (librevenge::RVNGInputStream *input)
 
virtual void readFieldList (librevenge::RVNGInputStream *input)
 
virtual void readTextField (librevenge::RVNGInputStream *input)
 
virtual void readStyleSheet (librevenge::RVNGInputStream *input)
 
void readPageSheet (librevenge::RVNGInputStream *input)
 
void readSplineStart (librevenge::RVNGInputStream *input)
 
void readSplineKnot (librevenge::RVNGInputStream *input)
 
void readStencilShape (librevenge::RVNGInputStream *input)
 
void readOLEList (librevenge::RVNGInputStream *input)
 
void readOLEData (librevenge::RVNGInputStream *input)
 
virtual void readNameIDX (librevenge::RVNGInputStream *input)
 
virtual void readNameIDX123 (librevenge::RVNGInputStream *input)
 
virtual void readMisc (librevenge::RVNGInputStream *input)
 
virtual void readLayerList (librevenge::RVNGInputStream *input)
 
virtual void readLayer (librevenge::RVNGInputStream *input)
 
virtual void readLayerMem (librevenge::RVNGInputStream *input)
 
bool parseDocument (librevenge::RVNGInputStream *input, unsigned shift)
 
void parseMetaData ()
 
void handleStreams (librevenge::RVNGInputStream *input, unsigned ptrType, unsigned shift, unsigned level, std::set< unsigned > &visited)
 
void handleStream (const Pointer &ptr, unsigned idx, unsigned level, std::set< unsigned > &visited)
 
void handleChunks (librevenge::RVNGInputStream *input, unsigned level)
 
void handleChunk (librevenge::RVNGInputStream *input)
 
void handleBlob (librevenge::RVNGInputStream *input, unsigned shift, unsigned level)
 
virtual void readPointer (librevenge::RVNGInputStream *input, Pointer &ptr)
 
virtual void readPointerInfo (librevenge::RVNGInputStream *input, unsigned ptrType, unsigned shift, unsigned &listSize, int &pointerCount)
 
virtual bool getChunkHeader (librevenge::RVNGInputStream *input)
 
void _handleLevelChange (unsigned level)
 
Colour _colourFromIndex (unsigned idx)
 
void _flushShape ()
 
void _nameFromId (VSDName &name, unsigned id, unsigned level)
 
virtual unsigned getUInt (librevenge::RVNGInputStream *input)
 
virtual int getInt (librevenge::RVNGInputStream *input)
 

Protected Attributes

librevenge::RVNGInputStream * m_input
 
librevenge::RVNGDrawingInterface * m_painter
 
librevenge::RVNGInputStream * m_container
 
ChunkHeader m_header
 
VSDCollectorm_collector
 
VSDShapeList m_shapeList
 
unsigned m_currentLevel
 
VSDStencils m_stencils
 
VSDStencilm_currentStencil
 
VSDShape m_shape
 
bool m_isStencilStarted
 
bool m_isInStyles
 
unsigned m_currentShapeLevel
 
unsigned m_currentShapeID
 
unsigned m_currentLayerListLevel
 
bool m_extractStencils
 
std::vector< Colourm_colours
 
bool m_isBackgroundPage
 
bool m_isShapeStarted
 
double m_shadowOffsetX
 
double m_shadowOffsetY
 
VSDGeometryListm_currentGeometryList
 
unsigned m_currentGeomListCount
 
std::map< unsigned, VSDNamem_fonts
 
std::map< unsigned, VSDNamem_names
 
std::map< unsigned, std::map< unsigned, VSDName > > m_namesMapMap
 
VSDName m_currentPageName
 
std::map< unsigned, VSDTabStop > * m_currentTabSet
 

Private Member Functions

 VSDParser ()
 
 VSDParser (const VSDParser &)
 
VSDParseroperator= (const VSDParser &)
 

Constructor & Destructor Documentation

◆ VSDParser() [1/3]

libvisio::VSDParser::VSDParser ( librevenge::RVNGInputStream *  input,
librevenge::RVNGDrawingInterface *  painter,
librevenge::RVNGInputStream *  container = nullptr 
)
explicit

◆ ~VSDParser()

libvisio::VSDParser::~VSDParser ( )
virtual

◆ VSDParser() [2/3]

libvisio::VSDParser::VSDParser ( )
private

◆ VSDParser() [3/3]

libvisio::VSDParser::VSDParser ( const VSDParser )
private

Member Function Documentation

◆ _colourFromIndex()

libvisio::Colour libvisio::VSDParser::_colourFromIndex ( unsigned  idx)
protected

◆ _flushShape()

void libvisio::VSDParser::_flushShape ( )
protected

◆ _handleLevelChange()

void libvisio::VSDParser::_handleLevelChange ( unsigned  level)
protected

◆ _nameFromId()

void libvisio::VSDParser::_nameFromId ( VSDName name,
unsigned  id,
unsigned  level 
)
protected

◆ extractStencils()

bool libvisio::VSDParser::extractStencils ( )

◆ getChunkHeader()

bool libvisio::VSDParser::getChunkHeader ( librevenge::RVNGInputStream *  input)
protectedvirtual

◆ getInt()

int libvisio::VSDParser::getInt ( librevenge::RVNGInputStream *  input)
protectedvirtual

Reimplemented in libvisio::VSD5Parser.

◆ getUInt()

unsigned libvisio::VSDParser::getUInt ( librevenge::RVNGInputStream *  input)
protectedvirtual

Reimplemented in libvisio::VSD5Parser.

◆ handleBlob()

void libvisio::VSDParser::handleBlob ( librevenge::RVNGInputStream *  input,
unsigned  shift,
unsigned  level 
)
protected

◆ handleChunk()

void libvisio::VSDParser::handleChunk ( librevenge::RVNGInputStream *  input)
protected

◆ handleChunks()

void libvisio::VSDParser::handleChunks ( librevenge::RVNGInputStream *  input,
unsigned  level 
)
protected

◆ handleStream()

void libvisio::VSDParser::handleStream ( const Pointer ptr,
unsigned  idx,
unsigned  level,
std::set< unsigned > &  visited 
)
protected

◆ handleStreams()

void libvisio::VSDParser::handleStreams ( librevenge::RVNGInputStream *  input,
unsigned  ptrType,
unsigned  shift,
unsigned  level,
std::set< unsigned > &  visited 
)
protected

◆ operator=()

VSDParser & libvisio::VSDParser::operator= ( const VSDParser )
private

◆ parseDocument()

bool libvisio::VSDParser::parseDocument ( librevenge::RVNGInputStream *  input,
unsigned  shift 
)
protected

◆ parseMain()

bool libvisio::VSDParser::parseMain ( )

◆ parseMetaData()

void libvisio::VSDParser::parseMetaData ( )
protected

◆ readArcTo()

void libvisio::VSDParser::readArcTo ( librevenge::RVNGInputStream *  input)
protected

◆ readCharIX()

void libvisio::VSDParser::readCharIX ( librevenge::RVNGInputStream *  input)
protectedvirtual

◆ readCharList()

void libvisio::VSDParser::readCharList ( librevenge::RVNGInputStream *  input)
protectedvirtual

Reimplemented in libvisio::VSD5Parser.

◆ readColours()

void libvisio::VSDParser::readColours ( librevenge::RVNGInputStream *  input)
protected

◆ readEllipse()

void libvisio::VSDParser::readEllipse ( librevenge::RVNGInputStream *  input)
protected

◆ readEllipticalArcTo()

void libvisio::VSDParser::readEllipticalArcTo ( librevenge::RVNGInputStream *  input)
protected

◆ readFieldList()

void libvisio::VSDParser::readFieldList ( librevenge::RVNGInputStream *  input)
protectedvirtual

Reimplemented in libvisio::VSD5Parser.

◆ readFillAndShadow()

void libvisio::VSDParser::readFillAndShadow ( librevenge::RVNGInputStream *  input)
protectedvirtual

◆ readFont()

void libvisio::VSDParser::readFont ( librevenge::RVNGInputStream *  input)
protected

◆ readFontIX()

void libvisio::VSDParser::readFontIX ( librevenge::RVNGInputStream *  input)
protected

◆ readForeignData()

void libvisio::VSDParser::readForeignData ( librevenge::RVNGInputStream *  input)
protected

◆ readForeignDataType()

void libvisio::VSDParser::readForeignDataType ( librevenge::RVNGInputStream *  input)
protected

◆ readGeometry()

void libvisio::VSDParser::readGeometry ( librevenge::RVNGInputStream *  input)
protected

◆ readGeomList()

void libvisio::VSDParser::readGeomList ( librevenge::RVNGInputStream *  input)
protectedvirtual

Reimplemented in libvisio::VSD5Parser.

◆ readInfiniteLine()

void libvisio::VSDParser::readInfiniteLine ( librevenge::RVNGInputStream *  input)
protected

◆ readLayer()

void libvisio::VSDParser::readLayer ( librevenge::RVNGInputStream *  input)
protectedvirtual

◆ readLayerList()

void libvisio::VSDParser::readLayerList ( librevenge::RVNGInputStream *  input)
protectedvirtual

◆ readLayerMem()

void libvisio::VSDParser::readLayerMem ( librevenge::RVNGInputStream *  input)
protectedvirtual

Reimplemented in libvisio::VSD6Parser.

◆ readLine()

void libvisio::VSDParser::readLine ( librevenge::RVNGInputStream *  input)
protectedvirtual

Reimplemented in libvisio::VSD5Parser.

◆ readLineTo()

void libvisio::VSDParser::readLineTo ( librevenge::RVNGInputStream *  input)
protected

◆ readMisc()

void libvisio::VSDParser::readMisc ( librevenge::RVNGInputStream *  input)
protectedvirtual

◆ readMoveTo()

void libvisio::VSDParser::readMoveTo ( librevenge::RVNGInputStream *  input)
protected

◆ readName()

void libvisio::VSDParser::readName ( librevenge::RVNGInputStream *  input)
protectedvirtual

Reimplemented in libvisio::VSD6Parser.

◆ readName2()

void libvisio::VSDParser::readName2 ( librevenge::RVNGInputStream *  input)
protectedvirtual

Reimplemented in libvisio::VSD6Parser.

◆ readNameIDX()

void libvisio::VSDParser::readNameIDX ( librevenge::RVNGInputStream *  input)
protectedvirtual

Reimplemented in libvisio::VSD5Parser.

◆ readNameIDX123()

void libvisio::VSDParser::readNameIDX123 ( librevenge::RVNGInputStream *  input)
protectedvirtual

◆ readNameList()

void libvisio::VSDParser::readNameList ( librevenge::RVNGInputStream *  input)
protected

◆ readNameList2()

void libvisio::VSDParser::readNameList2 ( librevenge::RVNGInputStream *  input)
protectedvirtual

Reimplemented in libvisio::VSD5Parser.

◆ readNURBSTo()

void libvisio::VSDParser::readNURBSTo ( librevenge::RVNGInputStream *  input)
protected

◆ readOLEData()

void libvisio::VSDParser::readOLEData ( librevenge::RVNGInputStream *  input)
protected

◆ readOLEList()

void libvisio::VSDParser::readOLEList ( librevenge::RVNGInputStream *  input)
protected

◆ readPage()

void libvisio::VSDParser::readPage ( librevenge::RVNGInputStream *  input)
protectedvirtual

Reimplemented in libvisio::VSD5Parser.

◆ readPageProps()

void libvisio::VSDParser::readPageProps ( librevenge::RVNGInputStream *  input)
protected

◆ readPageSheet()

void libvisio::VSDParser::readPageSheet ( librevenge::RVNGInputStream *  input)
protected

◆ readParaIX()

void libvisio::VSDParser::readParaIX ( librevenge::RVNGInputStream *  input)
protectedvirtual

◆ readParaList()

void libvisio::VSDParser::readParaList ( librevenge::RVNGInputStream *  input)
protectedvirtual

Reimplemented in libvisio::VSD5Parser.

◆ readPointer()

void libvisio::VSDParser::readPointer ( librevenge::RVNGInputStream *  input,
Pointer ptr 
)
protectedvirtual

Reimplemented in libvisio::VSD5Parser.

◆ readPointerInfo()

void libvisio::VSDParser::readPointerInfo ( librevenge::RVNGInputStream *  input,
unsigned  ptrType,
unsigned  shift,
unsigned &  listSize,
int &  pointerCount 
)
protectedvirtual

Reimplemented in libvisio::VSD5Parser.

◆ readPolylineTo()

void libvisio::VSDParser::readPolylineTo ( librevenge::RVNGInputStream *  input)
protected

◆ readPropList()

void libvisio::VSDParser::readPropList ( librevenge::RVNGInputStream *  input)
protectedvirtual

Reimplemented in libvisio::VSD5Parser.

◆ readShape()

void libvisio::VSDParser::readShape ( librevenge::RVNGInputStream *  input)
protectedvirtual

Reimplemented in libvisio::VSD5Parser.

◆ readShapeData()

void libvisio::VSDParser::readShapeData ( librevenge::RVNGInputStream *  input)
protected

◆ readShapeId()

void libvisio::VSDParser::readShapeId ( librevenge::RVNGInputStream *  input)
protected

◆ readShapeList()

void libvisio::VSDParser::readShapeList ( librevenge::RVNGInputStream *  input)
protectedvirtual

Reimplemented in libvisio::VSD5Parser.

◆ readSplineKnot()

void libvisio::VSDParser::readSplineKnot ( librevenge::RVNGInputStream *  input)
protected

◆ readSplineStart()

void libvisio::VSDParser::readSplineStart ( librevenge::RVNGInputStream *  input)
protected

◆ readStencilShape()

void libvisio::VSDParser::readStencilShape ( librevenge::RVNGInputStream *  input)
protected

◆ readStyleSheet()

void libvisio::VSDParser::readStyleSheet ( librevenge::RVNGInputStream *  input)
protectedvirtual

Reimplemented in libvisio::VSD5Parser.

◆ readTabsData()

void libvisio::VSDParser::readTabsData ( librevenge::RVNGInputStream *  input)
protectedvirtual

◆ readTabsDataList()

void libvisio::VSDParser::readTabsDataList ( librevenge::RVNGInputStream *  input)
protectedvirtual

Reimplemented in libvisio::VSD5Parser.

◆ readText()

void libvisio::VSDParser::readText ( librevenge::RVNGInputStream *  input)
protectedvirtual

Reimplemented in libvisio::VSD6Parser.

◆ readTextBlock()

void libvisio::VSDParser::readTextBlock ( librevenge::RVNGInputStream *  input)
protectedvirtual

Reimplemented in libvisio::VSD5Parser.

◆ readTextField()

void libvisio::VSDParser::readTextField ( librevenge::RVNGInputStream *  input)
protectedvirtual

◆ readTxtXForm()

void libvisio::VSDParser::readTxtXForm ( librevenge::RVNGInputStream *  input)
protected

◆ readXForm1D()

void libvisio::VSDParser::readXForm1D ( librevenge::RVNGInputStream *  input)
protectedvirtual

Reimplemented in libvisio::VSD5Parser.

◆ readXFormData()

void libvisio::VSDParser::readXFormData ( librevenge::RVNGInputStream *  input)
protected

Member Data Documentation

◆ m_collector

VSDCollector* libvisio::VSDParser::m_collector
protected

◆ m_colours

std::vector<Colour> libvisio::VSDParser::m_colours
protected

◆ m_container

librevenge::RVNGInputStream* libvisio::VSDParser::m_container
protected

◆ m_currentGeometryList

VSDGeometryList* libvisio::VSDParser::m_currentGeometryList
protected

◆ m_currentGeomListCount

unsigned libvisio::VSDParser::m_currentGeomListCount
protected

◆ m_currentLayerListLevel

unsigned libvisio::VSDParser::m_currentLayerListLevel
protected

◆ m_currentLevel

unsigned libvisio::VSDParser::m_currentLevel
protected

◆ m_currentPageName

VSDName libvisio::VSDParser::m_currentPageName
protected

◆ m_currentShapeID

unsigned libvisio::VSDParser::m_currentShapeID
protected

◆ m_currentShapeLevel

unsigned libvisio::VSDParser::m_currentShapeLevel
protected

◆ m_currentStencil

VSDStencil* libvisio::VSDParser::m_currentStencil
protected

◆ m_currentTabSet

std::map<unsigned, VSDTabStop>* libvisio::VSDParser::m_currentTabSet
protected

◆ m_extractStencils

bool libvisio::VSDParser::m_extractStencils
protected

◆ m_fonts

std::map<unsigned, VSDName> libvisio::VSDParser::m_fonts
protected

◆ m_header

ChunkHeader libvisio::VSDParser::m_header
protected

◆ m_input

librevenge::RVNGInputStream* libvisio::VSDParser::m_input
protected

◆ m_isBackgroundPage

bool libvisio::VSDParser::m_isBackgroundPage
protected

◆ m_isInStyles

bool libvisio::VSDParser::m_isInStyles
protected

◆ m_isShapeStarted

bool libvisio::VSDParser::m_isShapeStarted
protected

◆ m_isStencilStarted

bool libvisio::VSDParser::m_isStencilStarted
protected

◆ m_names

std::map<unsigned, VSDName> libvisio::VSDParser::m_names
protected

◆ m_namesMapMap

std::map<unsigned, std::map<unsigned, VSDName> > libvisio::VSDParser::m_namesMapMap
protected

◆ m_painter

librevenge::RVNGDrawingInterface* libvisio::VSDParser::m_painter
protected

◆ m_shadowOffsetX

double libvisio::VSDParser::m_shadowOffsetX
protected

◆ m_shadowOffsetY

double libvisio::VSDParser::m_shadowOffsetY
protected

◆ m_shape

VSDShape libvisio::VSDParser::m_shape
protected

◆ m_shapeList

VSDShapeList libvisio::VSDParser::m_shapeList
protected

◆ m_stencils

VSDStencils libvisio::VSDParser::m_stencils
protected

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

Generated for libvisio by doxygen 1.9.4