VisioDocument.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 __VISIODOCUMENT_H__
11 #define __VISIODOCUMENT_H__
12
13 #include <librevenge/librevenge.h>
14
15 #ifdef DLL_EXPORT
16 #ifdef LIBVISIO_BUILD
17 #define VSDAPI __declspec(dllexport)
18 #else
19 #define VSDAPI __declspec(dllimport)
20 #endif
21 #else // !DLL_EXPORT
22 #ifdef LIBVISIO_VISIBILITY
23 #define VSDAPI __attribute__((visibility("default")))
24 #else
25 #define VSDAPI
26 #endif
27 #endif
28
29 namespace libvisio
30 {
31
32 class VisioDocument
33 {
34 public:
35
36 static VSDAPI bool isSupported(librevenge::RVNGInputStream *input);
37
38 static VSDAPI bool parse(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter);
39
40 static VSDAPI bool parseStencils(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter);
41 };
42
43 } // namespace libvisio
44
45 #endif // __VISIODOCUMENT_H__
46 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libvisio::VSDXRelationship
Definition: VSDXMLHelper.h:28
libvisio::VSD6Parser
Definition: VSD6Parser.h:22
libvisio::xmlReaderForStream
std::unique_ptr< xmlTextReader, void(*)(xmlTextReaderPtr)> xmlReaderForStream(librevenge::RVNGInputStream *input, XMLErrorWatcher *watcher=nullptr, bool recover=true)
Definition: libvisio_xml.h:42
libvisio::VisioDocument
Definition: VisioDocument.h:32
libvisio::VSDParser
Definition: VSDParser.h:47
libvisio::VSDXParser
Definition: VSDXParser.h:22
VSD_DEBUG_MSG
#define VSD_DEBUG_MSG(M)
Definition: libvisio_utils.h:42
VSDXMLHelper.h
VSD5Parser.h
libvisio::VSDDummyDeleter
Definition: libvisio_utils.h:53
VSD_NUM_ELEMENTS
#define VSD_NUM_ELEMENTS(array)
Definition: libvisio_utils.h:46
VSD6Parser.h
libvisio::readU8
uint8_t readU8(librevenge::RVNGInputStream *input)
Definition: libvisio_utils.cpp:16
libvisio::VisioDocument::parseStencils
static VSDAPI bool parseStencils(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter)
Parses the input stream content and extracts stencil pages, one stencil page per output page.
Definition: VisioDocument.cpp:273
libvisio::VisioDocument::isSupported
static VSDAPI bool isSupported(librevenge::RVNGInputStream *input)
Analyzes the content of an input stream to see if it can be parsed.
Definition: VisioDocument.cpp:217
VSDAPI
#define VSDAPI
Definition: VisioDocument.h:25
VSDXParser.h
libvisio::VSDXRelationships
Definition: VSDXMLHelper.h:56
VDXParser.h
libvisio::VisioDocument::parse
static VSDAPI bool parse(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter)
Parses the input stream content.
Definition: VisioDocument.cpp:239
libvisio::VSD5Parser
Definition: VSD5Parser.h:22
libvisio.h
libvisio_xml.h
libvisio::VDXParser
Definition: VDXParser.h:21
libvisio_utils.h
libvisio
Definition: libvisio_utils.h:48
VSDParser.h