VSDParser.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 __VSDPARSER_H__
11 #define __VSDPARSER_H__
12 
13 #include <stdio.h>
14 #include <iostream>
15 #include <vector>
16 #include <stack>
17 #include <map>
18 #include <set>
19 #include <librevenge/librevenge.h>
20 #include "VSDTypes.h"
21 #include "VSDGeometryList.h"
22 #include "VSDFieldList.h"
23 #include "VSDCharacterList.h"
24 #include "VSDParagraphList.h"
25 #include "VSDShapeList.h"
26 #include "VSDLayerList.h"
27 #include "VSDStencils.h"
28 
29 namespace libvisio
30 {
31 
32 class VSDCollector;
33 
34 struct Pointer
35 {
37  : Type(0), Offset(0), Length(0), Format(0), ListSize(0) {}
38  Pointer(const Pointer &ptr)
39  : Type(ptr.Type), Offset(ptr.Offset), Length(ptr.Length), Format(ptr.Format), ListSize(ptr.ListSize) {}
40  unsigned Type;
41  unsigned Offset;
42  unsigned Length;
43  unsigned short Format;
44  unsigned ListSize;
45 };
46 
47 class VSDParser
48 {
49 public:
50  explicit VSDParser(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter, librevenge::RVNGInputStream *container = nullptr);
51  virtual ~VSDParser();
52  bool parseMain();
53  bool extractStencils();
54 
55 protected:
56  // reader functions
57  void readEllipticalArcTo(librevenge::RVNGInputStream *input);
58  void readForeignData(librevenge::RVNGInputStream *input);
59  void readEllipse(librevenge::RVNGInputStream *input);
60  virtual void readLine(librevenge::RVNGInputStream *input);
61  virtual void readFillAndShadow(librevenge::RVNGInputStream *input);
62  virtual void readGeomList(librevenge::RVNGInputStream *input);
63  void readGeometry(librevenge::RVNGInputStream *input);
64  void readMoveTo(librevenge::RVNGInputStream *input);
65  void readLineTo(librevenge::RVNGInputStream *input);
66  void readArcTo(librevenge::RVNGInputStream *input);
67  void readNURBSTo(librevenge::RVNGInputStream *input);
68  void readPolylineTo(librevenge::RVNGInputStream *input);
69  void readInfiniteLine(librevenge::RVNGInputStream *input);
70  void readShapeData(librevenge::RVNGInputStream *input);
71  void readXFormData(librevenge::RVNGInputStream *input);
72  virtual void readXForm1D(librevenge::RVNGInputStream *input);
73  void readTxtXForm(librevenge::RVNGInputStream *input);
74  void readShapeId(librevenge::RVNGInputStream *input);
75  virtual void readShapeList(librevenge::RVNGInputStream *input);
76  void readForeignDataType(librevenge::RVNGInputStream *input);
77  void readPageProps(librevenge::RVNGInputStream *input);
78  virtual void readShape(librevenge::RVNGInputStream *input);
79  void readColours(librevenge::RVNGInputStream *input);
80  void readFont(librevenge::RVNGInputStream *input);
81  void readFontIX(librevenge::RVNGInputStream *input);
82  virtual void readCharList(librevenge::RVNGInputStream *input);
83  virtual void readParaList(librevenge::RVNGInputStream *input);
84  virtual void readPropList(librevenge::RVNGInputStream *input);
85  virtual void readPage(librevenge::RVNGInputStream *input);
86  virtual void readText(librevenge::RVNGInputStream *input);
87  virtual void readCharIX(librevenge::RVNGInputStream *input);
88  virtual void readParaIX(librevenge::RVNGInputStream *input);
89  virtual void readTextBlock(librevenge::RVNGInputStream *input);
90  virtual void readTabsDataList(librevenge::RVNGInputStream *input);
91  virtual void readTabsData(librevenge::RVNGInputStream *input);
92 
93  void readNameList(librevenge::RVNGInputStream *input);
94  virtual void readName(librevenge::RVNGInputStream *input);
95 
96  virtual void readNameList2(librevenge::RVNGInputStream *input);
97  virtual void readName2(librevenge::RVNGInputStream *input);
98 
99  virtual void readFieldList(librevenge::RVNGInputStream *input);
100  virtual void readTextField(librevenge::RVNGInputStream *input);
101 
102  virtual void readStyleSheet(librevenge::RVNGInputStream *input);
103  void readPageSheet(librevenge::RVNGInputStream *input);
104 
105  void readSplineStart(librevenge::RVNGInputStream *input);
106  void readSplineKnot(librevenge::RVNGInputStream *input);
107 
108  void readStencilShape(librevenge::RVNGInputStream *input);
109 
110  void readOLEList(librevenge::RVNGInputStream *input);
111  void readOLEData(librevenge::RVNGInputStream *input);
112 
113  virtual void readNameIDX(librevenge::RVNGInputStream *input);
114  virtual void readNameIDX123(librevenge::RVNGInputStream *input);
115 
116  virtual void readMisc(librevenge::RVNGInputStream *input);
117 
118  virtual void readLayerList(librevenge::RVNGInputStream *input);
119  virtual void readLayer(librevenge::RVNGInputStream *input);
120  virtual void readLayerMem(librevenge::RVNGInputStream *input);
121 
122  // parser of one pass
123  bool parseDocument(librevenge::RVNGInputStream *input, unsigned shift);
124 
125  void parseMetaData();
126 
127  // Stream handlers
128  void handleStreams(librevenge::RVNGInputStream *input, unsigned ptrType, unsigned shift, unsigned level, std::set<unsigned> &visited);
129  void handleStream(const Pointer &ptr, unsigned idx, unsigned level, std::set<unsigned> &visited);
130  void handleChunks(librevenge::RVNGInputStream *input, unsigned level);
131  void handleChunk(librevenge::RVNGInputStream *input);
132  void handleBlob(librevenge::RVNGInputStream *input, unsigned shift, unsigned level);
133 
134  virtual void readPointer(librevenge::RVNGInputStream *input, Pointer &ptr);
135  virtual void readPointerInfo(librevenge::RVNGInputStream *input, unsigned ptrType, unsigned shift, unsigned &listSize, int &pointerCount);
136  virtual bool getChunkHeader(librevenge::RVNGInputStream *input);
137  void _handleLevelChange(unsigned level);
138  Colour _colourFromIndex(unsigned idx);
139  void _flushShape();
140  void _nameFromId(VSDName &name, unsigned id, unsigned level);
141 
142  virtual unsigned getUInt(librevenge::RVNGInputStream *input);
143  virtual int getInt(librevenge::RVNGInputStream *input);
144 
145  librevenge::RVNGInputStream *m_input;
146  librevenge::RVNGDrawingInterface *m_painter;
147  librevenge::RVNGInputStream *m_container;
151  unsigned m_currentLevel;
152 
160 
162 
164  std::vector<Colour> m_colours;
165 
168 
171 
174 
175  std::map<unsigned, VSDName> m_fonts;
176  std::map<unsigned, VSDName> m_names;
177  std::map<unsigned, std::map<unsigned, VSDName> > m_namesMapMap;
179 
180  std::map<unsigned, VSDTabStop> *m_currentTabSet;
181 
182 private:
186 
187 };
188 
189 } // namespace libvisio
190 
191 #endif // __VSDPARSER_H__
192 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libvisio::NURBSData::points
std::vector< std::pair< double, double > > points
Definition: VSDTypes.h:103
libvisio::VSDParser::readPolylineTo
void readPolylineTo(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1496
libvisio::Pointer::Pointer
Pointer()
Definition: VSDParser.h:36
VSD_NAME_LIST2
#define VSD_NAME_LIST2
Definition: VSDDocumentStructure.h:32
libvisio::VSDParser::readLayerMem
virtual void readLayerMem(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1064
VSD_CHAR_LIST
#define VSD_CHAR_LIST
Definition: VSDDocumentStructure.h:48
VSD_FOREIGN_DATA
#define VSD_FOREIGN_DATA
Definition: VSDDocumentStructure.h:13
VSD_GEOMETRY
#define VSD_GEOMETRY
Definition: VSDDocumentStructure.h:68
VSDGeometryList.h
libvisio::VSDParser::readOLEData
void readOLEData(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:782
libvisio::VSDParser::_colourFromIndex
Colour _colourFromIndex(unsigned idx)
Definition: VSDParser.cpp:2285
libvisio::VSDParser::handleStream
void handleStream(const Pointer &ptr, unsigned idx, unsigned level, std::set< unsigned > &visited)
Definition: VSDParser.cpp:290
libvisio::VSDParser::readCharIX
virtual void readCharIX(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1925
VSD_NAMEIDX
#define VSD_NAMEIDX
Definition: VSDDocumentStructure.h:123
libvisio::Pointer
Definition: VSDParser.h:35
VSDCharacterList.h
libvisio::VSDShape::m_xform
XForm m_xform
Definition: VSDStencils.h:54
libvisio::VSDParser::m_currentPageName
VSDName m_currentPageName
Definition: VSDParser.h:178
libvisio::VSD_TEXT_TURKISH
@ VSD_TEXT_TURKISH
Definition: VSDTypes.h:162
libvisio::VSDParser::m_shadowOffsetX
double m_shadowOffsetX
Definition: VSDParser.h:169
VSD_NAME
#define VSD_NAME
Definition: VSDDocumentStructure.h:30
libvisio::VSDParser::m_extractStencils
bool m_extractStencils
Definition: VSDParser.h:163
libvisio::VSDStylesCollector
Definition: VSDStylesCollector.h:25
VSD_FONT_IX
#define VSD_FONT_IX
Definition: VSDDocumentStructure.h:21
VSD_TABS_DATA_1
#define VSD_TABS_DATA_1
Definition: VSDDocumentStructure.h:67
libvisio::VSDParser::parseDocument
bool parseDocument(librevenge::RVNGInputStream *input, unsigned shift)
Definition: VSDParser.cpp:177
VSD_LAYER
#define VSD_LAYER
Definition: VSDDocumentStructure.h:99
VSD_FONTFACES
#define VSD_FONTFACES
Definition: VSDDocumentStructure.h:127
libvisio::VSDParser::m_currentGeomListCount
unsigned m_currentGeomListCount
Definition: VSDParser.h:173
VSDFieldList.h
libvisio::VSDLayer::m_printable
bool m_printable
Definition: VSDLayerList.h:30
libvisio::VSDLayer::m_colour
boost::optional< Colour > m_colour
Definition: VSDLayerList.h:28
VSDShapeList.h
libvisio::VSDParser::readNURBSTo
void readNURBSTo(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1337
libvisio::VSDParser::readSplineStart
void readSplineStart(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1678
libvisio::VSDParser
Definition: VSDParser.h:48
libvisio::VSDMetaData::parse
bool parse(librevenge::RVNGInputStream *input)
Definition: VSDMetaData.cpp:82
libvisio::Colour::b
unsigned char b
Definition: VSDTypes.h:91
libvisio::PolylineData::points
std::vector< std::pair< double, double > > points
Definition: VSDTypes.h:126
VSD_TABS_DATA_2
#define VSD_TABS_DATA_2
Definition: VSDDocumentStructure.h:81
libvisio::VSDParser::readStyleSheet
virtual void readStyleSheet(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1885
VSD_NAME2
#define VSD_NAME2
Definition: VSDDocumentStructure.h:33
libvisio::VSDParser::readCharList
virtual void readCharList(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:953
VSD_CHAR_IX
#define VSD_CHAR_IX
Definition: VSDDocumentStructure.h:79
libvisio::VSDShape::m_textFormat
TextFormat m_textFormat
Definition: VSDStencils.h:51
libvisio::XForm
Definition: VSDTypes.h:23
libvisio::VSDParser::m_shape
VSDShape m_shape
Definition: VSDParser.h:155
VSD_STENCIL_PAGE
#define VSD_STENCIL_PAGE
Definition: VSDDocumentStructure.h:24
VSD_SHAPE_LIST
#define VSD_SHAPE_LIST
Definition: VSDDocumentStructure.h:45
VSDStylesCollector.h
libvisio::VSDCollector
Definition: VSDCollector.h:21
libvisio::VSDParser::readEllipticalArcTo
void readEllipticalArcTo(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:744
libvisio::NURBSData::yType
unsigned char yType
Definition: VSDTypes.h:100
VSD_LINE
#define VSD_LINE
Definition: VSDDocumentStructure.h:64
VSD_SHAPE_DATA
#define VSD_SHAPE_DATA
Definition: VSDDocumentStructure.h:125
VSD_SHAPE_ID
#define VSD_SHAPE_ID
Definition: VSDDocumentStructure.h:62
libvisio::VSDParser::m_container
librevenge::RVNGInputStream * m_container
Definition: VSDParser.h:147
libvisio::VSDParser::_nameFromId
void _nameFromId(VSDName &name, unsigned id, unsigned level)
Definition: VSDParser.cpp:38
libvisio::VSDParser::readNameIDX123
virtual void readNameIDX123(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:833
libvisio::VSD_TEXT_ANSI
@ VSD_TEXT_ANSI
Definition: VSDTypes.h:159
VSD_SHAPE_FOREIGN
#define VSD_SHAPE_FOREIGN
Definition: VSDDocumentStructure.h:40
libvisio::VSDParser::m_isShapeStarted
bool m_isShapeStarted
Definition: VSDParser.h:167
libvisio::VSDParser::m_fonts
std::map< unsigned, VSDName > m_fonts
Definition: VSDParser.h:175
libvisio::VSDParser::readForeignData
void readForeignData(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:764
VSD_ELLIPTICAL_ARC_TO
#define VSD_ELLIPTICAL_ARC_TO
Definition: VSDDocumentStructure.h:75
VSDContentCollector.h
VSD_DEBUG_MSG
#define VSD_DEBUG_MSG(M)
Definition: libvisio_utils.h:42
libvisio::VSDStencils
Definition: VSDStencils.h:78
VSD_NAMEIDX123
#define VSD_NAMEIDX123
Definition: VSDDocumentStructure.h:34
libvisio::VSDParser::m_isBackgroundPage
bool m_isBackgroundPage
Definition: VSDParser.h:166
VSD_PROP_LIST
#define VSD_PROP_LIST
Definition: VSDDocumentStructure.h:47
libvisio::VSDParser::m_namesMapMap
std::map< unsigned, std::map< unsigned, VSDName > > m_namesMapMap
Definition: VSDParser.h:177
libvisio::VSDShape::m_foreign
ForeignData * m_foreign
Definition: VSDStencils.h:38
libvisio::VSDShape::m_misc
VSDMisc m_misc
Definition: VSDStencils.h:57
libvisio::EndOfStreamException
Definition: libvisio_utils.h:76
libvisio::VSDParser::readXFormData
void readXFormData(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1134
libvisio::VSDParser::handleChunk
void handleChunk(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:458
VSD_POLYLINE_TO
#define VSD_POLYLINE_TO
Definition: VSDDocumentStructure.h:116
libvisio::PolylineData::xType
unsigned char xType
Definition: VSDTypes.h:124
libvisio::Colour::r
unsigned char r
Definition: VSDTypes.h:89
libvisio::VSDParser::readText
virtual void readText(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1903
VSD_PAGES
#define VSD_PAGES
Definition: VSDDocumentStructure.h:27
libvisio::VSDParser::readTextBlock
virtual void readTextBlock(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:892
VSD_STYLE_SHEET
#define VSD_STYLE_SHEET
Definition: VSDDocumentStructure.h:42
VSDDocumentStructure.h
libvisio::VSDParser::readFontIX
void readFontIX(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1770
libvisio::VSDParser::readStencilShape
void readStencilShape(librevenge::RVNGInputStream *input)
libvisio::VSDStencil
Definition: VSDStencils.h:62
libvisio::VSDParser::parseMain
bool parseMain()
Definition: VSDParser.cpp:106
VSD_NAME_LIST
#define VSD_NAME_LIST
Definition: VSDDocumentStructure.h:29
libvisio::VSDParser::readMisc
virtual void readMisc(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:2241
libvisio::VSDParser::handleBlob
void handleBlob(librevenge::RVNGInputStream *input, unsigned shift, unsigned level)
Definition: VSDParser.cpp:424
libvisio::readU32
uint32_t readU32(librevenge::RVNGInputStream *input)
Definition: libvisio_utils.cpp:55
libvisio::VSDParser::m_names
std::map< unsigned, VSDName > m_names
Definition: VSDParser.h:176
libvisio::VSDParser::m_currentStencil
VSDStencil * m_currentStencil
Definition: VSDParser.h:154
libvisio::VSDParser::m_currentLayerListLevel
unsigned m_currentLayerListLevel
Definition: VSDParser.h:161
VSD_LAYER_LIST
#define VSD_LAYER_LIST
Definition: VSDDocumentStructure.h:54
libvisio::VSDParser::m_currentGeometryList
VSDGeometryList * m_currentGeometryList
Definition: VSDParser.h:172
libvisio::Pointer::ListSize
unsigned ListSize
Definition: VSDParser.h:44
libvisio::VSDParser::m_painter
librevenge::RVNGDrawingInterface * m_painter
Definition: VSDParser.h:146
VSDInternalStream.h
VSDInternalStream
Definition: VSDInternalStream.h:19
libvisio::VSDParser::m_header
ChunkHeader m_header
Definition: VSDParser.h:148
libvisio::VSDOptionalParaStyle
Definition: VSDStyles.h:349
libvisio::VSDParser::readArcTo
void readArcTo(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1121
VSD_NURBS_TO
#define VSD_NURBS_TO
Definition: VSDDocumentStructure.h:117
libvisio::VSDParser::handleStreams
void handleStreams(librevenge::RVNGInputStream *input, unsigned ptrType, unsigned shift, unsigned level, std::set< unsigned > &visited)
Definition: VSDParser.cpp:219
VSDTypes.h
VSD_TEXT_BLOCK
#define VSD_TEXT_BLOCK
Definition: VSDDocumentStructure.h:66
libvisio::Colour
Definition: VSDTypes.h:73
libvisio::VSDParser::readName
virtual void readName(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:2146
libvisio::NURBSData::weights
std::vector< double > weights
Definition: VSDTypes.h:102
libvisio::VSDParser::readColours
void readColours(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1734
libvisio::VSDParser::m_isInStyles
bool m_isInStyles
Definition: VSDParser.h:157
libvisio::VSDParser::readShapeData
void readShapeData(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1609
libvisio::VSDParser::_flushShape
void _flushShape()
Definition: VSDParser.cpp:634
VSD_LINE_TO
#define VSD_LINE_TO
Definition: VSDDocumentStructure.h:70
libvisio::readU8
uint8_t readU8(librevenge::RVNGInputStream *input)
Definition: libvisio_utils.cpp:18
libvisio::VSD_TEXT_CHINESE_TRADITIONAL
@ VSD_TEXT_CHINESE_TRADITIONAL
Definition: VSDTypes.h:173
libvisio::VSDParser::m_isStencilStarted
bool m_isStencilStarted
Definition: VSDParser.h:156
libvisio::VSDParser::readNameList2
virtual void readNameList2(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1710
VSD_ELLIPSE
#define VSD_ELLIPSE
Definition: VSDDocumentStructure.h:74
libvisio::VSDParser::m_currentTabSet
std::map< unsigned, VSDTabStop > * m_currentTabSet
Definition: VSDParser.h:180
libvisio::VSDParser::readPropList
virtual void readPropList(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:997
libvisio::readU16
uint16_t readU16(librevenge::RVNGInputStream *input)
Definition: libvisio_utils.cpp:34
libvisio::VSDParser::_handleLevelChange
void _handleLevelChange(unsigned level)
Definition: VSDParser.cpp:713
libvisio::VSDParser::readLineTo
void readLineTo(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1110
libvisio::VSD_TEXT_GREEK
@ VSD_TEXT_GREEK
Definition: VSDTypes.h:161
libvisio::VSDParser::readTxtXForm
void readTxtXForm(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1168
libvisio::VSDParser::readInfiniteLine
void readInfiniteLine(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1595
libvisio::VSDParser::readName2
virtual void readName2(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:2157
libvisio::VSDOptionalCharStyle
Definition: VSDStyles.h:224
libvisio::VSDParser::readTabsData
virtual void readTabsData(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:797
libvisio::VSDParser::readLayer
virtual void readLayer(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1041
VSD_ALMOST_ZERO
#define VSD_ALMOST_ZERO(m)
Definition: libvisio_utils.h:24
libvisio::VSDMetaData
Definition: VSDMetaData.h:24
libvisio::getRemainingLength
unsigned long getRemainingLength(librevenge::RVNGInputStream *input)
Definition: libvisio_utils.cpp:112
libvisio::VSDParser::readNameList
void readNameList(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1705
VSD_FIELD_LIST
#define VSD_FIELD_LIST
Definition: VSDDocumentStructure.h:46
VSD_SPLINE_KNOT
#define VSD_SPLINE_KNOT
Definition: VSDDocumentStructure.h:97
VSD_PAGE
#define VSD_PAGE
Definition: VSDDocumentStructure.h:18
libvisio::VSDParser::readPageProps
void readPageProps(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1249
libvisio::VSDParser::parseMetaData
void parseMetaData()
Definition: VSDParser.cpp:151
VSD_OLE_LIST
#define VSD_OLE_LIST
Definition: VSDDocumentStructure.h:14
libvisio::VSDParser::readOLEList
void readOLEList(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:778
libvisio::XForm1D
Definition: VSDTypes.h:45
libvisio::VSDParser::readTabsDataList
virtual void readTabsDataList(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1001
libvisio::VSDGeometryList
Definition: VSDGeometryList.h:48
libvisio::VSDParser::readPageSheet
void readPageSheet(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1897
libvisio::VSDParser::readLayerList
virtual void readLayerList(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1021
libvisio::VSDParser::readTextField
virtual void readTextField(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:2172
VSD_MISC
#define VSD_MISC
Definition: VSDDocumentStructure.h:95
libvisio::VSDParser::readMoveTo
void readMoveTo(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1099
libvisio::VSD_TEXT_UTF16
@ VSD_TEXT_UTF16
Definition: VSDTypes.h:175
libvisio::VSDParser::readParaIX
virtual void readParaIX(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1993
libvisio::VSDOptionalLineStyle
Definition: VSDStyles.h:24
libvisio::VSDShape::m_tabSets
std::map< unsigned, VSDTabSet > m_tabSets
Definition: VSDStencils.h:48
VSD_TABS_DATA_3
#define VSD_TABS_DATA_3
Definition: VSDDocumentStructure.h:82
libvisio::VSDParser::operator=
VSDParser & operator=(const VSDParser &)
libvisio::Pointer::Pointer
Pointer(const Pointer &ptr)
Definition: VSDParser.h:38
libvisio::PolylineData
Definition: VSDTypes.h:123
libvisio::VSD_TEXT_HEBREW
@ VSD_TEXT_HEBREW
Definition: VSDTypes.h:164
libvisio::VSDLayer
Definition: VSDLayerList.h:22
libvisio::VSDShapeList
Definition: VSDShapeList.h:20
libvisio::VSDParser::m_input
librevenge::RVNGInputStream * m_input
Definition: VSDParser.h:145
libvisio::VSDParser::readSplineKnot
void readSplineKnot(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1693
VSD_FOREIGN_DATA_TYPE
#define VSD_FOREIGN_DATA_TYPE
Definition: VSDDocumentStructure.h:83
VSD_STENCILS
#define VSD_STENCILS
Definition: VSDDocumentStructure.h:23
VSD_STYLES
#define VSD_STYLES
Definition: VSDDocumentStructure.h:22
libvisio::VSDContentCollector
Definition: VSDContentCollector.h:32
libvisio::VSDParser::handleChunks
void handleChunks(librevenge::RVNGInputStream *input, unsigned level)
Definition: VSDParser.cpp:440
libvisio::VSDStyles
Definition: VSDStyles.h:533
libvisio::VSDParser::readShapeId
void readShapeId(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1189
libvisio::VSDFont
Definition: VSDTypes.h:200
VSDMetaData.h
libvisio::VSDParser::readPointer
virtual void readPointer(librevenge::RVNGInputStream *input, Pointer &ptr)
Definition: VSDParser.cpp:199
libvisio::NURBSData::xType
unsigned char xType
Definition: VSDTypes.h:99
libvisio::PolylineData::yType
unsigned char yType
Definition: VSDTypes.h:125
VSD_COLORS
#define VSD_COLORS
Definition: VSDDocumentStructure.h:19
libvisio::VSDParser::readFieldList
virtual void readFieldList(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1715
libvisio::VSDParser::readGeometry
void readGeometry(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1088
VSDStencils.h
VSD_PARA_LIST
#define VSD_PARA_LIST
Definition: VSDDocumentStructure.h:49
libvisio::ChunkHeader
Definition: VSDTypes.h:61
libvisio::VSD_TEXT_RUSSIAN
@ VSD_TEXT_RUSSIAN
Definition: VSDTypes.h:167
libvisio::VSDParser::m_stencils
VSDStencils m_stencils
Definition: VSDParser.h:153
VSD_XFORM_DATA
#define VSD_XFORM_DATA
Definition: VSDDocumentStructure.h:86
libvisio::VSDParser::getUInt
virtual unsigned getUInt(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:2292
VSD_SHAPE_GROUP
#define VSD_SHAPE_GROUP
Definition: VSDDocumentStructure.h:37
libvisio::VSDParser::m_collector
VSDCollector * m_collector
Definition: VSDParser.h:149
libvisio::VSD_TEXT_THAI
@ VSD_TEXT_THAI
Definition: VSDTypes.h:168
libvisio::Pointer::Length
unsigned Length
Definition: VSDParser.h:42
libvisio::VSD_TEXT_KOREAN
@ VSD_TEXT_KOREAN
Definition: VSDTypes.h:171
libvisio::VSDParser::readForeignDataType
void readForeignDataType(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1221
libvisio::ForeignData
Definition: VSDTypes.h:135
VSDInternalStream::getSize
unsigned long getSize() const
Definition: VSDInternalStream.h:52
libvisio::VSDParser::readShape
virtual void readShape(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1277
libvisio::VSD_TEXT_ARABIC
@ VSD_TEXT_ARABIC
Definition: VSDTypes.h:165
libvisio::Colour::g
unsigned char g
Definition: VSDTypes.h:90
libvisio::TextFormat
TextFormat
Definition: VSDTypes.h:158
libvisio::VSDShape::m_txtxform
XForm * m_txtxform
Definition: VSDStencils.h:55
libvisio::VSDLayer::m_visible
bool m_visible
Definition: VSDLayerList.h:29
libvisio::VSDParser::VSDParser
VSDParser()
libvisio::VSDMetaData::getMetaData
const librevenge::RVNGPropertyList & getMetaData()
Definition: VSDMetaData.cpp:349
libvisio::NURBSData::knots
std::vector< double > knots
Definition: VSDTypes.h:101
libvisio::VSDMetaData::parseTimes
bool parseTimes(librevenge::RVNGInputStream *input)
Definition: VSDMetaData.cpp:297
libvisio::VSDParser::VSDParser
VSDParser(const VSDParser &)
libvisio::VSDParser::readPage
virtual void readPage(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1081
libvisio::VSDParser::getChunkHeader
virtual bool getChunkHeader(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:50
libvisio::VSDShape
Definition: VSDStencils.h:27
VSD_MOVE_TO
#define VSD_MOVE_TO
Definition: VSDDocumentStructure.h:69
VSD_INFINITE_LINE
#define VSD_INFINITE_LINE
Definition: VSDDocumentStructure.h:72
libvisio::VSDParser::readGeomList
virtual void readGeomList(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:923
VSD_TEXT_FIELD
#define VSD_TEXT_FIELD
Definition: VSDDocumentStructure.h:92
VSD_PAGE_SHEET
#define VSD_PAGE_SHEET
Definition: VSDDocumentStructure.h:36
VSDParagraphList.h
libvisio::VSD_TEXT_CHINESE_SIMPLIFIED
@ VSD_TEXT_CHINESE_SIMPLIFIED
Definition: VSDTypes.h:172
VSD_TRAILER_STREAM
#define VSD_TRAILER_STREAM
Definition: VSDDocumentStructure.h:17
libvisio::VSDShape::m_text
librevenge::RVNGBinaryData m_text
Definition: VSDStencils.h:49
libvisio::VSDParser::readShapeList
virtual void readShapeList(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1197
VSD_GEOM_LIST
#define VSD_GEOM_LIST
Definition: VSDDocumentStructure.h:51
VSDLayerList.h
libvisio::readS32
int32_t readS32(librevenge::RVNGInputStream *input)
Definition: libvisio_utils.cpp:71
libvisio::Colour::a
unsigned char a
Definition: VSDTypes.h:92
libvisio::VSDParser::readEllipse
void readEllipse(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:849
libvisio::Pointer::Type
unsigned Type
Definition: VSDParser.h:40
libvisio::Pointer::Offset
unsigned Offset
Definition: VSDParser.h:41
libvisio::VSD_TEXT_SYMBOL
@ VSD_TEXT_SYMBOL
Definition: VSDTypes.h:160
libvisio::VSDName
Definition: VSDTypes.h:179
VSD_SHAPE_SHAPE
#define VSD_SHAPE_SHAPE
Definition: VSDDocumentStructure.h:38
VSD_TABS_DATA_LIST
#define VSD_TABS_DATA_LIST
Definition: VSDDocumentStructure.h:50
libvisio::VSDParser::readPointerInfo
virtual void readPointerInfo(librevenge::RVNGInputStream *input, unsigned ptrType, unsigned shift, unsigned &listSize, int &pointerCount)
Definition: VSDParser.cpp:208
libvisio::VSDParser::m_colours
std::vector< Colour > m_colours
Definition: VSDParser.h:164
VSD_TEXT_XFORM
#define VSD_TEXT_XFORM
Definition: VSDDocumentStructure.h:87
libvisio::NURBSData::degree
unsigned degree
Definition: VSDTypes.h:98
VSD_FONTFACE
#define VSD_FONTFACE
Definition: VSDDocumentStructure.h:126
VSD_FILL_AND_SHADOW
#define VSD_FILL_AND_SHADOW
Definition: VSDDocumentStructure.h:65
VSD_PARA_IX
#define VSD_PARA_IX
Definition: VSDDocumentStructure.h:80
libvisio::VSDParser::readNameIDX
virtual void readNameIDX(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:811
MINUS_ONE
#define MINUS_ONE
Definition: VSDTypes.h:18
libvisio::VSDParser::getInt
virtual int getInt(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:2297
libvisio::VSDParser::readParaList
virtual void readParaList(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:975
libvisio::VSDParser::m_currentShapeLevel
unsigned m_currentShapeLevel
Definition: VSDParser.h:158
libvisio::NURBSData::lastKnot
double lastKnot
Definition: VSDTypes.h:97
libvisio::VSDParser::readFont
void readFont(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1753
libvisio::VSDParser::m_currentLevel
unsigned m_currentLevel
Definition: VSDParser.h:151
libvisio::VSDOptionalFillStyle
Definition: VSDStyles.h:109
libvisio_utils.h
libvisio::VSD_TEXT_CENTRAL_EUROPE
@ VSD_TEXT_CENTRAL_EUROPE
Definition: VSDTypes.h:169
VSD_XFORM_1D
#define VSD_XFORM_1D
Definition: VSDDocumentStructure.h:88
libvisio::VSDParser::readXForm1D
virtual void readXForm1D(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:1154
libvisio::VSDParser::readFillAndShadow
virtual void readFillAndShadow(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:2078
libvisio::VSD_TEXT_BALTIC
@ VSD_TEXT_BALTIC
Definition: VSDTypes.h:166
VSD_OLE_DATA
#define VSD_OLE_DATA
Definition: VSDDocumentStructure.h:25
libvisio::VSDStylesCollector::getStyleSheets
const VSDStyles & getStyleSheets() const
Definition: VSDStylesCollector.h:175
VSD_TEXT
#define VSD_TEXT
Definition: VSDDocumentStructure.h:15
libvisio::NURBSData
Definition: VSDTypes.h:96
libvisio::VSDOptionalTextBlockStyle
Definition: VSDStyles.h:453
libvisio::VSD_TEXT_JAPANESE
@ VSD_TEXT_JAPANESE
Definition: VSDTypes.h:170
libvisio::readDouble
double readDouble(librevenge::RVNGInputStream *input)
Definition: libvisio_utils.cpp:92
libvisio::VSDParser::m_currentShapeID
unsigned m_currentShapeID
Definition: VSDParser.h:159
VSD_SPLINE_START
#define VSD_SPLINE_START
Definition: VSDDocumentStructure.h:96
VSD_ARC_TO
#define VSD_ARC_TO
Definition: VSDDocumentStructure.h:71
libvisio::VSDParser::~VSDParser
virtual ~VSDParser()
Definition: VSDParser.cpp:34
libvisio::VSDParser::extractStencils
bool extractStencils()
Definition: VSDParser.cpp:193
libvisio::RVNGInputStreamPtr_t
std::shared_ptr< librevenge::RVNGInputStream > RVNGInputStreamPtr_t
Definition: libvisio_utils.h:51
libvisio
Definition: libvisio_utils.h:49
VSD_PAGE_PROPS
#define VSD_PAGE_PROPS
Definition: VSDDocumentStructure.h:77
libvisio::VSD_TEXT_VIETNAMESE
@ VSD_TEXT_VIETNAMESE
Definition: VSDTypes.h:163
VSD_LAYER_MEMBERSHIP
#define VSD_LAYER_MEMBERSHIP
Definition: VSDDocumentStructure.h:98
libvisio::Pointer::Format
unsigned short Format
Definition: VSDParser.h:43
libvisio::VSDParser::m_shadowOffsetY
double m_shadowOffsetY
Definition: VSDParser.h:170
libvisio::VSDParser::m_shapeList
VSDShapeList m_shapeList
Definition: VSDParser.h:150
libvisio::VSDParser::readLine
virtual void readLine(librevenge::RVNGInputStream *input)
Definition: VSDParser.cpp:868
VSDParser.h

Generated for libvisio by doxygen 1.8.20