VDXParser.h
Go to the documentation of this file.
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* This file is part of the libvisio project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#ifndef __VDXPARSER_H__
#define __VDXPARSER_H__
#include <librevenge/librevenge.h>
#include "VSDXMLParserBase.h"
namespace libvisio
{
class VSDCollector;
class VDXParser : public VSDXMLParserBase
{
using VSDXMLParserBase::readExtendedColourData;
using VSDXMLParserBase::readDoubleData;
using VSDXMLParserBase::readBoolData;
using VSDXMLParserBase::readLongData;
using VSDXMLParserBase::readStringData;
public:
explicit VDXParser(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter);
~VDXParser() override;
bool parseMain() override;
bool extractStencils() override;
private:
VDXParser();
VDXParser(const VDXParser &);
VDXParser &operator=(const VDXParser &);
// Helper functions
xmlChar *readStringData(xmlTextReaderPtr reader) override;
int getElementToken(xmlTextReaderPtr reader) override;
int getElementDepth(xmlTextReaderPtr reader) override;
// Functions to read the DatadiagramML document structure
bool processXmlDocument(librevenge::RVNGInputStream *input);
void processXmlNode(xmlTextReaderPtr reader);
// Functions reading the DiagramML document content
void readLine(xmlTextReaderPtr reader);
void readFillAndShadow(xmlTextReaderPtr reader);
void readXFormData(xmlTextReaderPtr reader);
void readMisc(xmlTextReaderPtr reader);
void readTxtXForm(xmlTextReaderPtr reader);
void readXForm1D(xmlTextReaderPtr reader);
void readPageProps(xmlTextReaderPtr reader);
void readFonts(xmlTextReaderPtr reader);
void readTextBlock(xmlTextReaderPtr reader);
void readForeignInfo(xmlTextReaderPtr reader);
void readLayerMem(xmlTextReaderPtr reader);
void readTabs(xmlTextReaderPtr reader);
void readTab(xmlTextReaderPtr reader);
void getBinaryData(xmlTextReaderPtr reader) override;
// Private data
librevenge::RVNGInputStream *m_input;
librevenge::RVNGDrawingInterface *m_painter;
};
} // namespace libvisio
#endif // __VDXPARSER_H__
/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
VSDXMLParserBase.h
libvisio::VDXParser::readPageProps
void readPageProps(xmlTextReaderPtr reader)
Definition VDXParser.cpp:731
libvisio::VDXParser::processXmlDocument
bool processXmlDocument(librevenge::RVNGInputStream *input)
Definition VDXParser.cpp:75
libvisio::VDXParser::processXmlNode
void processXmlNode(xmlTextReaderPtr reader)
Definition VDXParser.cpp:94
libvisio::VDXParser::readXFormData
void readXFormData(xmlTextReaderPtr reader)
Definition VDXParser.cpp:511
libvisio::VDXParser::readLine
void readLine(xmlTextReaderPtr reader)
Definition VDXParser.cpp:315
libvisio::VDXParser::readTextBlock
void readTextBlock(xmlTextReaderPtr reader)
Definition VDXParser.cpp:837
libvisio::VDXParser::VDXParser
VDXParser(const VDXParser &)
libvisio::VDXParser::getElementDepth
int getElementDepth(xmlTextReaderPtr reader) override
Definition VDXParser.cpp:940
libvisio::VDXParser::readFillAndShadow
void readFillAndShadow(xmlTextReaderPtr reader)
Definition VDXParser.cpp:380
libvisio::VDXParser::readTab
void readTab(xmlTextReaderPtr reader)
Definition VDXParser.cpp:1047
libvisio::VDXParser::m_painter
librevenge::RVNGDrawingInterface * m_painter
Definition VDXParser.h:73
libvisio::VDXParser::readFonts
void readFonts(xmlTextReaderPtr reader)
Definition VDXParser.cpp:807
libvisio::VDXParser::m_input
librevenge::RVNGInputStream * m_input
Definition VDXParser.h:72
libvisio::VDXParser::readForeignInfo
void readForeignInfo(xmlTextReaderPtr reader)
Definition VDXParser.cpp:961
libvisio::VDXParser::getElementToken
int getElementToken(xmlTextReaderPtr reader) override
Definition VDXParser.cpp:935
libvisio::VDXParser::readTxtXForm
void readTxtXForm(xmlTextReaderPtr reader)
Definition VDXParser.cpp:597
libvisio::VDXParser::operator=
VDXParser & operator=(const VDXParser &)
libvisio::VDXParser::readLayerMem
void readLayerMem(xmlTextReaderPtr reader)
Definition VDXParser.cpp:570
libvisio::VDXParser::VDXParser
VDXParser()
libvisio::VDXParser::readXForm1D
void readXForm1D(xmlTextReaderPtr reader)
Definition VDXParser.cpp:676
libvisio::VDXParser::getBinaryData
void getBinaryData(xmlTextReaderPtr reader) override
Definition VDXParser.cpp:945
libvisio::VDXParser::VDXParser
VDXParser(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter)
Definition VDXParser.cpp:25
libvisio::VDXParser::readMisc
void readMisc(xmlTextReaderPtr reader)
Definition VDXParser.cpp:468
libvisio::VDXParser::extractStencils
bool extractStencils() override
Definition VDXParser.cpp:69
libvisio::VDXParser::parseMain
bool parseMain() override
Definition VDXParser.cpp:34
libvisio::VDXParser::readTabs
void readTabs(xmlTextReaderPtr reader)
Definition VDXParser.cpp:1016
libvisio::VDXParser::~VDXParser
~VDXParser() override
Definition VDXParser.cpp:30
libvisio::VDXParser::readStringData
xmlChar * readStringData(xmlTextReaderPtr reader) override
Definition VDXParser.cpp:919
libvisio::VSDCollector
Definition VSDCollector.h:21
libvisio::VSDXMLParserBase::readDoubleData
int readDoubleData(std::optional< double > &value, xmlTextReaderPtr reader)
Definition VSDXMLParserBase.cpp:2105
libvisio::VSDXMLParserBase::readStringData
int readStringData(VSDName &text, xmlTextReaderPtr reader)
Definition VSDXMLParserBase.cpp:2089
libvisio::VSDXMLParserBase::readBoolData
int readBoolData(std::optional< bool > &value, xmlTextReaderPtr reader)
Definition VSDXMLParserBase.cpp:2157
libvisio::VSDXMLParserBase::readExtendedColourData
int readExtendedColourData(Colour &value, long &idx, xmlTextReaderPtr reader)
Definition VSDXMLParserBase.cpp:2196
libvisio::VSDXMLParserBase::VSDXMLParserBase
VSDXMLParserBase()
Definition VSDXMLParserBase.cpp:29
libvisio::VSDXMLParserBase::readLongData
int readLongData(std::optional< long > &value, xmlTextReaderPtr reader)
Definition VSDXMLParserBase.cpp:2131
libvisio
Definition libvisio_utils.h:47