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
16namespace libvisio
17{
18
19class VSDCollector;
20
22{
28
29public:
30 explicit VDXParser(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter);
31 ~VDXParser() override;
32 bool parseMain() override;
33 bool extractStencils() override;
34
35private:
39
40 // Helper functions
41
42 xmlChar *readStringData(xmlTextReaderPtr reader) override;
43
44 int getElementToken(xmlTextReaderPtr reader) override;
45 int getElementDepth(xmlTextReaderPtr reader) override;
46
47 // Functions to read the DatadiagramML document structure
48
49 bool processXmlDocument(librevenge::RVNGInputStream *input);
50 void processXmlNode(xmlTextReaderPtr reader);
51
52 // Functions reading the DiagramML document content
53
54 void readLine(xmlTextReaderPtr reader);
55 void readFillAndShadow(xmlTextReaderPtr reader);
56 void readXFormData(xmlTextReaderPtr reader);
57 void readMisc(xmlTextReaderPtr reader);
58 void readTxtXForm(xmlTextReaderPtr reader);
59 void readXForm1D(xmlTextReaderPtr reader);
60 void readPageProps(xmlTextReaderPtr reader);
61 void readFonts(xmlTextReaderPtr reader);
62 void readTextBlock(xmlTextReaderPtr reader);
63 void readForeignInfo(xmlTextReaderPtr reader);
64 void readLayerMem(xmlTextReaderPtr reader);
65 void readTabs(xmlTextReaderPtr reader);
66 void readTab(xmlTextReaderPtr reader);
67
68 void getBinaryData(xmlTextReaderPtr reader) override;
69
70 // Private data
71
72 librevenge::RVNGInputStream *m_input;
73 librevenge::RVNGDrawingInterface *m_painter;
74};
75
76} // namespace libvisio
77
78#endif // __VDXPARSER_H__
79/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
void readPageProps(xmlTextReaderPtr reader)
Definition VDXParser.cpp:729
bool processXmlDocument(librevenge::RVNGInputStream *input)
Definition VDXParser.cpp:73
void processXmlNode(xmlTextReaderPtr reader)
Definition VDXParser.cpp:92
void readXFormData(xmlTextReaderPtr reader)
Definition VDXParser.cpp:509
void readLine(xmlTextReaderPtr reader)
Definition VDXParser.cpp:313
void readTextBlock(xmlTextReaderPtr reader)
Definition VDXParser.cpp:825
VDXParser(const VDXParser &)
int getElementDepth(xmlTextReaderPtr reader) override
Definition VDXParser.cpp:928
void readFillAndShadow(xmlTextReaderPtr reader)
Definition VDXParser.cpp:378
void readTab(xmlTextReaderPtr reader)
Definition VDXParser.cpp:1035
librevenge::RVNGDrawingInterface * m_painter
Definition VDXParser.h:73
void readFonts(xmlTextReaderPtr reader)
Definition VDXParser.cpp:795
librevenge::RVNGInputStream * m_input
Definition VDXParser.h:72
void readForeignInfo(xmlTextReaderPtr reader)
Definition VDXParser.cpp:949
int getElementToken(xmlTextReaderPtr reader) override
Definition VDXParser.cpp:923
void readTxtXForm(xmlTextReaderPtr reader)
Definition VDXParser.cpp:595
VDXParser & operator=(const VDXParser &)
void readLayerMem(xmlTextReaderPtr reader)
Definition VDXParser.cpp:568
void readXForm1D(xmlTextReaderPtr reader)
Definition VDXParser.cpp:674
void getBinaryData(xmlTextReaderPtr reader) override
Definition VDXParser.cpp:933
VDXParser(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter)
Definition VDXParser.cpp:25
void readMisc(xmlTextReaderPtr reader)
Definition VDXParser.cpp:466
bool extractStencils() override
Definition VDXParser.cpp:67
bool parseMain() override
Definition VDXParser.cpp:34
void readTabs(xmlTextReaderPtr reader)
Definition VDXParser.cpp:1004
~VDXParser() override
Definition VDXParser.cpp:30
xmlChar * readStringData(xmlTextReaderPtr reader) override
Definition VDXParser.cpp:907
Definition VSDCollector.h:21
int readStringData(VSDName &text, xmlTextReaderPtr reader)
Definition VSDXMLParserBase.cpp:2074
int readDoubleData(boost::optional< double > &value, xmlTextReaderPtr reader)
Definition VSDXMLParserBase.cpp:2090
int readBoolData(boost::optional< bool > &value, xmlTextReaderPtr reader)
Definition VSDXMLParserBase.cpp:2142
int readExtendedColourData(Colour &value, long &idx, xmlTextReaderPtr reader)
Definition VSDXMLParserBase.cpp:2181
int readLongData(boost::optional< long > &value, xmlTextReaderPtr reader)
Definition VSDXMLParserBase.cpp:2116
VSDXMLParserBase()
Definition VSDXMLParserBase.cpp:29
Definition libvisio_utils.h:49

Generated for libvisio by doxygen 1.14.0