RVNGSVGDrawingGenerator.h
Go to the documentation of this file.
00001 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
00002 /* librevenge
00003  * Version: MPL 2.0 / LGPLv2.1+
00004  *
00005  * This Source Code Form is subject to the terms of the Mozilla Public
00006  * License, v. 2.0. If a copy of the MPL was not distributed with this
00007  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
00008  *
00009  * Major Contributor(s):
00010  * Copyright (C) 2006 Ariya Hidayat (ariya@kde.org)
00011  * Copyright (C) 2005 Fridrich Strba (fridrich.strba@bluewin.ch)
00012  *
00013  * For minor contributions see the git repository.
00014  *
00015  * Alternatively, the contents of this file may be used under the terms
00016  * of the GNU Lesser General Public License Version 2.1 or later
00017  * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
00018  * applicable instead of those above.
00019  */
00020 
00021 #ifndef RVNGSVGDRAWINGGENERATOR_H
00022 #define RVNGSVGDRAWINGGENERATOR_H
00023 
00024 #include "librevenge-api.h"
00025 
00026 #include "RVNGDrawingInterface.h"
00027 #include "RVNGStringVector.h"
00028 
00029 namespace librevenge
00030 {
00031 
00032 struct RVNGSVGDrawingGeneratorPrivate;
00033 
00034 class REVENGE_API RVNGSVGDrawingGenerator : public RVNGDrawingInterface
00035 {
00036 public:
00037         RVNGSVGDrawingGenerator(RVNGStringVector &vec, const RVNGString &nmspace);
00038         ~RVNGSVGDrawingGenerator();
00039 
00040         void startDocument(const RVNGPropertyList &propList);
00041         void endDocument();
00042         void setDocumentMetaData(const RVNGPropertyList &propList);
00043         void defineEmbeddedFont(const RVNGPropertyList &propList);
00044         void startPage(const RVNGPropertyList &propList);
00045         void endPage();
00046         void startMasterPage(const RVNGPropertyList &propList);
00047         void endMasterPage();
00048         void startLayer(const RVNGPropertyList &propList);
00049         void endLayer();
00050         void startEmbeddedGraphics(const RVNGPropertyList &propList);
00051         void endEmbeddedGraphics();
00052 
00053         void openGroup(const RVNGPropertyList &propList);
00054         void closeGroup();
00055 
00056         void setStyle(const RVNGPropertyList &propList);
00057 
00058         void drawRectangle(const RVNGPropertyList &propList);
00059         void drawEllipse(const RVNGPropertyList &propList);
00060         void drawPolyline(const RVNGPropertyList &propList);
00061         void drawPolygon(const RVNGPropertyList &propList);
00062         void drawPath(const RVNGPropertyList &propList);
00063         void drawGraphicObject(const RVNGPropertyList &propList);
00064         void drawConnector(const RVNGPropertyList &propList);
00065         void startTextObject(const RVNGPropertyList &propList);
00066         void endTextObject();
00067 
00068         void startTableObject(const RVNGPropertyList &propList);
00069         void openTableRow(const RVNGPropertyList &propList);
00070         void closeTableRow();
00071         void openTableCell(const RVNGPropertyList &propList);
00072         void closeTableCell();
00073         void insertCoveredTableCell(const RVNGPropertyList &propList);
00074         void endTableObject();
00075 
00076         void openOrderedListLevel(const RVNGPropertyList &propList);
00077         void closeOrderedListLevel();
00078 
00079         void openUnorderedListLevel(const RVNGPropertyList &propList);
00080         void closeUnorderedListLevel();
00081         void openListElement(const RVNGPropertyList &propList);
00082         void closeListElement();
00083 
00084         void defineParagraphStyle(const RVNGPropertyList &propList);
00085         void openParagraph(const RVNGPropertyList &propList);
00086         void closeParagraph();
00087 
00088         void defineCharacterStyle(const RVNGPropertyList &propList);
00089         void openSpan(const RVNGPropertyList &propList);
00090         void closeSpan();
00091 
00092         void openLink(const RVNGPropertyList &propList);
00093         void closeLink();
00094 
00095         void insertTab();
00096         void insertSpace();
00097         void insertText(const RVNGString &text);
00098         void insertLineBreak();
00099         void insertField(const RVNGPropertyList &propList);
00100 
00101 private:
00102         RVNGSVGDrawingGenerator(const RVNGSVGDrawingGenerator &);
00103         RVNGSVGDrawingGenerator &operator=(const RVNGSVGDrawingGenerator &);
00104         RVNGSVGDrawingGeneratorPrivate *m_pImpl;
00105 };
00106 
00107 }
00108 
00109 #endif // RVNGSVGDRAWINGGENERATOR_H
00110 
00111 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */