00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 00002 /* 00003 * This file is part of the libe-book project. 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 00010 #ifndef EBOOKSUBDOCUMENT_H_INCLUDED 00011 #define EBOOKSUBDOCUMENT_H_INCLUDED 00012 00013 #include <librevenge/librevenge.h> 00014 00015 namespace libebook 00016 { 00017 00018 class EBOOKSubDocument : public librevenge::RVNGTextInterface 00019 { 00020 // disable copying 00021 EBOOKSubDocument(const EBOOKSubDocument &); 00022 EBOOKSubDocument &operator=(const EBOOKSubDocument &); 00023 00024 public: 00025 explicit EBOOKSubDocument(librevenge::RVNGTextInterface &document); 00026 ~EBOOKSubDocument(); 00027 00028 void setDocumentMetaData(const librevenge::RVNGPropertyList &propList); 00029 00030 void startDocument(const librevenge::RVNGPropertyList &propList); 00031 void endDocument(); 00032 00033 void defineEmbeddedFont(const librevenge::RVNGPropertyList &propList); 00034 00035 void definePageStyle(const librevenge::RVNGPropertyList &propList); 00036 void openPageSpan(const librevenge::RVNGPropertyList &propList); 00037 void closePageSpan(); 00038 void openHeader(const librevenge::RVNGPropertyList &propList); 00039 void closeHeader(); 00040 void openFooter(const librevenge::RVNGPropertyList &propList); 00041 void closeFooter(); 00042 00043 void defineParagraphStyle(const librevenge::RVNGPropertyList &propList); 00044 void openParagraph(const librevenge::RVNGPropertyList &propList); 00045 void closeParagraph(); 00046 00047 void defineCharacterStyle(const librevenge::RVNGPropertyList &propList); 00048 void openSpan(const librevenge::RVNGPropertyList &propList); 00049 void closeSpan(); 00050 00051 void openLink(const librevenge::RVNGPropertyList &propList); 00052 void closeLink(); 00053 00054 void defineSectionStyle(const librevenge::RVNGPropertyList &propList); 00055 void openSection(const librevenge::RVNGPropertyList &propList); 00056 void closeSection(); 00057 00058 void insertTab(); 00059 void insertSpace(); 00060 void insertText(const librevenge::RVNGString &text); 00061 void insertLineBreak(); 00062 void insertField(const librevenge::RVNGPropertyList &propList); 00063 00064 void openOrderedListLevel(const librevenge::RVNGPropertyList &propList); 00065 void openUnorderedListLevel(const librevenge::RVNGPropertyList &propList); 00066 void closeOrderedListLevel(); 00067 void closeUnorderedListLevel(); 00068 void openListElement(const librevenge::RVNGPropertyList &propList); 00069 void closeListElement(); 00070 00071 void openFootnote(const librevenge::RVNGPropertyList &propList); 00072 void closeFootnote(); 00073 void openEndnote(const librevenge::RVNGPropertyList &propList); 00074 void closeEndnote(); 00075 void openComment(const librevenge::RVNGPropertyList &propList); 00076 void closeComment(); 00077 void openTextBox(const librevenge::RVNGPropertyList &propList); 00078 void closeTextBox(); 00079 00080 void openTable(const librevenge::RVNGPropertyList &propList); 00081 void openTableRow(const librevenge::RVNGPropertyList &propList); 00082 void closeTableRow(); 00083 void openTableCell(const librevenge::RVNGPropertyList &propList); 00084 void closeTableCell(); 00085 void insertCoveredTableCell(const librevenge::RVNGPropertyList &propList); 00086 void closeTable(); 00087 00088 void openFrame(const librevenge::RVNGPropertyList &propList); 00089 void closeFrame(); 00090 00091 void openGroup(const librevenge::RVNGPropertyList &propList); 00092 void closeGroup(); 00093 00094 void defineGraphicStyle(const librevenge::RVNGPropertyList &propList); 00095 void drawRectangle(const librevenge::RVNGPropertyList &propList); 00096 void drawEllipse(const librevenge::RVNGPropertyList &propList); 00097 void drawPolygon(const librevenge::RVNGPropertyList &propList); 00098 void drawPolyline(const librevenge::RVNGPropertyList &propList); 00099 void drawPath(const librevenge::RVNGPropertyList &propList); 00100 void drawConnector(const librevenge::RVNGPropertyList &propList); 00101 00102 void insertBinaryObject(const librevenge::RVNGPropertyList &propList); 00103 void insertEquation(const librevenge::RVNGPropertyList &propList); 00104 00105 private: 00106 librevenge::RVNGTextInterface &m_document; 00107 }; 00108 00109 } 00110 00111 #endif // EBOOKSUBDOCUMENT_H_INCLUDED 00112 00113 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */