10 #ifndef __VSDPARSER_H__    11 #define __VSDPARSER_H__    19 #include <librevenge/librevenge.h>    50   explicit VSDParser(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter, librevenge::RVNGInputStream *container = 
nullptr);
    53   bool extractStencils();
    57   void readEllipticalArcTo(librevenge::RVNGInputStream *input);
    58   void readForeignData(librevenge::RVNGInputStream *input);
    59   void readEllipse(librevenge::RVNGInputStream *input);
    60   virtual void readLine(librevenge::RVNGInputStream *input);
    61   virtual void readFillAndShadow(librevenge::RVNGInputStream *input);
    62   virtual void readGeomList(librevenge::RVNGInputStream *input);
    63   void readGeometry(librevenge::RVNGInputStream *input);
    64   void readMoveTo(librevenge::RVNGInputStream *input);
    65   void readLineTo(librevenge::RVNGInputStream *input);
    66   void readArcTo(librevenge::RVNGInputStream *input);
    67   void readNURBSTo(librevenge::RVNGInputStream *input);
    68   void readPolylineTo(librevenge::RVNGInputStream *input);
    69   void readInfiniteLine(librevenge::RVNGInputStream *input);
    70   void readShapeData(librevenge::RVNGInputStream *input);
    71   void readXFormData(librevenge::RVNGInputStream *input);
    72   virtual void readXForm1D(librevenge::RVNGInputStream *input);
    73   void readTxtXForm(librevenge::RVNGInputStream *input);
    74   void readShapeId(librevenge::RVNGInputStream *input);
    75   virtual void readShapeList(librevenge::RVNGInputStream *input);
    76   void readForeignDataType(librevenge::RVNGInputStream *input);
    77   void readPageProps(librevenge::RVNGInputStream *input);
    78   virtual void readShape(librevenge::RVNGInputStream *input);
    79   void readColours(librevenge::RVNGInputStream *input);
    80   void readFont(librevenge::RVNGInputStream *input);
    81   void readFontIX(librevenge::RVNGInputStream *input);
    82   virtual void readCharList(librevenge::RVNGInputStream *input);
    83   virtual void readParaList(librevenge::RVNGInputStream *input);
    84   virtual void readPropList(librevenge::RVNGInputStream *input);
    85   virtual void readPage(librevenge::RVNGInputStream *input);
    86   virtual void readText(librevenge::RVNGInputStream *input);
    87   virtual void readCharIX(librevenge::RVNGInputStream *input);
    88   virtual void readParaIX(librevenge::RVNGInputStream *input);
    89   virtual void readTextBlock(librevenge::RVNGInputStream *input);
    90   virtual void readTabsDataList(librevenge::RVNGInputStream *input);
    91   virtual void readTabsData(librevenge::RVNGInputStream *input);
    93   void readNameList(librevenge::RVNGInputStream *input);
    94   virtual void readName(librevenge::RVNGInputStream *input);
    96   virtual void readNameList2(librevenge::RVNGInputStream *input);
    97   virtual void readName2(librevenge::RVNGInputStream *input);
    99   virtual void readFieldList(librevenge::RVNGInputStream *input);
   100   virtual void readTextField(librevenge::RVNGInputStream *input);
   102   virtual void readStyleSheet(librevenge::RVNGInputStream *input);
   103   void readPageSheet(librevenge::RVNGInputStream *input);
   105   void readSplineStart(librevenge::RVNGInputStream *input);
   106   void readSplineKnot(librevenge::RVNGInputStream *input);
   108   void readStencilShape(librevenge::RVNGInputStream *input);
   110   void readOLEList(librevenge::RVNGInputStream *input);
   111   void readOLEData(librevenge::RVNGInputStream *input);
   113   virtual void readNameIDX(librevenge::RVNGInputStream *input);
   114   virtual void readNameIDX123(librevenge::RVNGInputStream *input);
   116   virtual void readMisc(librevenge::RVNGInputStream *input);
   118   virtual void readLayerList(librevenge::RVNGInputStream *input);
   119   virtual void readLayer(librevenge::RVNGInputStream *input);
   120   virtual void readLayerMem(librevenge::RVNGInputStream *input);
   123   bool parseDocument(librevenge::RVNGInputStream *input, 
unsigned shift);
   125   void parseMetaData();
   128   void handleStreams(librevenge::RVNGInputStream *input, 
unsigned ptrType, 
unsigned shift, 
unsigned level, std::set<unsigned> &visited);
   129   void handleStream(
const Pointer &ptr, 
unsigned idx, 
unsigned level, std::set<unsigned> &visited);
   130   void handleChunks(librevenge::RVNGInputStream *input, 
unsigned level);
   131   void handleChunk(librevenge::RVNGInputStream *input);
   132   void handleBlob(librevenge::RVNGInputStream *input, 
unsigned shift, 
unsigned level);
   134   virtual void readPointer(librevenge::RVNGInputStream *input, 
Pointer &ptr);
   135   virtual void readPointerInfo(librevenge::RVNGInputStream *input, 
unsigned ptrType, 
unsigned shift, 
unsigned &listSize, 
int &pointerCount);
   136   virtual bool getChunkHeader(librevenge::RVNGInputStream *input);
   137   void _handleLevelChange(
unsigned level);
   138   Colour _colourFromIndex(
unsigned idx);
   140   void _nameFromId(
VSDName &name, 
unsigned id, 
unsigned level);
   142   virtual unsigned getUInt(librevenge::RVNGInputStream *input);
   143   virtual int getInt(librevenge::RVNGInputStream *input);
   191 #endif // __VSDPARSER_H__ librevenge::RVNGInputStream * m_input
