OdgGenerator.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 __ODGGENERATOR_HXX__
26 #define __ODGGENERATOR_HXX__
27 
28 #include <librevenge/librevenge.h>
29 
30 #include "libodfgen-api.hxx"
31 #include "OdfDocumentHandler.hxx"
32 
33 class OdfGenerator;
34 class OdgGeneratorPrivate;
35 
41 class ODFGENAPI OdgGenerator : public librevenge::RVNGDrawingInterface
42 {
43 public:
46  void addDocumentHandler(OdfDocumentHandler *pHandler, const OdfStreamType streamType);
47  librevenge::RVNGStringVector getObjectNames() const;
48  bool getObjectContent(librevenge::RVNGString const &objectName, OdfDocumentHandler *pHandler);
49  void setDocumentMetaData(const librevenge::RVNGPropertyList &);
50 
51  void defineEmbeddedFont(const librevenge::RVNGPropertyList &propList);
52 
53  void startPage(const librevenge::RVNGPropertyList &);
54  void endPage();
55  void startMasterPage(const librevenge::RVNGPropertyList &);
56  void endMasterPage();
57  void startLayer(const ::librevenge::RVNGPropertyList &propList);
58  void endLayer();
59  void openGroup(const ::librevenge::RVNGPropertyList &propList);
60  void closeGroup();
61  void startEmbeddedGraphics(const ::librevenge::RVNGPropertyList &propList);
63 
64  void setStyle(const ::librevenge::RVNGPropertyList &propList);
65 
66  void drawRectangle(const ::librevenge::RVNGPropertyList &propList);
67  void drawEllipse(const ::librevenge::RVNGPropertyList &propList);
68  void drawPolyline(const ::librevenge::RVNGPropertyList &propList);
69  void drawPolygon(const ::librevenge::RVNGPropertyList &propList);
70  void drawPath(const ::librevenge::RVNGPropertyList &propList);
71  void drawGraphicObject(const ::librevenge::RVNGPropertyList &propList);
72  void drawConnector(const ::librevenge::RVNGPropertyList &propList);
73 
74  void startTableObject(const ::librevenge::RVNGPropertyList &propList);
75  void openTableRow(const ::librevenge::RVNGPropertyList &propList);
76  void closeTableRow();
77  void openTableCell(const ::librevenge::RVNGPropertyList &propList);
79  void insertCoveredTableCell(const ::librevenge::RVNGPropertyList &propList);
81 
82  void startTextObject(const ::librevenge::RVNGPropertyList &propList);
83  void endTextObject();
84 
85  void defineParagraphStyle(const librevenge::RVNGPropertyList &propList);
86  void openParagraph(const librevenge::RVNGPropertyList &propList);
88 
89  void defineCharacterStyle(const librevenge::RVNGPropertyList &propList);
90  void openSpan(const librevenge::RVNGPropertyList &propList);
91  void closeSpan();
92 
93  void openLink(const librevenge::RVNGPropertyList &propList);
94  void closeLink();
95 
96  void insertText(const librevenge::RVNGString &text);
97  void insertTab();
98  void insertSpace();
100  void insertField(const librevenge::RVNGPropertyList &propList);
101 
102  void openOrderedListLevel(const librevenge::RVNGPropertyList &propList);
103  void openUnorderedListLevel(const librevenge::RVNGPropertyList &propList);
106  void openListElement(const librevenge::RVNGPropertyList &propList);
108 
109  void startDocument(const librevenge::RVNGPropertyList &);
110  void endDocument();
111 
118  void registerEmbeddedImageHandler(const librevenge::RVNGString &mimeType, OdfEmbeddedImage imageHandler);
125  void registerEmbeddedObjectHandler(const librevenge::RVNGString &mimeType, OdfEmbeddedObject objectHandler);
126 
128  void initStateWith(OdfGenerator const &orig);
129 private:
132 
133  OdgGeneratorPrivate *mpImpl;
134 };
135 
136 #endif // __ODGGENERATOR_HXX__
137 
138 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
OdfStreamType
Type of ODF content a generator should produce.
Definition: OdfDocumentHandler.hxx:35
bool(* OdfEmbeddedObject)(const librevenge::RVNGBinaryData &data, OdfDocumentHandler *pHandler, const OdfStreamType streamType)
Handler for embedded objects.
Definition: OdfDocumentHandler.hxx:45
bool(* OdfEmbeddedImage)(const librevenge::RVNGBinaryData &input, librevenge::RVNGBinaryData &output)
Handler for embedded images.
Definition: OdfDocumentHandler.hxx:56
XML writer.
Definition: OdfDocumentHandler.hxx:66
A generator for vector drawings.
Definition: OdgGenerator.hxx:42
void startTextObject(const ::librevenge::RVNGPropertyList &propList)
void closeParagraph()
void endTextObject()
void endEmbeddedGraphics()
void closeSpan()
librevenge::RVNGStringVector getObjectNames() const
void openListElement(const librevenge::RVNGPropertyList &propList)
void insertSpace()
void endTableObject()
void openParagraph(const librevenge::RVNGPropertyList &propList)
void insertField(const librevenge::RVNGPropertyList &propList)
void openOrderedListLevel(const librevenge::RVNGPropertyList &propList)
void endMasterPage()
void startDocument(const librevenge::RVNGPropertyList &)
void closeTableCell()
void drawRectangle(const ::librevenge::RVNGPropertyList &propList)
void startTableObject(const ::librevenge::RVNGPropertyList &propList)
void drawGraphicObject(const ::librevenge::RVNGPropertyList &propList)
void closeUnorderedListLevel()
void addDocumentHandler(OdfDocumentHandler *pHandler, const OdfStreamType streamType)
void startPage(const librevenge::RVNGPropertyList &)
void closeOrderedListLevel()
void openLink(const librevenge::RVNGPropertyList &propList)
void insertCoveredTableCell(const ::librevenge::RVNGPropertyList &propList)
void closeGroup()
void drawConnector(const ::librevenge::RVNGPropertyList &propList)
void openTableRow(const ::librevenge::RVNGPropertyList &propList)
void insertTab()
void initStateWith(OdfGenerator const &orig)
retrieve data from another odfgenerator ( the list and the embedded handler)
void insertText(const librevenge::RVNGString &text)
void setStyle(const ::librevenge::RVNGPropertyList &propList)
void drawPath(const ::librevenge::RVNGPropertyList &propList)
void registerEmbeddedObjectHandler(const librevenge::RVNGString &mimeType, OdfEmbeddedObject objectHandler)
Registers a handler for embedded objects.
void endDocument()
void openGroup(const ::librevenge::RVNGPropertyList &propList)
void openTableCell(const ::librevenge::RVNGPropertyList &propList)
void startMasterPage(const librevenge::RVNGPropertyList &)
void registerEmbeddedImageHandler(const librevenge::RVNGString &mimeType, OdfEmbeddedImage imageHandler)
Registers a handler for embedded images.
void openSpan(const librevenge::RVNGPropertyList &propList)
void closeLink()
void drawPolygon(const ::librevenge::RVNGPropertyList &propList)
void startLayer(const ::librevenge::RVNGPropertyList &propList)
void endPage()
void drawEllipse(const ::librevenge::RVNGPropertyList &propList)
void setDocumentMetaData(const librevenge::RVNGPropertyList &)
void insertLineBreak()
void defineParagraphStyle(const librevenge::RVNGPropertyList &propList)
void startEmbeddedGraphics(const ::librevenge::RVNGPropertyList &propList)
OdgGenerator & operator=(OdgGenerator const &)
void openUnorderedListLevel(const librevenge::RVNGPropertyList &propList)
void defineEmbeddedFont(const librevenge::RVNGPropertyList &propList)
OdgGenerator(OdgGenerator const &)
void drawPolyline(const ::librevenge::RVNGPropertyList &propList)
bool getObjectContent(librevenge::RVNGString const &objectName, OdfDocumentHandler *pHandler)
void defineCharacterStyle(const librevenge::RVNGPropertyList &propList)
void closeListElement()
void closeTableRow()
void endLayer()
OdgGeneratorPrivate * mpImpl
Definition: OdgGenerator.hxx:133
#define ODFGENAPI
Definition: libodfgen-api.hxx:36

Generated for libodfgen by doxygen 1.9.1