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:103
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:164
void readColours(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1027
virtual bool parseMain()=0
std::stack< unsigned > m_shapeLevelStack
Definition: VSDXMLParserBase.h:56
void readCharIX(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1172
int readByteData(unsigned char &value, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2163
void readPageSheet(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1567
const int XML_ARCTO
Definition: tokens.h:8
const int XML_B
Definition: tokens.h:9
XForm m_xform
Definition: VSDStencils.h:54
const int XML_STRIKETHRU
Definition: tokens.h:169
void readRelEllipticalArcTo(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:639
void readForeignData(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1706
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:581
unsigned m_currentShapeLevel
Definition: VSDXMLParserBase.h:50
unsigned m_currentStencilID
Definition: VSDXMLParserBase.h:45
std::vector< std::pair< double, double > > points
Definition: VSDTypes.h:126
const int XML_BULLETSTR
Definition: tokens.h:19
std::map< unsigned, VSDGeometryList > m_geometries
Definition: VSDStencils.h:35
int readExtendedColourData(Colour &value, long &idx, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2180
void readPolylineTo(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:527
TextFormat m_textFormat
Definition: VSDStencils.h:51
virtual ~VSDXMLParserBase()
Definition: VSDXMLParserBase.cpp:41
void handleMasterEnd(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1914
Definition: VSDCollector.h:21
unsigned char yType
Definition: VSDTypes.h:100
bool m_isPageStarted
Definition: VSDXMLParserBase.h:58
void skipPages(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1949
bool m_extractStencils
Definition: VSDXMLParserBase.h:47
unsigned getIX(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2229
void handlePagesEnd(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1855
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:2115
const int XML_STYLE
Definition: tokens.h:170
const int XML_FONTSCALE
Definition: tokens.h:61
Definition: VSDStencils.h:78
void readTriggerId(unsigned &id, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2238
const int XML_TEXT
Definition: tokens.h:181
void readShape(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:929
double xmlStringToDouble(const xmlChar *s)
Definition: libvisio_xml.cpp:164
ForeignData * m_foreign
Definition: VSDStencils.h:38
VSDMisc m_misc
Definition: VSDStencils.h:57
const int XML_PP
Definition: tokens.h:271
unsigned char xType
Definition: VSDTypes.h:124
const int XML_RELELLIPTICALARCTO
Definition: tokens.h:142
const int XML_ROW
Definition: tokens.h:149
virtual void _handleLevelChange(unsigned level)
Definition: VSDXMLParserBase.cpp:1841
const int XML_PRINT
Definition: tokens.h:129
const int XML_FONT
Definition: tokens.h:60
void readEllipticalArcTo(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:324
bool xmlStringToBool(const xmlChar *s)
Definition: libvisio_xml.cpp:182
bool m_isStencilStarted
Definition: VSDXMLParserBase.h:44
int readNURBSData(boost::optional< NURBSData > &data, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1963
Definition: VSDStencils.h:62
const int XML_RELLINETO
Definition: tokens.h:143
Definition: libvisio_utils.h:80
const int XML_RELQUADBEZTO
Definition: tokens.h:145
const int XML_CP
Definition: tokens.h:258
Definition: VSDStyles.h:349
const int XML_COLOR
Definition: tokens.h:27
unsigned m_firstShapeId
Definition: VSDStencils.h:74
const int XML_SPAFTER
Definition: tokens.h:164
Definition: VSDTypes.h:73
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:821
void initColours()
Definition: VSDXMLParserBase.cpp:998
std::vector< double > weights
Definition: VSDTypes.h:102
Definition: VSDFieldList.h:82
const int XML_D
Definition: tokens.h:33
void readText(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1079
const int XML_ELLIPTICALARCTO
Definition: tokens.h:43
void readParaIX(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1405
void readRelLineTo(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:771
void readGeometry(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:47
void handleMastersEnd(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1896
void readSplineKnot(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1639
const int XML_SIZE
Definition: tokens.h:162
void readEllipse(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:390
Colour xmlStringToColour(const xmlChar *s)
Definition: libvisio_xml.cpp:104
Definition: libvisio_xml.h:25
const int XML_ELLIPSE
Definition: tokens.h:42
TextFormat m_format
Definition: VSDTypes.h:196
const int XML_PAGES
Definition: tokens.h:121
const int XML_INDRIGHT
Definition: tokens.h:84
void skipMasters(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1935
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:224
void handlePagesStart(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1847
void readMoveTo(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:170
const int XML_CASE
Definition: tokens.h:23
void readSplineStart(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1573
const int XML_NOLINE
Definition: tokens.h:111
void readPage(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1059
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:871
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:2154
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:174
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:48
const int XML_DBLUNDERLINE
Definition: tokens.h:35
Definition: VSDTypes.h:123
int readPolylineData(boost::optional< PolylineData > &data, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2016
Definition: VSDLayerList.h:22
const int XML_INDLEFT
Definition: tokens.h:83
VSDXMLParserBase()
Definition: VSDXMLParserBase.cpp:28
Definition: VSDXMLParserBase.h:31
Definition: VSDShapeList.h:20
void handleMasterStart(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1905
const int XML_CHAR
Definition: tokens.h:25
void handlePageEnd(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1869
int readBoolData(boost::optional< bool > &value, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2141
VSDGeometryList * m_currentGeometryList
Definition: VSDXMLParserBase.h:59
unsigned char xType
Definition: VSDTypes.h:99
unsigned char yType
Definition: VSDTypes.h:125
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:1354
VSDXMLParserBase(const VSDXMLParserBase &)
Definition: VSDTypes.h:135
VSDShapeList m_shapeList
Definition: VSDXMLParserBase.h:53
const int XML_FLAGS
Definition: tokens.h:57
XForm * m_txtxform
Definition: VSDStencils.h:55
int readStringData(VSDName &text, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2073
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:101
VSDStencils m_stencils
Definition: VSDXMLParserBase.h:41
librevenge::RVNGBinaryData m_data
Definition: VSDTypes.h:195
void handleMastersStart(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1882
Definition: VSDStencils.h:27
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:2089
VSDCollector * m_collector
Definition: VSDXMLParserBase.h:40
librevenge::RVNGBinaryData m_text
Definition: VSDStencils.h:49
void readStyleSheet(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1551
Definition: VSDTypes.h:179
const int XML_HIGHLIGHT
Definition: tokens.h:76
void readRelCubBezTo(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:705
const int XML_INFINITELINE
Definition: tokens.h:85
void readStencil(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1693
const int XML_HORZALIGN
Definition: tokens.h:77
unsigned degree
Definition: VSDTypes.h:98
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:456
const int XML_TOKEN_INVALID
Definition: tokens.h:306
double lastKnot
Definition: VSDTypes.h:97
const int XML_RELCUBBEZTO
Definition: tokens.h:141
void _flushShape()
Definition: VSDXMLParserBase.cpp:1744
const int XML_BULLETFONT
Definition: tokens.h:17
bool m_isInStyles
Definition: VSDXMLParserBase.h:48
VSDCharacterList m_charList
Definition: VSDStencils.h:45
VSDParagraphList m_paraList
Definition: VSDStencils.h:47
const int XML_DOUBLESTRIKETHROUGH
Definition: tokens.h:37
Definition: VSDTypes.h:96
void readLineTo(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:220
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:270
virtual int getElementDepth(xmlTextReaderPtr reader)=0
void handlePageStart(xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1862
long xmlStringToLong(const xmlChar *s)
Definition: libvisio_xml.cpp:140
Generated for libvisio by
doxygen 1.8.20