Go to the documentation of this file.
10 #ifndef __VSDXMLPARSERBASE_H__
11 #define __VSDXMLPARSERBASE_H__
17 #include <boost/optional.hpp>
28 class XMLErrorWatcher;
70 int readByteData(
unsigned char &value, xmlTextReaderPtr reader);
71 int readByteData(boost::optional<unsigned char> &value, xmlTextReaderPtr reader);
72 int readUnsignedData(boost::optional<unsigned> &value, xmlTextReaderPtr reader);
73 int readLongData(boost::optional<long> &value, xmlTextReaderPtr reader);
75 int readDoubleData(boost::optional<double> &value, xmlTextReaderPtr reader);
77 int readBoolData(boost::optional<bool> &value, xmlTextReaderPtr reader);
82 int readNURBSData(boost::optional<NURBSData> &data, xmlTextReaderPtr reader);
83 int readPolylineData(boost::optional<PolylineData> &data, xmlTextReaderPtr reader);
88 unsigned getIX(xmlTextReaderPtr reader);
115 void readPage(xmlTextReaderPtr reader);
116 void readText(xmlTextReaderPtr reader);
150 #endif // __VSDXMLPARSERBASE_H__
const int XML_TEXTPOSAFTERBULLET
Definition: tokens.h:186
std::vector< std::pair< double, double > > points
Definition: VSDTypes.h:101
librevenge::RVNGBinaryData m_currentBinaryData
Definition: VSDXMLParserBase.h:54
const int XML_PARA
Definition: tokens.h:122
const VSDShape * getStencilShape(unsigned id) const
Definition: VSDStencils.cpp:135
void readColours(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1028
virtual bool parseMain()=0
std::stack< unsigned > m_shapeLevelStack
Definition: VSDXMLParserBase.h:56
void readCharIX(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1173
int readByteData(unsigned char &value, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2164
void readPageSheet(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1568
const int XML_ARCTO
Definition: tokens.h:8
const int XML_B
Definition: tokens.h:9
XForm m_xform
Definition: VSDStencils.h:55
std::unique_ptr< ForeignData > m_foreign
Definition: VSDStencils.h:39
const int XML_STRIKETHRU
Definition: tokens.h:169
void readRelEllipticalArcTo(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:640
void readForeignData(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1707
const int XML_X
Definition: tokens.h:204
virtual bool extractStencils()=0
const int XML_INDFIRST
Definition: tokens.h:82
bool m_printable
Definition: VSDLayerList.h:30
boost::optional< Colour > m_colour
Definition: VSDLayerList.h:28
const int XML_RELMOVETO
Definition: tokens.h:144
virtual int getElementToken(xmlTextReaderPtr reader)=0
void readInfiniteLine(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:582
unsigned m_currentShapeLevel
Definition: VSDXMLParserBase.h:50
unsigned m_currentStencilID
Definition: VSDXMLParserBase.h:45
std::vector< std::pair< double, double > > points
Definition: VSDTypes.h:118
const int XML_BULLETSTR
Definition: tokens.h:19
std::map< unsigned, VSDGeometryList > m_geometries
Definition: VSDStencils.h:36
int readExtendedColourData(Colour &value, long &idx, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2181
void readPolylineTo(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:528
TextFormat m_textFormat
Definition: VSDStencils.h:52
virtual ~VSDXMLParserBase()
Definition: VSDXMLParserBase.cpp:42
void handleMasterEnd(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1915
Definition: VSDCollector.h:21
unsigned char yType
Definition: VSDTypes.h:98
bool m_isPageStarted
Definition: VSDXMLParserBase.h:58
void skipPages(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1950
bool m_extractStencils
Definition: VSDXMLParserBase.h:47
unsigned getIX(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2230
void handlePagesEnd(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1856
VSDFieldList m_fieldList
Definition: VSDXMLParserBase.h:52
const int XML_A
Definition: tokens.h:4
const int XML_NOFILL
Definition: tokens.h:110
const int XML_GEOM
Definition: tokens.h:68
#define VSD_DEBUG_MSG(M)
Definition: libvisio_utils.h:42
int readLongData(boost::optional< long > &value, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2116
const int XML_STYLE
Definition: tokens.h:170
const int XML_FONTSCALE
Definition: tokens.h:61
Definition: VSDStencils.h:79
void readTriggerId(unsigned &id, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2239
const int XML_TEXT
Definition: tokens.h:181
void readShape(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:930
double xmlStringToDouble(const xmlChar *s)
Definition: libvisio_xml.cpp:175
VSDMisc m_misc
Definition: VSDStencils.h:58
const int XML_PP
Definition: tokens.h:271
unsigned char xType
Definition: VSDTypes.h:116
const int XML_RELELLIPTICALARCTO
Definition: tokens.h:142
const int XML_ROW
Definition: tokens.h:149
virtual void _handleLevelChange(unsigned level)
Definition: VSDXMLParserBase.cpp:1842
const int XML_PRINT
Definition: tokens.h:129
const int XML_FONT
Definition: tokens.h:60
void readEllipticalArcTo(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:325
bool xmlStringToBool(const xmlChar *s)
Definition: libvisio_xml.cpp:193
bool m_isStencilStarted
Definition: VSDXMLParserBase.h:44
int readNURBSData(boost::optional< NURBSData > &data, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1964
Definition: VSDStencils.h:63
const int XML_RELLINETO
Definition: tokens.h:143
Definition: libvisio_utils.h:92
const int XML_RELQUADBEZTO
Definition: tokens.h:145
const int XML_CP
Definition: tokens.h:258
Definition: VSDStyles.h:323
const int XML_COLOR
Definition: tokens.h:27
unsigned m_firstShapeId
Definition: VSDStencils.h:75
const int XML_SPAFTER
Definition: tokens.h:164
Definition: VSDTypes.h:71
const int XML_LINETO
Definition: tokens.h:99
const int XML_E
Definition: tokens.h:39
std::map< unsigned, VSDName > m_fonts
Definition: VSDXMLParserBase.h:62
void readRelMoveTo(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:822
void initColours()
Definition: VSDXMLParserBase.cpp:999
std::vector< double > weights
Definition: VSDTypes.h:100
Definition: VSDFieldList.h:88
const int XML_D
Definition: tokens.h:33
void readText(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1080
const int XML_ELLIPTICALARCTO
Definition: tokens.h:43
void readParaIX(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1406
void readRelLineTo(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:772
void readGeometry(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:48
void handleMastersEnd(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1897
void readSplineKnot(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1640
const int XML_SIZE
Definition: tokens.h:162
void readEllipse(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:391
Colour xmlStringToColour(const xmlChar *s)
Definition: libvisio_xml.cpp:115
Definition: libvisio_xml.h:25
const int XML_ELLIPSE
Definition: tokens.h:42
TextFormat m_format
Definition: VSDTypes.h:189
const int XML_PAGES
Definition: tokens.h:121
const int XML_INDRIGHT
Definition: tokens.h:84
void skipMasters(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1936
const int XML_POLYLINETO
Definition: tokens.h:126
XMLErrorWatcher * m_watcher
Definition: VSDXMLParserBase.h:66
const int XML_POS
Definition: tokens.h:127
Definition: VSDStyles.h:209
void handlePagesStart(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1848
void readMoveTo(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:171
const int XML_CASE
Definition: tokens.h:23
void readSplineStart(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1574
const int XML_NOLINE
Definition: tokens.h:111
void readPage(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1060
bool m_isShapeStarted
Definition: VSDXMLParserBase.h:57
const int XML_TP
Definition: tokens.h:272
Definition: VSDGeometryList.h:48
void readRelQuadBezTo(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:872
const int XML_C
Definition: tokens.h:20
const int XML_SPLINEKNOT
Definition: tokens.h:167
int readUnsignedData(boost::optional< unsigned > &value, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2155
VSDShape m_shape
Definition: VSDXMLParserBase.h:43
const int XML_LAYER
Definition: tokens.h:90
const int XML_BULLET
Definition: tokens.h:16
const int XML_VISIBLE
Definition: tokens.h:202
void readLayerMember(xmlTextReaderPtr reader)
@ VSD_TEXT_UTF8
Definition: VSDTypes.h:166
const int XML_MOVETO
Definition: tokens.h:108
const int XML_SPBEFORE
Definition: tokens.h:165
std::map< unsigned, VSDTabSet > m_tabSets
Definition: VSDStencils.h:49
const int XML_DBLUNDERLINE
Definition: tokens.h:35
Definition: VSDTypes.h:115
int readPolylineData(boost::optional< PolylineData > &data, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2017
Definition: VSDLayerList.h:22
const int XML_INDLEFT
Definition: tokens.h:83
VSDXMLParserBase()
Definition: VSDXMLParserBase.cpp:29
Definition: VSDXMLParserBase.h:31
Definition: VSDShapeList.h:20
void handleMasterStart(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1906
const int XML_CHAR
Definition: tokens.h:25
void handlePageEnd(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1870
int readBoolData(boost::optional< bool > &value, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2142
VSDGeometryList * m_currentGeometryList
Definition: VSDXMLParserBase.h:59
std::unique_ptr< XForm > m_txtxform
Definition: VSDStencils.h:56
unsigned char xType
Definition: VSDTypes.h:97
unsigned char yType
Definition: VSDTypes.h:117
VSDXMLParserBase & operator=(const VSDXMLParserBase &)
const int XML_SPLINESTART
Definition: tokens.h:168
std::map< unsigned, VSDTabStop > * m_currentTabSet
Definition: VSDXMLParserBase.h:64
const int XML_SPLINE
Definition: tokens.h:166
void readLayerIX(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1355
VSDXMLParserBase(const VSDXMLParserBase &)
VSDShapeList m_shapeList
Definition: VSDXMLParserBase.h:53
const int XML_FLAGS
Definition: tokens.h:57
int readStringData(VSDName &text, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2074
bool m_visible
Definition: VSDLayerList.h:29
const int XML_Y
Definition: tokens.h:207
const int XML_COLORS
Definition: tokens.h:30
std::vector< double > knots
Definition: VSDTypes.h:99
VSDStencils m_stencils
Definition: VSDXMLParserBase.h:41
librevenge::RVNGBinaryData m_data
Definition: VSDTypes.h:188
void handleMastersStart(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1883
Definition: VSDStencils.h:28
const int XML_MASTERS
Definition: tokens.h:106
std::map< unsigned, Colour > m_colours
Definition: VSDXMLParserBase.h:51
const int XML_BULLETFONTSIZE
Definition: tokens.h:18
unsigned m_currentLevel
Definition: VSDXMLParserBase.h:49
std::stack< VSDShape > m_shapeStack
Definition: VSDXMLParserBase.h:55
int readDoubleData(boost::optional< double > &value, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2090
VSDCollector * m_collector
Definition: VSDXMLParserBase.h:40
librevenge::RVNGBinaryData m_text
Definition: VSDStencils.h:50
void readStyleSheet(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1552
Definition: VSDTypes.h:171
const int XML_HIGHLIGHT
Definition: tokens.h:76
void readRelCubBezTo(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:706
const int XML_INFINITELINE
Definition: tokens.h:85
void readStencil(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1694
const int XML_HORZALIGN
Definition: tokens.h:77
unsigned degree
Definition: VSDTypes.h:96
const int XML_OVERLINE
Definition: tokens.h:114
const int XML_NURBSTO
Definition: tokens.h:109
#define MINUS_ONE
Definition: VSDTypes.h:18
const int XML_NOSHOW
Definition: tokens.h:112
virtual void getBinaryData(xmlTextReaderPtr reader)=0
void readNURBSTo(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:457
const int XML_TOKEN_INVALID
Definition: tokens.h:306
double lastKnot
Definition: VSDTypes.h:95
const int XML_RELCUBBEZTO
Definition: tokens.h:141
void _flushShape()
Definition: VSDXMLParserBase.cpp:1745
const int XML_BULLETFONT
Definition: tokens.h:17
bool m_isInStyles
Definition: VSDXMLParserBase.h:48
VSDCharacterList m_charList
Definition: VSDStencils.h:46
VSDParagraphList m_paraList
Definition: VSDStencils.h:48
const int XML_DOUBLESTRIKETHROUGH
Definition: tokens.h:37
Definition: VSDTypes.h:94
void readLineTo(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:221
Definition: libvisio_utils.h:49
std::unique_ptr< VSDStencil > m_currentStencil
Definition: VSDXMLParserBase.h:42
unsigned m_currentGeometryListIndex
Definition: VSDXMLParserBase.h:60
const int XML_SECTION
Definition: tokens.h:152
const int XML_COLORENTRY
Definition: tokens.h:28
void readArcTo(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:271
virtual int getElementDepth(xmlTextReaderPtr reader)=0
void handlePageStart(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1863
long xmlStringToLong(const xmlChar *s)
Definition: libvisio_xml.cpp:151
Generated for libvisio by
doxygen 1.8.20