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