Definition: VSDParser.h:145
Definition: VSDStencils.h:26
unsigned m_currentLevel
Definition: VSDParser.h:151
librevenge::RVNGInputStream * m_container
Definition: VSDParser.h:147
bool m_isShapeStarted
Definition: VSDParser.h:167
bool m_isBackgroundPage
Definition: VSDParser.h:166
VSDShapeList m_shapeList
Definition: VSDParser.h:150
unsigned Offset
Definition: VSDParser.h:41
unsigned m_currentLayerListLevel
Definition: VSDParser.h:161
Definition: VSDTypes.h:72
Definition: VSDParser.h:34
ChunkHeader m_header
Definition: VSDParser.h:148
double m_shadowOffsetX
Definition: VSDParser.h:169
std::vector< Colour > m_colours
Definition: VSDParser.h:164
librevenge::RVNGDrawingInterface * m_painter
Definition: VSDParser.h:146
VSDName m_currentPageName
Definition: VSDParser.h:178
unsigned m_currentShapeLevel
Definition: VSDParser.h:158
std::map< unsigned, VSDName > m_fonts
Definition: VSDParser.h:175
Definition: VSDStencils.h:77
Definition: VSDParser.h:47
Definition: VSDCollector.h:20
std::map< unsigned, VSDTabStop > * m_currentTabSet
Definition: VSDParser.h:180
unsigned Length
Definition: VSDParser.h:42
VSDStencil * m_currentStencil
Definition: VSDParser.h:154
unsigned m_currentShapeID
Definition: VSDParser.h:159
VSDGeometryList * m_currentGeometryList
Definition: VSDParser.h:172
unsigned ListSize
Definition: VSDParser.h:44
double m_shadowOffsetY
Definition: VSDParser.h:170
bool m_isStencilStarted
Definition: VSDParser.h:156
std::map< unsigned, std::map< unsigned, VSDName > > m_namesMapMap
Definition: VSDParser.h:177
Definition: VSDStencils.h:61
Definition: libvisio_utils.h:48
unsigned m_currentGeomListCount
Definition: VSDParser.h:173
VSDStencils m_stencils
Definition: VSDParser.h:153
unsigned Type
Definition: VSDParser.h:40
Definition: VSDShapeList.h:19
VSDShape m_shape
Definition: VSDParser.h:155
Pointer(const Pointer &ptr)
Definition: VSDParser.h:38
unsigned short Format
Definition: VSDParser.h:43
bool m_extractStencils
Definition: VSDParser.h:163
Definition: VSDTypes.h:178
VSDCollector * m_collector
Definition: VSDParser.h:149
Pointer()
Definition: VSDParser.h:36
Definition: VSDGeometryList.h:47
bool m_isInStyles
Definition: VSDParser.h:157
std::map< unsigned, VSDName > m_names
Definition: VSDParser.h:176