OdpGenerator.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
2 /* libodfgen
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  *
12  * For minor contributions see the git repository.
13  *
14  * Alternatively, the contents of this file may be used under the terms
15  * of the GNU Lesser General Public License Version 2.1 or later
16  * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
17  * applicable instead of those above.
18  *
19  * For further information visit http://libwpd.sourceforge.net
20  */
21 
22 /* "This product is not manufactured, approved, or supported by
23  * Corel Corporation or Corel Corporation Limited."
24  */
25 #ifndef LIBODFGEN_ODPGENERATOR_HXX_INCLUDED
26 #define LIBODFGEN_ODPGENERATOR_HXX_INCLUDED
27 
28 #include <librevenge/librevenge.h>
29 
30 #include "libodfgen-api.hxx"
31 #include "OdfDocumentHandler.hxx"
32 
33 class OdfGenerator;
34 class OdpGeneratorPrivate;
35 
41 class ODFGENAPI OdpGenerator : public librevenge::RVNGPresentationInterface
42 {
43 public:
44  OdpGenerator();
45  ~OdpGenerator();
46  void addDocumentHandler(OdfDocumentHandler *pHandler, const OdfStreamType streamType);
47  librevenge::RVNGStringVector getObjectNames() const;
48  bool getObjectContent(librevenge::RVNGString const &objectName, OdfDocumentHandler *pHandler);
49 
50  void startDocument(const ::librevenge::RVNGPropertyList &propList);
51  void endDocument();
52  void setDocumentMetaData(const ::librevenge::RVNGPropertyList &propList);
53  void defineEmbeddedFont(const librevenge::RVNGPropertyList &propList);
54  void startSlide(const ::librevenge::RVNGPropertyList &propList);
55  void endSlide();
56  void startMasterSlide(const ::librevenge::RVNGPropertyList &propList);
57  void endMasterSlide();
58  void setSlideTransition(const ::librevenge::RVNGPropertyList &propList);
59  void startLayer(const ::librevenge::RVNGPropertyList &propList);
60  void endLayer();
61  void startEmbeddedGraphics(const ::librevenge::RVNGPropertyList &propList);
62  void endEmbeddedGraphics();
63  void openGroup(const ::librevenge::RVNGPropertyList &propList);
64  void closeGroup();
65 
66  void setStyle(const ::librevenge::RVNGPropertyList &propList);
67 
68  void drawRectangle(const ::librevenge::RVNGPropertyList &propList);
69  void drawEllipse(const ::librevenge::RVNGPropertyList &propList);
70  void drawPolyline(const ::librevenge::RVNGPropertyList &propList);
71  void drawPolygon(const ::librevenge::RVNGPropertyList &propList);
72  void drawPath(const ::librevenge::RVNGPropertyList &propList);
73  void drawGraphicObject(const ::librevenge::RVNGPropertyList &propList);
74  void drawConnector(const ::librevenge::RVNGPropertyList &propList);
75 
76  void startTextObject(const ::librevenge::RVNGPropertyList &propList);
77  void endTextObject();
78  void defineParagraphStyle(const librevenge::RVNGPropertyList &propList);
79  void openParagraph(const ::librevenge::RVNGPropertyList &propList);
80  void closeParagraph();
81  void defineCharacterStyle(const librevenge::RVNGPropertyList &propList);
82  void openSpan(const ::librevenge::RVNGPropertyList &propList);
83  void closeSpan();
84 
85  void openLink(const librevenge::RVNGPropertyList &propList);
86  void closeLink();
87 
88  void insertText(const ::librevenge::RVNGString &str);
89  void insertTab();
90  void insertSpace();
91  void insertLineBreak();
92  void insertField(const ::librevenge::RVNGPropertyList &propList);
93 
94  void openOrderedListLevel(const ::librevenge::RVNGPropertyList &propList);
95  void openUnorderedListLevel(const ::librevenge::RVNGPropertyList &propList);
96  void closeOrderedListLevel();
97  void closeUnorderedListLevel();
98  void openListElement(const ::librevenge::RVNGPropertyList &propList);
99  void closeListElement();
100 
101  void startTableObject(const ::librevenge::RVNGPropertyList &propList);
102  void openTableRow(const ::librevenge::RVNGPropertyList &propList);
103  void closeTableRow();
104  void openTableCell(const ::librevenge::RVNGPropertyList &propList);
105  void closeTableCell();
106  void insertCoveredTableCell(const ::librevenge::RVNGPropertyList &propList);
107  void endTableObject();
108 
109  void startComment(const ::librevenge::RVNGPropertyList &propList);
110  void endComment();
111 
112  void startNotes(const ::librevenge::RVNGPropertyList &propList);
113  void endNotes();
114 
115  void defineChartStyle(const ::librevenge::RVNGPropertyList &propList);
116  void openChart(const ::librevenge::RVNGPropertyList &propList);
117  void closeChart();
118  void openChartTextObject(const ::librevenge::RVNGPropertyList &propList);
119  void closeChartTextObject();
120  void openChartPlotArea(const ::librevenge::RVNGPropertyList &propList);
121  void closeChartPlotArea();
122  void insertChartAxis(const ::librevenge::RVNGPropertyList &propList);
123  void openChartSeries(const ::librevenge::RVNGPropertyList &propList);
124  void closeChartSeries();
125 
126  void openAnimationSequence(const ::librevenge::RVNGPropertyList &propList);
127  void closeAnimationSequence();
128  void openAnimationGroup(const ::librevenge::RVNGPropertyList &propList);
129  void closeAnimationGroup();
130  void openAnimationIteration(const ::librevenge::RVNGPropertyList &propList);
131  void closeAnimationIteration();
132  void insertMotionAnimation(const ::librevenge::RVNGPropertyList &propList);
133  void insertColorAnimation(const ::librevenge::RVNGPropertyList &propList);
134  void insertAnimation(const ::librevenge::RVNGPropertyList &propList);
135  void insertEffect(const ::librevenge::RVNGPropertyList &propList);
136 
143  void registerEmbeddedImageHandler(const librevenge::RVNGString &mimeType, OdfEmbeddedImage imageHandler);
150  void registerEmbeddedObjectHandler(const librevenge::RVNGString &mimeType, OdfEmbeddedObject objectHandler);
151 
153  void initStateWith(OdfGenerator const &orig);
154 private:
155  // disable copying
156  OdpGenerator(OdpGenerator const &);
157  OdpGenerator &operator=(OdpGenerator const &);
158 
159  OdpGeneratorPrivate *mpImpl;
160 };
161 
162 #endif // LIBODFGEN_ODPGENERATOR_HXX_INCLUDED
163 
164 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
XML writer.
Definition: OdfDocumentHandler.hxx:65
bool(* OdfEmbeddedImage)(const librevenge::RVNGBinaryData &input, librevenge::RVNGBinaryData &output)
Handler for embedded images.
Definition: OdfDocumentHandler.hxx:56
OdpGeneratorPrivate * mpImpl
Definition: OdpGenerator.hxx:159
OdfStreamType
Type of ODF content a generator should produce.
Definition: OdfDocumentHandler.hxx:35
A generator for presentations.
Definition: OdpGenerator.hxx:41
#define ODFGENAPI
Definition: libodfgen-api.hxx:36
bool(* OdfEmbeddedObject)(const librevenge::RVNGBinaryData &data, OdfDocumentHandler *pHandler, const OdfStreamType streamType)
Handler for embedded objects.
Definition: OdfDocumentHandler.hxx:45

Generated for libodfgen by doxygen 1.8.14