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 
22 {
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: */
void readTextBlock(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:766
Definition: VDXParser.h:21
void readXFormData(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:475
bool processXmlDocument(librevenge::RVNGInputStream *input)
Definition: VDXParser.cpp:71
int readBoolData(boost::optional< bool > &value, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2033
void getBinaryData(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:874
void readPageProps(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:668
void processXmlNode(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:91
virtual ~VDXParser()
Definition: VDXParser.cpp:28
VDXParser & operator=(const VDXParser &)
void readTxtXForm(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:534
int readDoubleData(boost::optional< double > &value, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1977
void readFonts(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:734
void readMisc(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:448
librevenge::RVNGInputStream * m_input
Definition: VDXParser.h:68
void readLine(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:300
int getElementToken(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:864
void readForeignInfo(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:890
int readLongData(boost::optional< long > &value, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2005
int readExtendedColourData(Colour &value, long &idx, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2073
void readFillAndShadow(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:360
Definition: libvisio_utils.h:68
Definition: VSDXMLParserBase.h:28
bool extractStencils()
Definition: VDXParser.cpp:65
librevenge::RVNGDrawingInterface * m_painter
Definition: VDXParser.h:69
void readXForm1D(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:613
bool parseMain()
Definition: VDXParser.cpp:32
xmlChar * readStringData(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:848
int getElementDepth(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:869

Generated for libvisio by doxygen 1.8.9.1