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

◆ _flushShape()

void libvisio::VSDParser::_flushShape ( )
protected

Referenced by _handleLevelChange().

◆ _handleLevelChange()

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

◆ _nameFromId()

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

Referenced by handleStream().

◆ extractStencils()

bool libvisio::VSDParser::extractStencils ( )

◆ getChunkHeader()

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

Reimplemented in libvisio::VSD5Parser, and libvisio::VSD6Parser.

Referenced by handleChunks().

◆ getInt()

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

Reimplemented in libvisio::VSD5Parser.

Referenced by libvisio::VSD6Parser::readName2().

◆ getUInt()

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

◆ handleBlob()

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

Referenced by handleStream().

◆ handleChunk()

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

◆ handleChunks()

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

Referenced by handleStream().

◆ handleStream()

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

Referenced by handleStreams().

◆ handleStreams()

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

Referenced by handleStream(), and parseDocument().

◆ operator=()

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

◆ parseDocument()

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

Referenced by parseMain().

◆ parseMain()

bool libvisio::VSDParser::parseMain ( )

Referenced by extractStencils().

◆ parseMetaData()

void libvisio::VSDParser::parseMetaData ( )
protected

Referenced by parseMain().

◆ readArcTo()

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

Referenced by handleChunk().

◆ readCharIX()

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

Reimplemented in libvisio::VSD5Parser, and libvisio::VSD6Parser.

Referenced by handleChunk().

◆ readCharList()

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

Reimplemented in libvisio::VSD5Parser.

Referenced by handleChunk().

◆ readColours()

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

Referenced by handleChunk().

◆ readEllipse()

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

Referenced by handleChunk().

◆ readEllipticalArcTo()

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

Referenced by handleChunk().

◆ readFieldList()

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

Reimplemented in libvisio::VSD5Parser.

Referenced by handleChunk().

◆ readFillAndShadow()

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

Reimplemented in libvisio::VSD5Parser, and libvisio::VSD6Parser.

Referenced by handleChunk().

◆ readFont()

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

Referenced by handleChunk().

◆ readFontIX()

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

Referenced by handleChunk().

◆ readForeignData()

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

Referenced by handleChunk().

◆ readForeignDataType()

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

Referenced by handleChunk().

◆ readGeometry()

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

Referenced by handleChunk().

◆ readGeomList()

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

Reimplemented in libvisio::VSD5Parser.

Referenced by handleChunk().

◆ readInfiniteLine()

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

Referenced by handleChunk().

◆ readLayer()

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

Referenced by handleChunk().

◆ readLayerList()

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

Referenced by handleChunk().

◆ readLayerMem()

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

Reimplemented in libvisio::VSD6Parser.

Referenced by handleChunk().

◆ readLine()

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

Reimplemented in libvisio::VSD5Parser.

Referenced by handleChunk().

◆ readLineTo()

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

Referenced by handleChunk().

◆ readMisc()

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

Reimplemented in libvisio::VSD5Parser, and libvisio::VSD6Parser.

Referenced by handleChunk().

◆ readMoveTo()

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

Referenced by handleChunk().

◆ readName()

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

Reimplemented in libvisio::VSD6Parser.

Referenced by handleChunk().

◆ readName2()

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

Reimplemented in libvisio::VSD6Parser.

Referenced by handleChunk().

◆ readNameIDX()

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

Reimplemented in libvisio::VSD5Parser.

Referenced by handleChunk().

◆ readNameIDX123()

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

Referenced by handleChunk().

◆ readNameList()

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

Referenced by handleChunk().

◆ readNameList2()

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

Reimplemented in libvisio::VSD5Parser.

Referenced by handleChunk().

◆ readNURBSTo()

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

Referenced by handleChunk().

◆ readOLEData()

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

Referenced by handleChunk().

◆ readOLEList()

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

Referenced by handleChunk().

◆ readPage()

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

Reimplemented in libvisio::VSD5Parser.

Referenced by handleChunk().

◆ readPageProps()

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

Referenced by handleChunk().

◆ readPageSheet()

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

Referenced by handleChunk().

◆ readParaIX()

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

Reimplemented in libvisio::VSD5Parser, and libvisio::VSD6Parser.

Referenced by handleChunk().

◆ readParaList()

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

Reimplemented in libvisio::VSD5Parser.

Referenced by handleChunk().

◆ readPointer()

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

Reimplemented in libvisio::VSD5Parser.

Referenced by handleStreams(), and parseMain().

◆ readPointerInfo()

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

Reimplemented in libvisio::VSD5Parser.

Referenced by handleStreams().

◆ readPolylineTo()

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

Referenced by handleChunk().

◆ readPropList()

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

Reimplemented in libvisio::VSD5Parser.

Referenced by handleChunk().

◆ readShape()

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

Reimplemented in libvisio::VSD5Parser.

