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:
66 VSD5Parser();
67 VSD5Parser(const VSDParser &);
68 VSD5Parser &operator=(const VSDParser &);
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:22
libvisio::VSD5Parser::readTabsDataList
void readTabsDataList(librevenge::RVNGInputStream *input) override
Definition: VSD5Parser.cpp:196
libvisio::Pointer
Definition: VSDParser.h:34
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:47
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:87
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:322
libvisio::Colour
Definition: VSDTypes.h:70
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:208
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:23
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:58
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:27
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:170
VSD_FIELD_FORMAT_Unknown
#define VSD_FIELD_FORMAT_Unknown
Definition: VSDDocumentStructure.h:283
libvisio::VSD5Parser
Definition: VSD5Parser.h:22
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:103
libvisio_utils.h
libvisio::VSDOptionalTextBlockStyle
Definition: VSDStyles.h:419
libvisio::readDouble
double readDouble(librevenge::RVNGInputStream *input)
Definition: libvisio_utils.cpp:90
libvisio
Definition: libvisio_utils.h:48
libvisio::Pointer::Format
unsigned short Format
Definition: VSDParser.h:43