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: */