RVNGRawDrawingGenerator.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
2 /* librevenge
3 * Version: MPL 2.0 / LGPLv2.1+
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 * Major Contributor(s):
10 * Copyright (C) 2006 Ariya Hidayat (ariya@kde.org)
11 * Copyright (C) 2005 Fridrich Strba (fridrich.strba@bluewin.ch)
12 * Copyright (C) 2004 Marc Oude Kotte (marc@solcon.nl)
13 *
14 * For minor contributions see the git repository.
15 *
16 * Alternatively, the contents of this file may be used under the terms
17 * of the GNU Lesser General Public License Version 2.1 or later
18 * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
19 * applicable instead of those above.
20 */
21
22 #ifndef RVNGRAWDRAWINGGENERATOR_H
23 #define RVNGRAWDRAWINGGENERATOR_H
24
25 #include "librevenge-generators-api.h"
26
27 #include <librevenge-stream/librevenge-stream.h>
28 #include <librevenge/librevenge.h>
29
30 namespace librevenge
31 {
32
33 struct RVNGRawDrawingGeneratorImpl;
34
35 class REVENGE_GENERATORS_API RVNGRawDrawingGenerator : public RVNGDrawingInterface
36 {
37 // disable copying
38 RVNGRawDrawingGenerator(const RVNGRawDrawingGenerator &other);
39 RVNGRawDrawingGenerator &operator=(const RVNGRawDrawingGenerator &other);
40
41 public:
42 RVNGRawDrawingGenerator(bool printCallgraphScore);
43
44 ~RVNGRawDrawingGenerator();
45
46 void startDocument(const RVNGPropertyList &propList);
47 void endDocument();
48 void setDocumentMetaData(const RVNGPropertyList &propList);
49 void defineEmbeddedFont(const RVNGPropertyList &propList);
50 void startPage(const RVNGPropertyList &propList);
51 void endPage();
52 void startMasterPage(const RVNGPropertyList &propList);
53 void endMasterPage();
54 void startLayer(const RVNGPropertyList &propList);
55 void endLayer();
56 void startEmbeddedGraphics(const RVNGPropertyList &propList);
57 void endEmbeddedGraphics();
58
59 void openGroup(const RVNGPropertyList &propList);
60 void closeGroup();
61
62 void setStyle(const RVNGPropertyList &propList);
63
64 void drawRectangle(const RVNGPropertyList &propList);
65 void drawEllipse(const RVNGPropertyList &propList);
66 void drawPolyline(const RVNGPropertyList &propList);
67 void drawPolygon(const RVNGPropertyList &propList);
68 void drawPath(const RVNGPropertyList &propList);
69 void drawGraphicObject(const RVNGPropertyList &propList);
70 void drawConnector(const RVNGPropertyList &propList);
71 void startTextObject(const RVNGPropertyList &propList);
72 void endTextObject();
73
74 void startTableObject(const RVNGPropertyList &propList);
75 void openTableRow(const RVNGPropertyList &propList);
76 void closeTableRow();
77 void openTableCell(const RVNGPropertyList &propList);
78 void closeTableCell();
79 void insertCoveredTableCell(const RVNGPropertyList &propList);
80 void endTableObject();
81
82 void openOrderedListLevel(const RVNGPropertyList &propList);
83 void closeOrderedListLevel();
84 void openUnorderedListLevel(const RVNGPropertyList &propList);
85 void closeUnorderedListLevel();
86 void openListElement(const RVNGPropertyList &propList);
87 void closeListElement();
88
89 void defineParagraphStyle(const RVNGPropertyList &propList);
90 void openParagraph(const RVNGPropertyList &propList);
91 void closeParagraph();
92
93 void defineCharacterStyle(const RVNGPropertyList &propList);
94 void openSpan(const RVNGPropertyList &propList);
95 void closeSpan();
96
97 void openLink(const RVNGPropertyList &propList);
98 void closeLink();
99
100 void insertTab();
101 void insertSpace();
102 void insertText(const RVNGString &text);
103 void insertLineBreak();
104 void insertField(const RVNGPropertyList &propList);
105
106 private:
107 RVNGRawDrawingGeneratorImpl *m_impl;
108 };
109
110 } // namespace librevenge
111
112 #endif // RVNGRAWDRAWINGGENERATOR_H
113
114 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
librevenge
Definition: RVNGBinaryData.cpp:38
librevenge::RVNGDrawingInterface
Definition: RVNGDrawingInterface.h:31
librevenge-generators-api.h
librevenge::RVNGRawDrawingGenerator
Definition: RVNGRawDrawingGenerator.h:35
librevenge.h
librevenge::RVNGRawDrawingGenerator::m_impl
RVNGRawDrawingGeneratorImpl * m_impl
Definition: RVNGRawDrawingGenerator.h:107
librevenge::RVNGRawDrawingGeneratorImpl
Definition: RVNGRawDrawingGenerator.cpp:31
REVENGE_GENERATORS_API
#define REVENGE_GENERATORS_API
Definition: librevenge-generators-api.h:34
librevenge::RVNGPropertyList
Definition: RVNGPropertyList.h:38
librevenge::RVNGString
UTF-8 string.
Definition: RVNGString.h:33
librevenge-stream.h