- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

VDXParser.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 __VDXPARSER_H__
11 #define __VDXPARSER_H__
12
13 #include <librevenge/librevenge.h>
14 #include "VSDXMLParserBase.h"
15
16 namespace libvisio
17 {
18
19 class VSDCollector;
20
21 class VDXParser : public VSDXMLParserBase
22 {
23 using VSDXMLParserBase::readExtendedColourData;
24 using VSDXMLParserBase::readDoubleData;
25 using VSDXMLParserBase::readBoolData;
26 using VSDXMLParserBase::readLongData;
27
28 public:
29 explicit VDXParser(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter);
30 virtual ~VDXParser();
31 bool parseMain();
32 bool extractStencils();
33
34 private:
35 VDXParser();
36 VDXParser(const VDXParser &);
37 VDXParser &operator=(const VDXParser &);
38
39 // Helper functions
40
41 xmlChar *readStringData(xmlTextReaderPtr reader);
42
43 int getElementToken(xmlTextReaderPtr reader);
44 int getElementDepth(xmlTextReaderPtr reader);
45
46 // Functions to read the DatadiagramML document structure
47
48 bool processXmlDocument(librevenge::RVNGInputStream *input);
49 void processXmlNode(xmlTextReaderPtr reader);
50
51 // Functions reading the DiagramML document content
52
53 void readLine(xmlTextReaderPtr reader);
54 void readFillAndShadow(xmlTextReaderPtr reader);
55 void readXFormData(xmlTextReaderPtr reader);
56 void readMisc(xmlTextReaderPtr reader);
57 void readTxtXForm(xmlTextReaderPtr reader);
58 void readXForm1D(xmlTextReaderPtr reader);
59 void readPageProps(xmlTextReaderPtr reader);
60 void readFonts(xmlTextReaderPtr reader);
61 void readTextBlock(xmlTextReaderPtr reader);
62 void readForeignInfo(xmlTextReaderPtr reader);
63
64 void getBinaryData(xmlTextReaderPtr reader);
65
66 // Private data
67
68 librevenge::RVNGInputStream *m_input;
69 librevenge::RVNGDrawingInterface *m_painter;
70 };
71
72 } // namespace libvisio
73
74 #endif // __VDXPARSER_H__
75 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libvisio::VDXParser::readTextBlock
void readTextBlock(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:769
libvisio::VDXParser
Definition: VDXParser.h:21
libvisio::VDXParser::readXFormData
void readXFormData(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:478
libvisio::VDXParser::processXmlDocument
bool processXmlDocument(librevenge::RVNGInputStream *input)
Definition: VDXParser.cpp:73
libvisio::VSDXMLParserBase::readBoolData
int readBoolData(boost::optional< bool > &value, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1976
libvisio::VDXParser::getBinaryData
void getBinaryData(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:877
libvisio::VDXParser::readPageProps
void readPageProps(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:671
libvisio::VDXParser::processXmlNode
void processXmlNode(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:94
VSDXMLParserBase.h
libvisio::VDXParser::~VDXParser
virtual ~VDXParser()
Definition: VDXParser.cpp:30
libvisio::VDXParser::operator=
VDXParser & operator=(const VDXParser &)
libvisio::VDXParser::readTxtXForm
void readTxtXForm(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:537
libvisio::VSDXMLParserBase::readDoubleData
int readDoubleData(boost::optional< double > &value, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1924
libvisio::VDXParser::readFonts
void readFonts(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:737
libvisio::VDXParser::readMisc
void readMisc(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:451
libvisio::VDXParser::m_input
librevenge::RVNGInputStream * m_input
Definition: VDXParser.h:68
libvisio::VDXParser::readLine
void readLine(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:303
libvisio::VDXParser::VDXParser
VDXParser()
libvisio::VDXParser::getElementToken
int getElementToken(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:867
libvisio::VDXParser::readForeignInfo
void readForeignInfo(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:893
libvisio::VSDXMLParserBase::readLongData
int readLongData(boost::optional< long > &value, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1950
libvisio::VSDXMLParserBase::readExtendedColourData
int readExtendedColourData(Colour &value, long &idx, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2015
libvisio::VDXParser::readFillAndShadow
void readFillAndShadow(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:363
libvisio
Definition: libvisio_utils.h:70
libvisio::VSDXMLParserBase
Definition: VSDXMLParserBase.h:29
libvisio::VDXParser::extractStencils
bool extractStencils()
Definition: VDXParser.cpp:67
libvisio::VDXParser::m_painter
librevenge::RVNGDrawingInterface * m_painter
Definition: VDXParser.h:69
libvisio::VDXParser::readXForm1D
void readXForm1D(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:616
libvisio::VDXParser::parseMain
bool parseMain()
Definition: VDXParser.cpp:34
libvisio::VDXParser::readStringData
xmlChar * readStringData(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:851
libvisio::VDXParser::getElementDepth
int getElementDepth(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:872