10 #ifndef __VSDPARSER_H__
11 #define __VSDPARSER_H__
18 #include <librevenge/librevenge.h>
48 explicit VSDParser(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter);
57 void readEllipse(librevenge::RVNGInputStream *input);
58 virtual void readLine(librevenge::RVNGInputStream *input);
60 virtual void readGeomList(librevenge::RVNGInputStream *input);
62 void readMoveTo(librevenge::RVNGInputStream *input);
63 void readLineTo(librevenge::RVNGInputStream *input);
64 void readArcTo(librevenge::RVNGInputStream *input);
65 void readNURBSTo(librevenge::RVNGInputStream *input);
71 void readShapeId(librevenge::RVNGInputStream *input);
72 virtual void readShapeList(librevenge::RVNGInputStream *input);
75 virtual void readShape(librevenge::RVNGInputStream *input);
76 void readColours(librevenge::RVNGInputStream *input);
77 void readFont(librevenge::RVNGInputStream *input);
78 void readFontIX(librevenge::RVNGInputStream *input);
79 virtual void readCharList(librevenge::RVNGInputStream *input);
80 virtual void readParaList(librevenge::RVNGInputStream *input);
81 virtual void readPropList(librevenge::RVNGInputStream *input);
82 virtual void readPage(librevenge::RVNGInputStream *input);
83 virtual void readText(librevenge::RVNGInputStream *input);
84 virtual void readCharIX(librevenge::RVNGInputStream *input);
85 virtual void readParaIX(librevenge::RVNGInputStream *input);
86 virtual void readTextBlock(librevenge::RVNGInputStream *input);
89 virtual void readName(librevenge::RVNGInputStream *input);
91 virtual void readNameList2(librevenge::RVNGInputStream *input);
92 virtual void readName2(librevenge::RVNGInputStream *input);
94 virtual void readFieldList(librevenge::RVNGInputStream *input);
95 virtual void readTextField(librevenge::RVNGInputStream *input);
105 void readOLEList(librevenge::RVNGInputStream *input);
106 void readOLEData(librevenge::RVNGInputStream *input);
108 virtual void readNameIDX(librevenge::RVNGInputStream *input);
111 void readMisc(librevenge::RVNGInputStream *input);
114 bool parseDocument(librevenge::RVNGInputStream *input,
unsigned shift);
117 void handleStreams(librevenge::RVNGInputStream *input,
unsigned ptrType,
unsigned shift,
unsigned level);
119 void handleChunks(librevenge::RVNGInputStream *input,
unsigned level);
120 void handleChunk(librevenge::RVNGInputStream *input);
121 void handleBlob(librevenge::RVNGInputStream *input,
unsigned shift,
unsigned level);
124 virtual void readPointerInfo(librevenge::RVNGInputStream *input,
unsigned ptrType,
unsigned shift,
unsigned &listSize,
int &pointerCount);
131 virtual unsigned getUInt(librevenge::RVNGInputStream *input);
132 virtual int getInt(librevenge::RVNGInputStream *input);
175 #endif // __VSDPARSER_H__