Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef __VSD5PARSER_H__
00011 #define __VSD5PARSER_H__
00012
00013 #include <stdio.h>
00014 #include <iostream>
00015 #include <librevenge/librevenge.h>
00016 #include "VSD6Parser.h"
00017 #include "VSDInternalStream.h"
00018
00019 namespace libvisio
00020 {
00021
00022 class VSD5Parser : public VSD6Parser
00023 {
00024 public:
00025 explicit VSD5Parser(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter);
00026 ~VSD5Parser();
00027
00028 protected:
00029 virtual void readPointer(librevenge::RVNGInputStream *input, Pointer &ptr);
00030 virtual bool getChunkHeader(librevenge::RVNGInputStream *input);
00031 virtual void readPointerInfo(librevenge::RVNGInputStream *input, unsigned ptrType, unsigned shift, unsigned &listSize, int &pointerCount);
00032
00033 virtual void readGeomList(librevenge::RVNGInputStream *input);
00034 virtual void readCharList(librevenge::RVNGInputStream *input);
00035 virtual void readParaList(librevenge::RVNGInputStream *input);
00036 virtual void readShapeList(librevenge::RVNGInputStream *input);
00037 virtual void readPropList(librevenge::RVNGInputStream *input);
00038 virtual void readFieldList(librevenge::RVNGInputStream *input);
00039 virtual void readNameList2(librevenge::RVNGInputStream *input);
00040
00041 virtual void readLine(librevenge::RVNGInputStream *input);
00042 virtual void readFillAndShadow(librevenge::RVNGInputStream *input);
00043 virtual void readTextBlock(librevenge::RVNGInputStream *input);
00044 virtual void readCharIX(librevenge::RVNGInputStream *input);
00045 virtual void readTextField(librevenge::RVNGInputStream *input);
00046
00047 virtual void readShape(librevenge::RVNGInputStream *input);
00048 virtual void readPage(librevenge::RVNGInputStream *input);
00049
00050 virtual void handleChunkRecords(librevenge::RVNGInputStream *input);
00051
00052 virtual void readStyleSheet(librevenge::RVNGInputStream *input);
00053
00054 virtual void readNameIDX(librevenge::RVNGInputStream *input);
00055
00056 virtual unsigned getUInt(librevenge::RVNGInputStream *input);
00057 virtual int getInt(librevenge::RVNGInputStream *input);
00058
00059 private:
00060 VSD5Parser();
00061 VSD5Parser(const VSDParser &);
00062 VSD5Parser &operator=(const VSDParser &);
00063
00064 void readList(librevenge::RVNGInputStream *input);
00065 };
00066
00067 }
00068
00069 #endif // __VSD5PARSER_H__
00070