Referenced by handleChunk().

◆ readShapeData()

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

Referenced by handleChunk().

◆ readShapeId()

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

Referenced by handleChunk().

◆ readShapeList()

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

Reimplemented in libvisio::VSD5Parser.

Referenced by handleChunk().

◆ readSplineKnot()

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

Referenced by handleChunk().

◆ readSplineStart()

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

Referenced by handleChunk().

◆ readStencilShape()

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

◆ readStyleSheet()

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

Reimplemented in libvisio::VSD5Parser.

Referenced by handleChunk().

◆ readTabsData()

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

Referenced by handleChunk().

◆ readTabsDataList()

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

Reimplemented in libvisio::VSD5Parser.

Referenced by handleChunk().

◆ readText()

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

Reimplemented in libvisio::VSD6Parser.

Referenced by handleChunk().

◆ readTextBlock()

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

Reimplemented in libvisio::VSD5Parser.

Referenced by handleChunk().

◆ readTextField()

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

Reimplemented in libvisio::VSD5Parser, and libvisio::VSD6Parser.

Referenced by handleChunk().

◆ readTxtXForm()

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

Referenced by handleChunk().

◆ readXForm1D()

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

Reimplemented in libvisio::VSD5Parser.

Referenced by handleChunk().

◆ readXFormData()

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

Referenced by handleChunk().

Member Data Documentation

◆ m_collector

◆ m_colours

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

◆ m_container

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

Referenced by parseMain(), parseMetaData(), and VSDParser().

◆ m_currentGeometryList

◆ m_currentGeomListCount

unsigned libvisio::VSDParser::m_currentGeomListCount
protected

◆ m_currentLayerListLevel

unsigned libvisio::VSDParser::m_currentLayerListLevel
protected

Referenced by VSDParser().

◆ m_currentLevel

unsigned libvisio::VSDParser::m_currentLevel
protected

Referenced by _handleLevelChange(), and VSDParser().

◆ 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

◆ m_currentTabSet

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

Referenced by VSDParser().

◆ 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

Referenced by libvisio::VSD5Parser::getChunkHeader(), libvisio::VSD6Parser::getChunkHeader(), getChunkHeader(), handleBlob(), handleChunk(), libvisio::VSD5Parser::handleChunkRecords(), handleChunks(), handleStream(), readArcTo(), libvisio::VSD5Parser::readCharIX(), libvisio::VSD6Parser::readCharIX(), readCharIX(), readCharList(), readEllipse(), readEllipticalArcTo(), readFieldList(), libvisio::VSD5Parser::readFillAndShadow(), libvisio::VSD6Parser::readFillAndShadow(), readFillAndShadow(), readFont(), readFontIX(), readForeignData(), readForeignDataType(), readGeometry(), libvisio::VSD5Parser::readGeomList(), readGeomList(), readInfiniteLine(), readLayer(), readLayerList(), libvisio::VSD5Parser::readLine(), readLine(), readLineTo(), libvisio::VSD5Parser::readList(), libvisio::VSD6Parser::readMisc(), readMisc(), readMoveTo(), libvisio::VSD6Parser::readName(), readName(), libvisio::VSD6Parser::readName2(), readName2(), libvisio::VSD5Parser::readNameIDX(), readNameIDX(), readNameIDX123(), readNURBSTo(), readOLEData(), libvisio::VSD5Parser::readPage(), readPage(), readPageProps(), readPageSheet(), libvisio::VSD5Parser::readParaIX(), libvisio::VSD6Parser::readParaIX(), readParaIX(), readParaList(), readPolylineTo(), libvisio::VSD5Parser::readShape(), readShape(), readShapeData(), readShapeId(), readShapeList(), readSplineKnot(), readSplineStart(), libvisio::VSD5Parser::readStyleSheet(), readStyleSheet(), readTabsData(), readTabsDataList(), libvisio::VSD6Parser::readText(), readText(), libvisio::VSD5Parser::readTextBlock(), readTextBlock(), libvisio::VSD5Parser::readTextField(), libvisio::VSD6Parser::readTextField(), readTextField(), and VSDParser().

◆ m_input

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

Referenced by handleStream(), parseMain(), and VSDParser().

◆ m_isBackgroundPage

bool libvisio::VSDParser::m_isBackgroundPage
protected

◆ m_isInStyles

◆ m_isShapeStarted

bool libvisio::VSDParser::m_isShapeStarted
protected

◆ m_isStencilStarted

◆ m_names

◆ m_namesMapMap

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

◆ m_painter

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

Referenced by parseMain(), and VSDParser().

◆ m_shadowOffsetX

double libvisio::VSDParser::m_shadowOffsetX
protected

◆ m_shadowOffsetY

double libvisio::VSDParser::m_shadowOffsetY
protected

◆ m_shape

◆ m_shapeList

◆ 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.14.0