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:
45  ~OdgGenerator() override;
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 &) override;
50 
51  void defineEmbeddedFont(const librevenge::RVNGPropertyList &propList) override;
52 
53  void startPage(const librevenge::RVNGPropertyList &) override;
54  void endPage() override;
55  void startMasterPage(const librevenge::RVNGPropertyList &) override;
56  void endMasterPage() override;
57  void startLayer(const ::librevenge::RVNGPropertyList &propList) override;
58  void endLayer() override;
59  void openGroup(const ::librevenge::RVNGPropertyList &propList) override;
60  void closeGroup() override;
61  void startEmbeddedGraphics(const ::librevenge::RVNGPropertyList &propList) override;
62  void endEmbeddedGraphics() override;
63 
64  void setStyle(const ::librevenge::RVNGPropertyList &propList) override;
65 
66  void drawRectangle(const ::librevenge::RVNGPropertyList &propList) override;
67  void drawEllipse(const ::librevenge::RVNGPropertyList &propList) override;
68  void drawPolyline(const ::librevenge::RVNGPropertyList &propList) override;
69  void drawPolygon(const ::librevenge::RVNGPropertyList &propList) override;
70  void drawPath(const ::librevenge::RVNGPropertyList &propList) override;
71  void drawGraphicObject(const ::librevenge::RVNGPropertyList &propList) override;
72  void drawConnector(const ::librevenge::RVNGPropertyList &propList) override;
73 
74  void startTableObject(const ::librevenge::RVNGPropertyList &propList) override;
75  void openTableRow(const ::librevenge::RVNGPropertyList &propList) override;
76  void closeTableRow() override;
77  void openTableCell(const ::librevenge::RVNGPropertyList &propList) override;
78  void closeTableCell() override;
79  void insertCoveredTableCell(const ::librevenge::RVNGPropertyList &propList) override;
80  void endTableObject() override;
81 
82  void startTextObject(const ::librevenge::RVNGPropertyList &propList) override;
83  void endTextObject() override;
84 
85  void defineParagraphStyle(const librevenge::RVNGPropertyList &propList) override;
86  void openParagraph(const librevenge::RVNGPropertyList &propList) override;
87  void closeParagraph() override;
88 
89  void defineCharacterStyle(const librevenge::RVNGPropertyList &propList) override;
90  void openSpan(const librevenge::RVNGPropertyList &propList) override;
91  void closeSpan() override;
92 
93  void openLink(const librevenge::RVNGPropertyList &propList) override;
94  void closeLink() override;
95 
96  void insertText(const librevenge::RVNGString &text) override;
97  void insertTab() override;
98  void insertSpace() override;
99  void insertLineBreak() override;
100  void insertField(const librevenge::RVNGPropertyList &propList) override;
101 
102  void openOrderedListLevel(const librevenge::RVNGPropertyList &propList) override;
103  void openUnorderedListLevel(const librevenge::RVNGPropertyList &propList) override;
104  void closeOrderedListLevel() override;
105  void closeUnorderedListLevel() override;
106  void openListElement(const librevenge::RVNGPropertyList &propList) override;
107  void closeListElement() override;
108 
109  void startDocument(const librevenge::RVNGPropertyList &) override;
110  void endDocument() override;
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: */
OdgGenerator::closeUnorderedListLevel
void closeUnorderedListLevel() override
OdfDocumentHandler
XML writer.
Definition: OdfDocumentHandler.hxx:66
OdgGenerator::~OdgGenerator
~OdgGenerator() override
libodfgen-api.hxx
OdfStreamType
OdfStreamType
Type of ODF content a generator should produce.
Definition: OdfDocumentHandler.hxx:35
OdgGenerator::mpImpl
OdgGeneratorPrivate * mpImpl
Definition: OdgGenerator.hxx:133
OdgGenerator::startTextObject
void startTextObject(const ::librevenge::RVNGPropertyList &propList) override
OdgGenerator::endPage
void endPage() override
OdgGenerator::OdgGenerator
OdgGenerator()
OdgGenerator::openParagraph
void openParagraph(const librevenge::RVNGPropertyList &propList) override
OdgGenerator::insertLineBreak
void insertLineBreak() override
OdgGenerator::defineEmbeddedFont
void defineEmbeddedFont(const librevenge::RVNGPropertyList &propList) override
OdgGenerator::initStateWith
void initStateWith(OdfGenerator const &orig)
retrieve data from another odfgenerator ( the list and the embedded handler)
OdgGenerator::startMasterPage
void startMasterPage(const librevenge::RVNGPropertyList &) override
OdgGenerator::closeParagraph
void closeParagraph() override
OdfEmbeddedImage
bool(* OdfEmbeddedImage)(const librevenge::RVNGBinaryData &input, librevenge::RVNGBinaryData &output)
Handler for embedded images.
Definition: OdfDocumentHandler.hxx:56
OdgGenerator::openGroup
void openGroup(const ::librevenge::RVNGPropertyList &propList) override
OdgGenerator::openLink
void openLink(const librevenge::RVNGPropertyList &propList) override
OdgGenerator::startTableObject
void startTableObject(const ::librevenge::RVNGPropertyList &propList) override
OdgGenerator::startLayer
void startLayer(const ::librevenge::RVNGPropertyList &propList) override
OdgGenerator::drawPolygon
void drawPolygon(const ::librevenge::RVNGPropertyList &propList) override
OdgGenerator::getObjectContent
bool getObjectContent(librevenge::RVNGString const &objectName, OdfDocumentHandler *pHandler)
OdgGenerator::registerEmbeddedImageHandler
void registerEmbeddedImageHandler(const librevenge::RVNGString &mimeType, OdfEmbeddedImage imageHandler)
Registers a handler for embedded images.
OdgGenerator::getObjectNames
librevenge::RVNGStringVector getObjectNames() const
OdgGenerator::endMasterPage
void endMasterPage() override
OdgGenerator::drawPolyline
void drawPolyline(const ::librevenge::RVNGPropertyList &propList) override
OdgGenerator::insertField
void insertField(const librevenge::RVNGPropertyList &propList) override
OdgGenerator::closeGroup
void closeGroup() override
OdgGenerator::endLayer
void endLayer() override
OdgGenerator::openOrderedListLevel
void openOrderedListLevel(const librevenge::RVNGPropertyList &propList) override
OdgGenerator::startEmbeddedGraphics
void startEmbeddedGraphics(const ::librevenge::RVNGPropertyList &propList) override
OdgGenerator::operator=
OdgGenerator & operator=(OdgGenerator const &)
OdgGenerator::startPage
void startPage(const librevenge::RVNGPropertyList &) override
OdgGenerator::insertTab
void insertTab() override
OdgGenerator::registerEmbeddedObjectHandler
void registerEmbeddedObjectHandler(const librevenge::RVNGString &mimeType, OdfEmbeddedObject objectHandler)
Registers a handler for embedded objects.
OdgGenerator::endTextObject
void endTextObject() override
OdgGenerator::drawRectangle
void drawRectangle(const ::librevenge::RVNGPropertyList &propList) override
OdgGenerator::openTableRow
void openTableRow(const ::librevenge::RVNGPropertyList &propList) override
OdgGenerator::closeOrderedListLevel
void closeOrderedListLevel() override
OdgGenerator::insertText
void insertText(const librevenge::RVNGString &text) override
OdgGenerator::openListElement
void openListElement(const librevenge::RVNGPropertyList &propList) override
OdgGenerator::openTableCell
void openTableCell(const ::librevenge::RVNGPropertyList &propList) override
OdgGenerator::endEmbeddedGraphics
void endEmbeddedGraphics() override
OdgGenerator::drawConnector
void drawConnector(const ::librevenge::RVNGPropertyList &propList) override
OdgGenerator::openUnorderedListLevel
void openUnorderedListLevel(const librevenge::RVNGPropertyList &propList) override
OdgGenerator::insertSpace
void insertSpace() override
OdgGenerator::defineParagraphStyle
void defineParagraphStyle(const librevenge::RVNGPropertyList &propList) override
OdgGenerator::setStyle
void setStyle(const ::librevenge::RVNGPropertyList &propList) override
OdfEmbeddedObject
bool(* OdfEmbeddedObject)(const librevenge::RVNGBinaryData &data, OdfDocumentHandler *pHandler, const OdfStreamType streamType)
Handler for embedded objects.
Definition: OdfDocumentHandler.hxx:45
OdgGenerator::startDocument
void startDocument(const librevenge::RVNGPropertyList &) override
OdgGenerator::drawEllipse
void drawEllipse(const ::librevenge::RVNGPropertyList &propList) override
OdgGenerator::endTableObject
void endTableObject() override
OdgGenerator::drawGraphicObject
void drawGraphicObject(const ::librevenge::RVNGPropertyList &propList) override
OdgGenerator::setDocumentMetaData
void setDocumentMetaData(const librevenge::RVNGPropertyList &) override
OdgGenerator::closeListElement
void closeListElement() override
OdgGenerator::OdgGenerator
OdgGenerator(OdgGenerator const &)
OdfDocumentHandler.hxx
OdgGenerator::endDocument
void endDocument() override
ODFGENAPI
#define ODFGENAPI
Definition: libodfgen-api.hxx:36
OdgGenerator::insertCoveredTableCell
void insertCoveredTableCell(const ::librevenge::RVNGPropertyList &propList) override
OdgGenerator::openSpan
void openSpan(const librevenge::RVNGPropertyList &propList) override
OdgGenerator
A generator for vector drawings.
Definition: OdgGenerator.hxx:42
OdgGenerator::drawPath
void drawPath(const ::librevenge::RVNGPropertyList &propList) override
OdgGenerator::closeSpan
void closeSpan() override
OdgGenerator::addDocumentHandler
void addDocumentHandler(OdfDocumentHandler *pHandler, const OdfStreamType streamType)
OdgGenerator::closeTableRow
void closeTableRow() override
OdgGenerator::closeTableCell
void closeTableCell() override
OdgGenerator::defineCharacterStyle
void defineCharacterStyle(const librevenge::RVNGPropertyList &propList) override
OdgGenerator::closeLink
void closeLink() override

Generated for libodfgen by doxygen 1.8.20