RVNGPresentationInterface.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 RVNGPRESENTATIONINTERFACE_H
00016 #define RVNGPRESENTATIONINTERFACE_H
00017 
00018 #include "RVNGPropertyList.h"
00019 #include "RVNGPropertyListVector.h"
00020 
00021 namespace librevenge
00022 {
00023 
00026 class RVNGPresentationInterface
00027 {
00028 public:
00029         virtual ~RVNGPresentationInterface() {}
00030 
00031         // none of the other callback functions will be called before this function is called
00032         virtual void startDocument(const RVNGPropertyList &propList) = 0;
00033 
00034         // none of the other callback functions will be called after this function is called
00035         virtual void endDocument() = 0;
00036 
00092         virtual void setDocumentMetaData(const RVNGPropertyList &propList) = 0;
00093 
00104         virtual void defineEmbeddedFont(const RVNGPropertyList &propList) = 0;
00105 
00106         virtual void startSlide(const RVNGPropertyList &propList) = 0;
00107 
00108         virtual void endSlide() = 0;
00109 
00110         virtual void startMasterSlide(const RVNGPropertyList &propList) = 0;
00111 
00112         virtual void endMasterSlide() = 0;
00113 
00114         virtual void setStyle(const RVNGPropertyList &propList) = 0;
00115 
00125         virtual void setSlideTransition(const RVNGPropertyList &propList) = 0;
00126 
00127         virtual void startLayer(const RVNGPropertyList &propList) = 0;
00128 
00129         virtual void endLayer() = 0;
00130 
00131         virtual void startEmbeddedGraphics(const RVNGPropertyList &propList) = 0;
00132 
00133         virtual void endEmbeddedGraphics() = 0;
00134 
00135         virtual void openGroup(const RVNGPropertyList &propList) = 0;
00136 
00137         virtual void closeGroup() = 0;
00138 
00139         // Different primitive shapes
00140         virtual void drawRectangle(const RVNGPropertyList &propList) = 0;
00141 
00142         virtual void drawEllipse(const RVNGPropertyList &propList) = 0;
00143 
00144         virtual void drawPolygon(const RVNGPropertyList &propList) = 0;
00145 
00146         virtual void drawPolyline(const RVNGPropertyList &propList) = 0;
00147 
00148         virtual void drawPath(const RVNGPropertyList &propList) = 0;
00149 
00160         virtual void drawGraphicObject(const RVNGPropertyList &propList) = 0;
00161 
00173         virtual void drawConnector(const RVNGPropertyList &propList) = 0;
00174 
00177         virtual void startTextObject(const RVNGPropertyList &propList) = 0;
00178 
00181         virtual void endTextObject() = 0;
00182 
00186         virtual void insertTab() = 0;
00187 
00191         virtual void insertSpace() = 0;
00192 
00197         virtual void insertText(const RVNGString &text) = 0;
00198 
00202         virtual void insertLineBreak() = 0;
00203 
00211         virtual void insertField(const RVNGPropertyList &propList) = 0;
00212 
00225         virtual void openOrderedListLevel(const RVNGPropertyList &propList) = 0;
00226 
00236         virtual void openUnorderedListLevel(const RVNGPropertyList &propList) = 0;
00237 
00241         virtual void closeOrderedListLevel() = 0;
00242 
00246         virtual void closeUnorderedListLevel() = 0;
00247 
00265         virtual void openListElement(const RVNGPropertyList &propList) = 0;
00266 
00270         virtual void closeListElement() = 0;
00271 
00272         virtual void defineParagraphStyle(const RVNGPropertyList &propList) = 0;
00273 
00284         virtual void openParagraph(const RVNGPropertyList &propList) = 0;
00285 
00289         virtual void closeParagraph() = 0;
00290 
00291         virtual void defineCharacterStyle(const RVNGPropertyList &propList) = 0;
00292 
00298         virtual void openSpan(const RVNGPropertyList &propList) = 0;
00299 
00303         virtual void closeSpan() = 0;
00304 
00311         virtual void openLink(const RVNGPropertyList &propList) = 0;
00312 
00316         virtual void closeLink() = 0;
00317 
00329         virtual void startTableObject(const RVNGPropertyList &propList) = 0;
00337         virtual void openTableRow(const RVNGPropertyList &propList) = 0;
00341         virtual void closeTableRow() = 0;
00356         virtual void openTableCell(const RVNGPropertyList &propList) = 0;
00360         virtual void closeTableCell() = 0;
00367         virtual void insertCoveredTableCell(const RVNGPropertyList &propList) = 0;
00371         virtual void endTableObject() = 0;
00372 
00375         virtual void startComment(const RVNGPropertyList &propList) = 0;
00376 
00379         virtual void endComment() = 0;
00380 
00383         virtual void startNotes(const RVNGPropertyList &propList) = 0;
00384 
00387         virtual void endNotes() = 0;
00388 
00389         // Charts
00390 
00391         virtual void defineChartStyle(const RVNGPropertyList &propList) = 0;
00392 
00398         virtual void openChart(const RVNGPropertyList &propList) = 0;
00402         virtual void closeChart() = 0;
00403 
00407         virtual void openChartTextObject(const RVNGPropertyList &propList) = 0;
00411         virtual void closeChartTextObject() = 0;
00412 
00416         virtual void openChartPlotArea(const RVNGPropertyList &propList) = 0;
00420         virtual void closeChartPlotArea() = 0;
00424         virtual void insertChartAxis(const RVNGPropertyList &propList) = 0;
00428         virtual void openChartSeries(const librevenge::RVNGPropertyList &propList) = 0;
00432         virtual void closeChartSeries() = 0;
00433 
00434         // Animations
00435 
00439         virtual void openAnimationSequence(const RVNGPropertyList &propList) = 0;
00440         virtual void closeAnimationSequence() = 0;
00441 
00445         virtual void openAnimationGroup(const RVNGPropertyList &propList) = 0;
00446         virtual void closeAnimationGroup() = 0;
00447 
00448         virtual void openAnimationIteration(const RVNGPropertyList &propList) = 0;
00449         virtual void closeAnimationIteration() = 0;
00450 
00454         virtual void insertMotionAnimation(const RVNGPropertyList &propList) = 0;
00458         virtual void insertColorAnimation(const RVNGPropertyList &propList) = 0;
00462         virtual void insertAnimation(const RVNGPropertyList &propList) = 0;
00466         virtual void insertEffect(const RVNGPropertyList &propList) = 0;
00467 };
00468 
00469 }
00470 
00471 #endif // RVNGPRESENTATIONINTERFACE_H
00472 
00473 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */