VSD5Parser.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /*
3  * This file is part of the libvisio project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  */
9 
10 #ifndef __VSD5PARSER_H__
11 #define __VSD5PARSER_H__
12 
13 #include <stdio.h>
14 #include <iostream>
15 #include <librevenge/librevenge.h>
16 #include "VSD6Parser.h"
17 #include "VSDInternalStream.h"
18 
19 namespace libvisio
20 {
21 
22 class VSD5Parser : public VSD6Parser
23 {
24 public:
25  explicit VSD5Parser(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter);
26  ~VSD5Parser() override;
27 
28 protected:
29  void readPointer(librevenge::RVNGInputStream *input, Pointer &ptr) override;
30  bool getChunkHeader(librevenge::RVNGInputStream *input) override;
31  void readPointerInfo(librevenge::RVNGInputStream *input, unsigned ptrType, unsigned shift, unsigned &listSize, int &pointerCount) override;
32 
33  void readGeomList(librevenge::RVNGInputStream *input) override;
34  void readCharList(librevenge::RVNGInputStream *input) override;
35  void readParaList(librevenge::RVNGInputStream *input) override;
36  void readShapeList(librevenge::RVNGInputStream *input) override;
37  void readPropList(librevenge::RVNGInputStream *input) override;
38  void readFieldList(librevenge::RVNGInputStream *input) override;
39  void readNameList2(librevenge::RVNGInputStream *input) override;
40  void readTabsDataList(librevenge::RVNGInputStream *input) override;
41 
42  void readLine(librevenge::RVNGInputStream *input) override;
43  void readFillAndShadow(librevenge::RVNGInputStream *input) override;
44  void readTextBlock(librevenge::RVNGInputStream *input) override;
45  void readCharIX(librevenge::RVNGInputStream *input) override;
46  void readParaIX(librevenge::RVNGInputStream *input) override;
47  void readTextField(librevenge::RVNGInputStream *input) override;
48 
49  void readShape(librevenge::RVNGInputStream *input) override;
50  void readPage(librevenge::RVNGInputStream *input) override;
51 
52  virtual void handleChunkRecords(librevenge::RVNGInputStream *input);
53 
54  void readStyleSheet(librevenge::RVNGInputStream *input) override;
55 
56  void readNameIDX(librevenge::RVNGInputStream *input) override;
57 
58  void readMisc(librevenge::RVNGInputStream *input) override;
59 
60  void readXForm1D(librevenge::RVNGInputStream *input) override;
61 
62  unsigned getUInt(librevenge::RVNGInputStream *input) override;
63  int getInt(librevenge::RVNGInputStream *input) override;
64 
65 private:
69 
70  void readList(librevenge::RVNGInputStream *input);
71 };
72 
73 } // namespace libvisio
74 
75 #endif // __VSD5PARSER_H__
76 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libvisio::VSD5Parser::readGeomList
void readGeomList(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:141
libvisio::VSD5Parser::readPropList
void readPropList(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:178
libvisio::VSD6Parser
Definition: VSD6Parser.h:23
libvisio::VSD5Parser::readTabsDataList
void readTabsDataList(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:196
libvisio::Pointer
Definition: VSDParser.h:35
libvisio::readS16
int16_t readS16(librevenge::RVNGInputStream *input)
Definition: libvisio_utils.cpp:48
libvisio::VSD5Parser::readShapeList
void readShapeList(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:172
libvisio::VSD5Parser::readXForm1D
void readXForm1D(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:498
libvisio::VSDShape::m_foreign
std::unique_ptr< ForeignData > m_foreign
Definition: VSDStencils.h:39
libvisio::VSD5Parser::getUInt
unsigned getUInt(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:512
libvisio::ChunkHeader::level
unsigned short level
Definition: VSDTypes.h:65
libvisio::VSDParser
Definition: VSDParser.h:48
libvisio::VSD5Parser::readPointer
void readPointer(librevenge::RVNGInputStream *input, Pointer &ptr) override
Definition: VSD5Parser.cpp:30
libvisio::VSDShape::m_textFormat
TextFormat m_textFormat
Definition: VSDStencils.h:52
libvisio::VSD5Parser::readNameIDX
void readNameIDX(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:471
libvisio::VSD5Parser::operator=
VSD5Parser & operator=(const VSDParser &)
VSD_STENCIL_PAGE
#define VSD_STENCIL_PAGE
Definition: VSDDocumentStructure.h:24
VSDStylesCollector.h
libvisio::VSD5Parser::readTextField
void readTextField(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:456
VSD_SHAPE_FOREIGN
#define VSD_SHAPE_FOREIGN
Definition: VSDDocumentStructure.h:40
VSDContentCollector.h
VSD_DEBUG_MSG
#define VSD_DEBUG_MSG(M)
Definition: libvisio_utils.h:42
libvisio::VSD5Parser::VSD5Parser
VSD5Parser()
libvisio::EndOfStreamException
Definition: libvisio_utils.h:88
libvisio::VSD5Parser::readCharIX
void readCharIX(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:267
libvisio::VSD5Parser::getChunkHeader
bool getChunkHeader(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:75
VSDDocumentStructure.h
libvisio::VSD5Parser::readTextBlock
void readTextBlock(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:431
VSD5Parser.h
libvisio::readU32
uint32_t readU32(librevenge::RVNGInputStream *input)
Definition: libvisio_utils.cpp:53
libvisio::VSD5Parser::handleChunkRecords
virtual void handleChunkRecords(librevenge::RVNGInputStream *input)
Definition: VSD5Parser.cpp:100
VSDInternalStream.h
libvisio::VSDOptionalParaStyle
Definition: VSDStyles.h:323
libvisio::Colour
Definition: VSDTypes.h:71
VSD6Parser.h
libvisio::readU8
uint8_t readU8(librevenge::RVNGInputStream *input)
Definition: libvisio_utils.cpp:16
libvisio::VSD5Parser::readList
void readList(librevenge::RVNGInputStream *input)
Definition: VSD5Parser.cpp:153
libvisio::VSD5Parser::readParaList
void readParaList(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:166
libvisio::readU16
uint16_t readU16(librevenge::RVNGInputStream *input)
Definition: libvisio_utils.cpp:32
VSD_FONT_LIST
#define VSD_FONT_LIST
Definition: VSDDocumentStructure.h:20
libvisio::VSDOptionalCharStyle
Definition: VSDStyles.h:209
libvisio::getRemainingLength
unsigned long getRemainingLength(librevenge::RVNGInputStream *input)
Definition: libvisio_utils.cpp:110
libvisio::VSD5Parser::readStyleSheet
void readStyleSheet(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:364
VSD_PAGE
#define VSD_PAGE
Definition: VSDDocumentStructure.h:18
libvisio::ChunkHeader::dataLength
unsigned dataLength
Definition: VSDTypes.h:64
libvisio::VSD5Parser::readNameList2
void readNameList2(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:190
libvisio::VSD5Parser::getInt
int getInt(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:518
libvisio::VSDOptionalLineStyle
Definition: VSDStyles.h:24
libvisio::VSD5Parser::VSD5Parser
VSD5Parser(const VSDParser &)
libvisio::ChunkHeader::id
unsigned id
Definition: VSDTypes.h:62
VSD_STENCILS
#define VSD_STENCILS
Definition: VSDDocumentStructure.h:23
VSD_STYLES
#define VSD_STYLES
Definition: VSDDocumentStructure.h:22
libvisio::ChunkHeader
Definition: VSDTypes.h:59
libvisio::VSD5Parser::readLine
void readLine(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:202
libvisio::ChunkHeader::chunkType
unsigned chunkType
Definition: VSDTypes.h:61
libvisio::Pointer::Length
unsigned Length
Definition: VSDParser.h:42
libvisio::VSD5Parser::readFieldList
void readFieldList(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:184
libvisio::VSD5Parser::readPage
void readPage(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:425
libvisio::VSD5Parser::readCharList
void readCharList(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:160
libvisio::VSDShape
Definition: VSDStencils.h:28
libvisio::VSD5Parser::readPointerInfo
void readPointerInfo(librevenge::RVNGInputStream *input, unsigned ptrType, unsigned shift, unsigned &listSize, int &pointerCount) override
Definition: VSD5Parser.cpp:39
libvisio::VSD5Parser::readFillAndShadow
void readFillAndShadow(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:331
libvisio::VSD5Parser::readMisc
void readMisc(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:489
VSD_TRAILER_STREAM
#define VSD_TRAILER_STREAM
Definition: VSDDocumentStructure.h:17
libvisio::VSDShape::m_text
librevenge::RVNGBinaryData m_text
Definition: VSDStencils.h:50
libvisio::Pointer::Type
unsigned Type
Definition: VSDParser.h:40
libvisio::Pointer::Offset
unsigned Offset
Definition: VSDParser.h:41
libvisio::VSDName
Definition: VSDTypes.h:171
VSD_FIELD_FORMAT_Unknown
#define VSD_FIELD_FORMAT_Unknown
Definition: VSDDocumentStructure.h:283
libvisio::VSD5Parser
Definition: VSD5Parser.h:23
libvisio::VSD5Parser::~VSD5Parser
~VSD5Parser() override
Definition: VSD5Parser.cpp:27
libvisio::VSD5Parser::readParaIX
void readParaIX(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:222
MINUS_ONE
#define MINUS_ONE
Definition: VSDTypes.h:18
libvisio::VSD5Parser::readShape
void readShape(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:374
CELL_TYPE_NoCast
#define CELL_TYPE_NoCast
Definition: VSDDocumentStructure.h:177
libvisio::VSDOptionalFillStyle
Definition: VSDStyles.h:104
libvisio_utils.h
libvisio::VSDOptionalTextBlockStyle
Definition: VSDStyles.h:420
libvisio::readDouble
double readDouble(librevenge::RVNGInputStream *input)
Definition: libvisio_utils.cpp:90
libvisio
Definition: libvisio_utils.h:49
libvisio::Pointer::Format
unsigned short Format
Definition: VSDParser.h:43

Generated for libvisio by doxygen 1.8.20