summaryrefslogtreecommitdiffstats
path: root/fbreader/src/bookmodel
diff options
context:
space:
mode:
authorMichele Calgaro <[email protected]>2024-06-07 23:30:05 +0900
committerMichele Calgaro <[email protected]>2024-06-07 23:30:05 +0900
commit17b259df9cb6b28779d4881b2b6c805ee2e48eea (patch)
tree5ed61937459cb7081089111b0242c01ec178f1f3 /fbreader/src/bookmodel
parent1cba8bce178eb2d6719c6f7f21e2c9352c5513a6 (diff)
downloadtde-ebook-reader-17b259df9cb6b28779d4881b2b6c805ee2e48eea.tar.gz
tde-ebook-reader-17b259df9cb6b28779d4881b2b6c805ee2e48eea.zip
Rename to tde-ebook-reader
Signed-off-by: Michele Calgaro <[email protected]>
Diffstat (limited to 'fbreader/src/bookmodel')
-rw-r--r--fbreader/src/bookmodel/BookModel.cpp68
-rw-r--r--fbreader/src/bookmodel/BookModel.h91
-rw-r--r--fbreader/src/bookmodel/BookReader.cpp303
-rw-r--r--fbreader/src/bookmodel/BookReader.h114
-rw-r--r--fbreader/src/bookmodel/FBHyperlinkType.h30
-rw-r--r--fbreader/src/bookmodel/FBTextKind.h70
6 files changed, 0 insertions, 676 deletions
diff --git a/fbreader/src/bookmodel/BookModel.cpp b/fbreader/src/bookmodel/BookModel.cpp
deleted file mode 100644
index 2123282..0000000
--- a/fbreader/src/bookmodel/BookModel.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2004-2012 Geometer Plus <[email protected]>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-#include <ZLImage.h>
-#include <ZLFile.h>
-
-#include "BookModel.h"
-#include "BookReader.h"
-
-#include "../formats/FormatPlugin.h"
-#include "../library/Book.h"
-
-BookModel::BookModel(const shared_ptr<Book> book) : myBook(book) {
- myBookTextModel = new ZLTextPlainModel(book->language(), 102400);
- myContentsModel = new ContentsModel(book->language());
- shared_ptr<FormatPlugin> plugin = PluginCollection::Instance().plugin(book->file(), false);
- if (!plugin.isNull()) {
- plugin->readModel(*this);
- }
-}
-
-BookModel::~BookModel() {
-}
-
-void BookModel::setHyperlinkMatcher(shared_ptr<HyperlinkMatcher> matcher) {
- myHyperlinkMatcher = matcher;
-}
-
-BookModel::Label BookModel::label(const std::string &id) const {
- if (!myHyperlinkMatcher.isNull()) {
- return myHyperlinkMatcher->match(myInternalHyperlinks, id);
- }
-
- std::map<std::string,Label>::const_iterator it = myInternalHyperlinks.find(id);
- return (it != myInternalHyperlinks.end()) ? it->second : Label(0, -1);
-}
-
-ContentsModel::ContentsModel(const std::string &language) : ZLTextTreeModel(language) {
-}
-
-void ContentsModel::setReference(const ZLTextTreeParagraph *paragraph, int reference) {
- myReferenceByParagraph[paragraph] = reference;
-}
-
-int ContentsModel::reference(const ZLTextTreeParagraph *paragraph) const {
- std::map<const ZLTextTreeParagraph*,int>::const_iterator it = myReferenceByParagraph.find(paragraph);
- return (it != myReferenceByParagraph.end()) ? it->second : -1;
-}
-
-const shared_ptr<Book> BookModel::book() const {
- return myBook;
-}
diff --git a/fbreader/src/bookmodel/BookModel.h b/fbreader/src/bookmodel/BookModel.h
deleted file mode 100644
index 6f83728..0000000
--- a/fbreader/src/bookmodel/BookModel.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2004-2012 Geometer Plus <[email protected]>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-#ifndef __BOOKMODEL_H__
-#define __BOOKMODEL_H__
-
-#include <map>
-#include <string>
-
-#include <ZLTextModel.h>
-#include <ZLTextParagraph.h>
-#include <ZLUserData.h>
-
-class ZLImage;
-class Book;
-
-class ContentsModel : public ZLTextTreeModel {
-
-public:
- ContentsModel(const std::string &language);
- void setReference(const ZLTextTreeParagraph *paragraph, int reference);
- int reference(const ZLTextTreeParagraph *paragraph) const;
-
-private:
- std::map<const ZLTextTreeParagraph*,int> myReferenceByParagraph;
-};
-
-class BookModel : public ZLUserDataHolder {
-
-public:
- struct Label {
- Label(shared_ptr<ZLTextModel> model, int paragraphNumber) : Model(model), ParagraphNumber(paragraphNumber) {}
-
- const shared_ptr<ZLTextModel> Model;
- const int ParagraphNumber;
- };
-
-public:
- class HyperlinkMatcher {
-
- public:
- virtual Label match(const std::map<std::string,Label> &lMap, const std::string &id) const = 0;
- };
-
-public:
- BookModel(const shared_ptr<Book> book);
- ~BookModel();
-
- void setHyperlinkMatcher(shared_ptr<HyperlinkMatcher> matcher);
-
- shared_ptr<ZLTextModel> bookTextModel() const;
- shared_ptr<ZLTextModel> contentsModel() const;
-
- const ZLImageMap &imageMap() const;
- Label label(const std::string &id) const;
-
- const shared_ptr<Book> book() const;
-
-private:
- const shared_ptr<Book> myBook;
- shared_ptr<ZLTextModel> myBookTextModel;
- shared_ptr<ZLTextModel> myContentsModel;
- ZLImageMap myImages;
- std::map<std::string,shared_ptr<ZLTextModel> > myFootnotes;
- std::map<std::string,Label> myInternalHyperlinks;
- shared_ptr<HyperlinkMatcher> myHyperlinkMatcher;
-
-friend class BookReader;
-};
-
-inline shared_ptr<ZLTextModel> BookModel::bookTextModel() const { return myBookTextModel; }
-inline shared_ptr<ZLTextModel> BookModel::contentsModel() const { return myContentsModel; }
-inline const ZLImageMap &BookModel::imageMap() const { return myImages; }
-
-#endif /* __BOOKMODEL_H__ */
diff --git a/fbreader/src/bookmodel/BookReader.cpp b/fbreader/src/bookmodel/BookReader.cpp
deleted file mode 100644
index 2982c43..0000000
--- a/fbreader/src/bookmodel/BookReader.cpp
+++ /dev/null
@@ -1,303 +0,0 @@
-/*
- * Copyright (C) 2004-2012 Geometer Plus <[email protected]>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-#include <ZLImage.h>
-#include <ZLLogger.h>
-#include <ZLTextStyleEntry.h>
-
-#include "BookReader.h"
-#include "BookModel.h"
-
-#include "../library/Book.h"
-
-BookReader::BookReader(BookModel &model) : myModel(model) {
- myCurrentTextModel = 0;
- myLastTOCParagraphIsEmpty = false;
-
- myContentsParagraphExists = false;
-
- myInsideTitle = false;
- mySectionContainsRegularContents = false;
-}
-
-BookReader::~BookReader() {
-}
-
-void BookReader::setMainTextModel() {
- myCurrentTextModel = myModel.myBookTextModel;
-}
-
-void BookReader::setFootnoteTextModel(const std::string &id) {
- std::map<std::string,shared_ptr<ZLTextModel> >::iterator it = myModel.myFootnotes.find(id);
- if (it != myModel.myFootnotes.end()) {
- myCurrentTextModel = (*it).second;
- } else {
- myCurrentTextModel = new ZLTextPlainModel(myModel.myBookTextModel->language(), 8192);
- myModel.myFootnotes.insert(std::make_pair(id, myCurrentTextModel));
- }
-}
-
-bool BookReader::paragraphIsOpen() const {
- if (myCurrentTextModel.isNull()) {
- return false;
- }
- for (std::list<shared_ptr<ZLTextModel> >::const_iterator it = myModelsWithOpenParagraphs.begin(); it != myModelsWithOpenParagraphs.end(); ++it) {
- if (*it == myCurrentTextModel) {
- return true;
- }
- }
- return false;
-}
-
-void BookReader::unsetTextModel() {
- myCurrentTextModel.reset();
-}
-
-void BookReader::pushKind(FBTextKind kind) {
- myKindStack.push_back(kind);
-}
-
-bool BookReader::popKind() {
- if (!myKindStack.empty()) {
- myKindStack.pop_back();
- return true;
- }
- return false;
-}
-
-bool BookReader::isKindStackEmpty() const {
- return myKindStack.empty();
-}
-
-void BookReader::beginParagraph(ZLTextParagraph::Kind kind) {
- endParagraph();
- if (myCurrentTextModel != 0) {
- ((ZLTextPlainModel&)*myCurrentTextModel).createParagraph(kind);
- for (std::vector<FBTextKind>::const_iterator it = myKindStack.begin(); it != myKindStack.end(); ++it) {
- myCurrentTextModel->addControl(*it, true);
- }
- if (!myHyperlinkReference.empty()) {
- myCurrentTextModel->addHyperlinkControl(myHyperlinkKind, myHyperlinkType, myHyperlinkReference);
- }
- myModelsWithOpenParagraphs.push_back(myCurrentTextModel);
- }
-}
-
-void BookReader::endParagraph() {
- if (paragraphIsOpen()) {
- flushTextBufferToParagraph();
- myModelsWithOpenParagraphs.remove(myCurrentTextModel);
- }
-}
-
-void BookReader::addControl(FBTextKind kind, bool start) {
- if (paragraphIsOpen()) {
- flushTextBufferToParagraph();
- myCurrentTextModel->addControl(kind, start);
- }
- if (!start && !myHyperlinkReference.empty() && (kind == myHyperlinkKind)) {
- myHyperlinkReference.erase();
- }
-}
-
-void BookReader::addStyleEntry(const ZLTextStyleEntry &entry) {
- if (paragraphIsOpen()) {
- flushTextBufferToParagraph();
- myCurrentTextModel->addStyleEntry(entry);
- }
-}
-
-void BookReader::addStyleCloseEntry() {
- addControl(REGULAR, false); //used instead in XHTMLReader
- //TODO implement ZLTextModel::addStyleCloseEntry()
-// if (paragraphIsOpen()) {
-// flushTextBufferToParagraph();
-// myCurrentTextModel->addStyleCloseEntry();
-// }
-}
-
-void BookReader::addFixedHSpace(unsigned char length) {
- if (paragraphIsOpen()) {
- flushTextBufferToParagraph();
- myCurrentTextModel->addFixedHSpace(length);
- }
-}
-
-void BookReader::addHyperlinkControl(FBTextKind kind, const std::string &label) {
- myHyperlinkKind = kind;
- std::string type;
- switch (myHyperlinkKind) {
- case INTERNAL_HYPERLINK:
- case FOOTNOTE:
- myHyperlinkType = HYPERLINK_INTERNAL;
- type = "internal";
- break;
- case EXTERNAL_HYPERLINK:
- myHyperlinkType = HYPERLINK_EXTERNAL;
- type = "external";
- break;
- case BOOK_HYPERLINK:
- myHyperlinkType = HYPERLINK_BOOK;
- type = "book";
- break;
- default:
- myHyperlinkType = HYPERLINK_NONE;
- break;
- }
- ZLLogger::Instance().println(
- "hyperlink",
- " + control (" + type + "): " + label
- );
- if (paragraphIsOpen()) {
- flushTextBufferToParagraph();
- myCurrentTextModel->addHyperlinkControl(kind, myHyperlinkType, label);
- }
- myHyperlinkReference = label;
-}
-
-void BookReader::addHyperlinkLabel(const std::string &label) {
- if (!myCurrentTextModel.isNull()) {
- int paragraphNumber = myCurrentTextModel->paragraphsNumber();
- if (paragraphIsOpen()) {
- --paragraphNumber;
- }
- addHyperlinkLabel(label, paragraphNumber);
- }
-}
-
-void BookReader::addHyperlinkLabel(const std::string &label, int paragraphNumber) {
- ZLLogger::Instance().println(
- "hyperlink",
- " + label: " + label
- );
- myModel.myInternalHyperlinks.insert(std::make_pair(
- label, BookModel::Label(myCurrentTextModel, paragraphNumber)
- ));
-}
-
-void BookReader::addData(const std::string &data) {
- if (!data.empty() && paragraphIsOpen()) {
- if (!myInsideTitle) {
- mySectionContainsRegularContents = true;
- }
- myBuffer.push_back(data);
- }
-}
-
-void BookReader::addContentsData(const std::string &data) {
- if (!data.empty() && !myTOCStack.empty()) {
- myContentsBuffer.push_back(data);
- }
-}
-
-void BookReader::flushTextBufferToParagraph() {
- myCurrentTextModel->addText(myBuffer);
- myBuffer.clear();
-}
-
-void BookReader::addImage(const std::string &id, shared_ptr<const ZLImage> image) {
- myModel.myImages[id] = image;
-}
-
-void BookReader::insertEndParagraph(ZLTextParagraph::Kind kind) {
- if ((myCurrentTextModel != 0) && mySectionContainsRegularContents) {
- std::size_t size = myCurrentTextModel->paragraphsNumber();
- if ((size > 0) && (((*myCurrentTextModel)[(std::size_t)-1])->kind() != kind)) {
- ((ZLTextPlainModel&)*myCurrentTextModel).createParagraph(kind);
- mySectionContainsRegularContents = false;
- }
- }
-}
-
-void BookReader::insertEndOfSectionParagraph() {
- insertEndParagraph(ZLTextParagraph::END_OF_SECTION_PARAGRAPH);
-}
-
-void BookReader::insertEndOfTextParagraph() {
- insertEndParagraph(ZLTextParagraph::END_OF_TEXT_PARAGRAPH);
-}
-
-void BookReader::addImageReference(const std::string &id, short vOffset) {
- if (myCurrentTextModel != 0) {
- mySectionContainsRegularContents = true;
- if (paragraphIsOpen()) {
- flushTextBufferToParagraph();
- myCurrentTextModel->addImage(id, myModel.imageMap(), vOffset);
- } else {
- beginParagraph();
- myCurrentTextModel->addControl(IMAGE, true);
- myCurrentTextModel->addImage(id, myModel.imageMap(), vOffset);
- myCurrentTextModel->addControl(IMAGE, false);
- endParagraph();
- }
- }
-}
-
-void BookReader::beginContentsParagraph(int referenceNumber) {
- if (myCurrentTextModel == myModel.myBookTextModel) {
- ContentsModel &contentsModel = (ContentsModel&)*myModel.myContentsModel;
- if (referenceNumber == -1) {
- referenceNumber = myCurrentTextModel->paragraphsNumber();
- }
- ZLTextTreeParagraph *peek = myTOCStack.empty() ? 0 : myTOCStack.top();
- if (!myContentsBuffer.empty()) {
- contentsModel.addText(myContentsBuffer);
- myContentsBuffer.clear();
- myLastTOCParagraphIsEmpty = false;
- }
- if (myLastTOCParagraphIsEmpty) {
- contentsModel.addText("...");
- }
- ZLTextTreeParagraph *para = contentsModel.createParagraph(peek);
- contentsModel.addControl(CONTENTS_TABLE_ENTRY, true);
- contentsModel.setReference(para, referenceNumber);
- myTOCStack.push(para);
- myLastTOCParagraphIsEmpty = true;
- myContentsParagraphExists = true;
- }
-}
-
-void BookReader::endContentsParagraph() {
- if (!myTOCStack.empty()) {
- ContentsModel &contentsModel = (ContentsModel&)*myModel.myContentsModel;
- if (!myContentsBuffer.empty()) {
- contentsModel.addText(myContentsBuffer);
- myContentsBuffer.clear();
- myLastTOCParagraphIsEmpty = false;
- }
- if (myLastTOCParagraphIsEmpty) {
- contentsModel.addText("...");
- myLastTOCParagraphIsEmpty = false;
- }
- myTOCStack.pop();
- }
- myContentsParagraphExists = false;
-}
-
-void BookReader::setReference(std::size_t contentsParagraphNumber, int referenceNumber) {
- ContentsModel &contentsModel = (ContentsModel&)*myModel.myContentsModel;
- if (contentsParagraphNumber >= contentsModel.paragraphsNumber()) {
- return;
- }
- contentsModel.setReference((const ZLTextTreeParagraph*)contentsModel[contentsParagraphNumber], referenceNumber);
-}
-
-void BookReader::reset() {
- myKindStack.clear();
-}
diff --git a/fbreader/src/bookmodel/BookReader.h b/fbreader/src/bookmodel/BookReader.h
deleted file mode 100644
index 3a27262..0000000
--- a/fbreader/src/bookmodel/BookReader.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (C) 2004-2012 Geometer Plus <[email protected]>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-#ifndef __BOOKREADER_H__
-#define __BOOKREADER_H__
-
-#include <vector>
-#include <list>
-#include <stack>
-#include <string>
-
-#include <ZLTextParagraph.h>
-
-#include "FBHyperlinkType.h"
-#include "FBTextKind.h"
-
-class BookModel;
-class ZLTextModel;
-class ZLInputStream;
-class ZLTextStyleEntry;
-
-class BookReader {
-
-public:
- BookReader(BookModel &model);
- virtual ~BookReader();
-
- void setMainTextModel();
- void setFootnoteTextModel(const std::string &id);
- void unsetTextModel();
-
- void insertEndOfSectionParagraph();
- void insertEndOfTextParagraph();
-
- void pushKind(FBTextKind kind);
- bool popKind();
- bool isKindStackEmpty() const;
-
- void beginParagraph(ZLTextParagraph::Kind kind = ZLTextParagraph::TEXT_PARAGRAPH);
- void endParagraph();
- bool paragraphIsOpen() const;
- void addControl(FBTextKind kind, bool start);
- void addStyleEntry(const ZLTextStyleEntry &entry);
- void addStyleCloseEntry(); //TODO reimplement
- void addHyperlinkControl(FBTextKind kind, const std::string &label);
- void addHyperlinkLabel(const std::string &label);
- void addHyperlinkLabel(const std::string &label, int paragraphNumber);
- void addFixedHSpace(unsigned char length);
-
- void addImageReference(const std::string &id, short vOffset = 0);
- void addImage(const std::string &id, shared_ptr<const ZLImage> image);
-
- void beginContentsParagraph(int referenceNumber = -1);
- void endContentsParagraph();
- bool contentsParagraphIsOpen() const;
- void setReference(std::size_t contentsParagraphNumber, int referenceNumber);
-
- void addData(const std::string &data);
- void addContentsData(const std::string &data);
-
- void enterTitle() { myInsideTitle = true; }
- void exitTitle() { myInsideTitle = false; }
-
- const BookModel &model() const { return myModel; }
-
- void reset();
-
-private:
- void insertEndParagraph(ZLTextParagraph::Kind kind);
- void flushTextBufferToParagraph();
-
-private:
- BookModel &myModel;
- shared_ptr<ZLTextModel> myCurrentTextModel;
- std::list<shared_ptr<ZLTextModel> > myModelsWithOpenParagraphs;
-
- std::vector<FBTextKind> myKindStack;
-
- bool myContentsParagraphExists;
- std::stack<ZLTextTreeParagraph*> myTOCStack;
- bool myLastTOCParagraphIsEmpty;
-
- bool mySectionContainsRegularContents;
- bool myInsideTitle;
-
- std::vector<std::string> myBuffer;
- std::vector<std::string> myContentsBuffer;
-
- std::string myHyperlinkReference;
- FBHyperlinkType myHyperlinkType;
- FBTextKind myHyperlinkKind;
-};
-
-inline bool BookReader::contentsParagraphIsOpen() const {
- return myContentsParagraphExists;
-}
-
-#endif /* __BOOKREADER_H__ */
diff --git a/fbreader/src/bookmodel/FBHyperlinkType.h b/fbreader/src/bookmodel/FBHyperlinkType.h
deleted file mode 100644
index fac7d80..0000000
--- a/fbreader/src/bookmodel/FBHyperlinkType.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (C) 2011-2012 Geometer Plus <[email protected]>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-#ifndef __FBHYPERLINKTYPE_H__
-#define __FBHYPERLINKTYPE_H__
-
-enum FBHyperlinkType {
- HYPERLINK_NONE = 0,
- HYPERLINK_INTERNAL = 1,
- HYPERLINK_EXTERNAL = 2,
- HYPERLINK_BOOK = 3,
-};
-
-#endif /* __FBHYPERLINKTYPE_H__ */
diff --git a/fbreader/src/bookmodel/FBTextKind.h b/fbreader/src/bookmodel/FBTextKind.h
deleted file mode 100644
index 746db2b..0000000
--- a/fbreader/src/bookmodel/FBTextKind.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2004-2012 Geometer Plus <[email protected]>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-#ifndef __FBTEXTKIND_H__
-#define __FBTEXTKIND_H__
-
-enum FBTextKind {
- // please, don't change these numbers
- // add new text kinds at end of this enumeration
- //
- // all the values MUST be in the range 0..127
- REGULAR = 0,
- TITLE = 1,
- SECTION_TITLE = 2,
- POEM_TITLE = 3,
- SUBTITLE = 4,
- ANNOTATION = 5,
- EPIGRAPH = 6,
- STANZA = 7,
- VERSE = 8,
- PREFORMATTED = 9,
- IMAGE = 10,
- END_OF_SECTION = 11,
- CITE = 12,
- AUTHOR = 13,
- DATEKIND = 14,
- INTERNAL_HYPERLINK = 15,
- FOOTNOTE = 16,
- EMPHASIS = 17,
- STRONG = 18,
- SUB = 19,
- SUP = 20,
- CODE = 21,
- STRIKETHROUGH = 22,
- CONTENTS_TABLE_ENTRY = 23,
- //LIBRARY_AUTHOR_ENTRY = 24,
- //LIBRARY_BOOK_ENTRY = 25,
- LIBRARY_ENTRY = 25,
- //RECENT_BOOK_LIST = 26,
- ITALIC = 27,
- BOLD = 28,
- DEFINITION = 29,
- DEFINITION_DESCRIPTION = 30,
- H1 = 31,
- H2 = 32,
- H3 = 33,
- H4 = 34,
- H5 = 35,
- H6 = 36,
- EXTERNAL_HYPERLINK = 37,
- BOOK_HYPERLINK = 38,
-};
-
-#endif /* __FBTEXTKIND_H__ */