RVNGSVGPresentationGenerator.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  * Alternatively, the contents of this file may be used under the terms
00010  * of the GNU Lesser General Public License Version 2.1 or later
00011  * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
00012  * applicable instead of those above.
00013  */
00014 
00015 #ifndef RVNGSVGPRESENTATIONGENERATOR_H
00016 #define RVNGSVGPRESENTATIONGENERATOR_H
00017 
00018 #include "librevenge-generators-api.h"
00019 
00020 #include <librevenge/librevenge.h>
00021 #include <librevenge-stream/librevenge-stream.h>
00022 
00023 namespace librevenge
00024 {
00025 
00026 struct RVNGSVGPresentationGeneratorImpl;
00027 
00028 class REVENGE_GENERATORS_API RVNGSVGPresentationGenerator : public RVNGPresentationInterface
00029 {
00030         // disable copying
00031         RVNGSVGPresentationGenerator(const RVNGSVGPresentationGenerator &other);
00032         RVNGSVGPresentationGenerator &operator=(const RVNGSVGPresentationGenerator &other);
00033 
00034 public:
00035         explicit RVNGSVGPresentationGenerator(RVNGStringVector &vec);
00036         ~RVNGSVGPresentationGenerator();
00037 
00038         void startDocument(const RVNGPropertyList &propList);
00039         void endDocument();
00040 
00041         void setDocumentMetaData(const RVNGPropertyList &propList);
00042 
00043         void defineEmbeddedFont(const RVNGPropertyList &propList);
00044 
00045         void startSlide(const RVNGPropertyList &propList);
00046         void endSlide();
00047 
00048         void startMasterSlide(const RVNGPropertyList &propList);
00049         void endMasterSlide();
00050 
00051         void setStyle(const RVNGPropertyList &propList);
00052 
00053         void setSlideTransition(const RVNGPropertyList &propList);
00054 
00055         void startLayer(const RVNGPropertyList &propList);
00056         void endLayer();
00057 
00058         void startEmbeddedGraphics(const RVNGPropertyList &propList);
00059         void endEmbeddedGraphics();
00060 
00061         void openGroup(const RVNGPropertyList &propList);
00062         void closeGroup();
00063 
00064         void drawRectangle(const RVNGPropertyList &propList);
00065         void drawEllipse(const RVNGPropertyList &propList);
00066         void drawPolyline(const RVNGPropertyList &propList);
00067         void drawPolygon(const RVNGPropertyList &propList);
00068         void drawPath(const RVNGPropertyList &propList);
00069         void drawGraphicObject(const RVNGPropertyList &propList);
00070 
00071         void drawConnector(const RVNGPropertyList &propList);
00072 
00073         void startTextObject(const RVNGPropertyList &propList);
00074         void endTextObject();
00075         void insertTab();
00076         void insertSpace();
00077         void insertText(const RVNGString &text);
00078         void insertLineBreak();
00079 
00080         void insertField(const RVNGPropertyList &propList);
00081 
00082         void openOrderedListLevel(const RVNGPropertyList &propList);
00083         void openUnorderedListLevel(const RVNGPropertyList &propList);
00084         void closeOrderedListLevel();
00085         void closeUnorderedListLevel();
00086         void openListElement(const RVNGPropertyList &propList);
00087         void closeListElement();
00088 
00089         void defineParagraphStyle(const RVNGPropertyList &propList);
00090         void openParagraph(const RVNGPropertyList &propList);
00091         void closeParagraph();
00092         void defineCharacterStyle(const RVNGPropertyList &propList);
00093         void openSpan(const RVNGPropertyList &propList);
00094         void closeSpan();
00095 
00096         void openLink(const RVNGPropertyList &propList);
00097         void closeLink();
00098 
00099         void startTableObject(const RVNGPropertyList &propList);
00100         void openTableRow(const RVNGPropertyList &propList);
00101         void closeTableRow();
00102         void openTableCell(const RVNGPropertyList &propList);
00103         void closeTableCell();
00104         void insertCoveredTableCell(const RVNGPropertyList &propList);
00105         void endTableObject();
00106 
00107         void startComment(const RVNGPropertyList &propList);
00108         void endComment();
00109 
00110         void startNotes(const RVNGPropertyList &propList);
00111         void endNotes();
00112 
00113         void defineChartStyle(const RVNGPropertyList &propList);
00114         void openChart(const RVNGPropertyList &propList);
00115         void closeChart();
00116         void openChartTextObject(const RVNGPropertyList &propList);
00117         void closeChartTextObject();
00118         void openChartPlotArea(const RVNGPropertyList &propList);
00119         void closeChartPlotArea();
00120         void insertChartAxis(const RVNGPropertyList &propList);
00121         void openChartSeries(const librevenge::RVNGPropertyList &propList);
00122         void closeChartSeries();
00123 
00124         void openAnimationSequence(const RVNGPropertyList &propList);
00125         void closeAnimationSequence();
00126         void openAnimationGroup(const RVNGPropertyList &propList);
00127         void closeAnimationGroup();
00128         void openAnimationIteration(const RVNGPropertyList &propList);
00129         void closeAnimationIteration();
00130         void insertMotionAnimation(const RVNGPropertyList &propList);
00131         void insertColorAnimation(const RVNGPropertyList &propList);
00132         void insertAnimation(const RVNGPropertyList &propList);
00133         void insertEffect(const RVNGPropertyList &propList);
00134 
00135 private:
00136         RVNGSVGPresentationGeneratorImpl *m_impl;
00137 };
00138 
00139 } // namespace libetonyek
00140 
00141 #endif // RVNGSVGPRESENTATIONGENERATOR_H
00142 
00143 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */