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 IMPCOLLECTOR_H_INCLUDED 00011 #define IMPCOLLECTOR_H_INCLUDED 00012 00013 #include <string> 00014 00015 #include <librevenge/librevenge.h> 00016 00017 #include "IMPTypes.h" 00018 00019 namespace libebook 00020 { 00021 00022 class IMPCollector 00023 { 00024 public: 00025 explicit IMPCollector(librevenge::RVNGTextInterface *document); 00026 00027 void openParagraph(); 00028 void closeParagraph(); 00029 void collectText(const std::string &text); 00030 void collectLineBreak(); 00031 00032 void collectImage(); 00033 00034 void openTable(); 00035 void closeTable(); 00036 void collectTableCell(); 00037 00038 void openPageHeader(); 00039 void closePageHeader(); 00040 void openPageFooter(); 00041 void closePageFooter(); 00042 00043 private: 00044 librevenge::RVNGTextInterface *const m_document; 00045 }; 00046 00047 } 00048 00049 #endif // IMPCOLLECTOR_H_INCLUDED 00050 00051 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */