RVNGTextInterface.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) 2002-2005 William Lachance (wrlach@gmail.com)
00011  * Copyright (C) 2002 Marc Maurer (uwog@uwog.net)
00012  * Copyright (C) 2006 Fridrich Strba (fridrich.strba@bluewin.ch)
00013  *
00014  * For minor contributions see the git repository.
00015  *
00016  * Alternatively, the contents of this file may be used under the terms
00017  * of the GNU Lesser General Public License Version 2.1 or later
00018  * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
00019  * applicable instead of those above.
00020  */
00021 
00022 #ifndef RVNGTEXTINTERFACE_H
00023 #define RVNGTEXTINTERFACE_H
00024 
00025 #include "RVNGPropertyList.h"
00026 #include "RVNGPropertyListVector.h"
00027 
00028 namespace librevenge
00029 {
00030 
00037 class RVNGInputStream;
00038 
00039 class RVNGTextInterface
00040 {
00041 public:
00042         virtual ~RVNGTextInterface() {}
00043 
00099         virtual void setDocumentMetaData(const RVNGPropertyList &propList) = 0;
00100 
00104         virtual void startDocument(const RVNGPropertyList &propList) = 0;
00105 
00109         virtual void endDocument() = 0;
00110 
00111         virtual void definePageStyle(const RVNGPropertyList &propList) = 0;
00112 
00123         virtual void defineEmbeddedFont(const RVNGPropertyList &propList) = 0;
00124 
00139         virtual void openPageSpan(const RVNGPropertyList &propList) = 0;
00143         virtual void closePageSpan() = 0;
00144 
00150         virtual void openHeader(const RVNGPropertyList &propList) = 0;
00154         virtual void closeHeader() = 0;
00155 
00161         virtual void openFooter(const RVNGPropertyList &propList) = 0;
00165         virtual void closeFooter() = 0;
00166 
00167         virtual void defineParagraphStyle(const RVNGPropertyList &propList) = 0;
00168 
00180         virtual void openParagraph(const RVNGPropertyList &propList) = 0;
00184         virtual void closeParagraph() = 0;
00185 
00186         virtual void defineCharacterStyle(const RVNGPropertyList &propList) = 0;
00187 
00193         virtual void openSpan(const RVNGPropertyList &propList) = 0;
00197         virtual void closeSpan() = 0;
00204         virtual void openLink(const RVNGPropertyList &propList) = 0;
00208         virtual void closeLink() = 0;
00209 
00210         virtual void defineSectionStyle(const RVNGPropertyList &propList) = 0;
00211 
00224         virtual void openSection(const RVNGPropertyList &propList) = 0;
00228         virtual void closeSection() = 0;
00229 
00233         virtual void insertTab() = 0;
00237         virtual void insertSpace() = 0;
00242         virtual void insertText(const RVNGString &text) = 0;
00246         virtual void insertLineBreak() = 0;
00247 
00255         virtual void insertField(const RVNGPropertyList &propList) = 0;
00256 
00269         virtual void openOrderedListLevel(const RVNGPropertyList &propList) = 0;
00279         virtual void openUnorderedListLevel(const RVNGPropertyList &propList) = 0;
00283         virtual void closeOrderedListLevel() = 0;
00287         virtual void closeUnorderedListLevel() = 0;
00305         virtual void openListElement(const RVNGPropertyList &propList) = 0;
00309         virtual void closeListElement() = 0;
00310 
00316         virtual void openFootnote(const RVNGPropertyList &propList) = 0;
00320         virtual void closeFootnote() = 0;
00321 
00327         virtual void openEndnote(const RVNGPropertyList &propList) = 0;
00331         virtual void closeEndnote() = 0;
00332 
00337         virtual void openComment(const RVNGPropertyList &propList) = 0;
00341         virtual void closeComment() = 0;
00342 
00347         virtual void openTextBox(const RVNGPropertyList &propList) = 0;
00351         virtual void closeTextBox() = 0;
00352 
00364         virtual void openTable(const RVNGPropertyList &propList) = 0;
00372         virtual void openTableRow(const RVNGPropertyList &propList) = 0;
00376         virtual void closeTableRow() = 0;
00391         virtual void openTableCell(const RVNGPropertyList &propList) = 0;
00395         virtual void closeTableCell() = 0;
00402         virtual void insertCoveredTableCell(const RVNGPropertyList &propList) = 0;
00406         virtual void closeTable() = 0;
00422         virtual void openFrame(const RVNGPropertyList &propList) = 0;
00426         virtual void closeFrame() = 0;
00437         virtual void insertBinaryObject(const RVNGPropertyList &propList) = 0;
00444         virtual void insertEquation(const RVNGPropertyList &propList) = 0;
00445 
00446         // group
00447         virtual void openGroup(const librevenge::RVNGPropertyList &propList) = 0;
00448         virtual void closeGroup() = 0;
00449 
00450         // Different primitive shapes
00451         virtual void defineGraphicStyle(const librevenge::RVNGPropertyList &propList) = 0;
00452 
00453         virtual void drawRectangle(const RVNGPropertyList &propList) = 0;
00454         virtual void drawEllipse(const RVNGPropertyList &propList) = 0;
00455         virtual void drawPolygon(const RVNGPropertyList &propList) = 0;
00456         virtual void drawPolyline(const RVNGPropertyList &propList) = 0;
00457         virtual void drawPath(const RVNGPropertyList &propList) = 0;
00458 
00470         virtual void drawConnector(const RVNGPropertyList &propList) = 0;
00471 };
00472 
00473 }
00474 
00475 #endif /* RVNGTEXTINTERFACE_H */
00476 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */