diff options
| author | Michele Calgaro <michele.calgaro@yahoo.it> | 2024-06-07 23:30:05 +0900 |
|---|---|---|
| committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2024-06-07 23:30:05 +0900 |
| commit | 17b259df9cb6b28779d4881b2b6c805ee2e48eea (patch) | |
| tree | 5ed61937459cb7081089111b0242c01ec178f1f3 /fbreader/src/formats/xhtml/XHTMLReader.h | |
| parent | 1cba8bce178eb2d6719c6f7f21e2c9352c5513a6 (diff) | |
| download | tde-ebook-reader-17b259df9cb6b28779d4881b2b6c805ee2e48eea.tar.gz tde-ebook-reader-17b259df9cb6b28779d4881b2b6c805ee2e48eea.zip | |
Rename to tde-ebook-reader
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'fbreader/src/formats/xhtml/XHTMLReader.h')
| -rw-r--r-- | fbreader/src/formats/xhtml/XHTMLReader.h | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/fbreader/src/formats/xhtml/XHTMLReader.h b/fbreader/src/formats/xhtml/XHTMLReader.h deleted file mode 100644 index 08d4c02..0000000 --- a/fbreader/src/formats/xhtml/XHTMLReader.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Copyright (C) 2004-2012 Geometer Plus <contact@geometerplus.com> - * - * 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 __XHTMLREADER_H__ -#define __XHTMLREADER_H__ - -#include <string> -#include <map> -#include <vector> - -#include <ZLXMLReader.h> - -#include "../css/StyleSheetTable.h" -#include "../css/StyleSheetParser.h" - -class ZLFile; - -class BookReader; -class XHTMLReader; - -class XHTMLTagAction { - -public: - virtual ~XHTMLTagAction(); - - virtual void doAtStart(XHTMLReader &reader, const char **xmlattributes) = 0; - virtual void doAtEnd(XHTMLReader &reader) = 0; - -protected: - static BookReader &bookReader(XHTMLReader &reader); - static const std::string &pathPrefix(XHTMLReader &reader); - static void beginParagraph(XHTMLReader &reader); - static void endParagraph(XHTMLReader &reader); -}; - -class XHTMLReader : public ZLXMLReader { - -public: - static XHTMLTagAction *addAction(const std::string &tag, XHTMLTagAction *action); - static void fillTagTable(); - -private: - static std::map<std::string,XHTMLTagAction*> ourTagActions; - -public: - XHTMLReader(BookReader &modelReader); - bool readFile(const ZLFile &file, const std::string &referenceName); - const std::string &fileAlias(const std::string &fileName) const; - const std::string normalizedReference(const std::string &reference) const; - -private: - void startElementHandler(const char *tag, const char **attributes); - void endElementHandler(const char *tag); - void characterDataHandler(const char *text, std::size_t len); - - const std::vector<std::string> &externalDTDs() const; - - bool processNamespaces() const; - - void beginParagraph(); - void endParagraph(); - bool addStyleEntry(const std::string tag, const std::string aClass); - -private: - mutable std::map<std::string,std::string> myFileNumbers; - - BookReader &myModelReader; - std::string myPathPrefix; - std::string myReferenceAlias; - std::string myReferenceDirName; - bool myPreformatted; - bool myNewParagraphInProgress; - StyleSheetTable myStyleSheetTable; - std::vector<int> myCSSStack; - std::vector<shared_ptr<ZLTextStyleEntry> > myStyleEntryStack; - int myStylesToRemove; - std::vector<bool> myDoPageBreakAfterStack; - bool myCurrentParagraphIsEmpty; - shared_ptr<StyleSheetSingleStyleParser> myStyleParser; - shared_ptr<StyleSheetTableParser> myTableParser; - enum { - READ_NOTHING, - READ_STYLE, - READ_BODY - } myReadState; - - friend class XHTMLTagAction; - friend class XHTMLTagStyleAction; - friend class XHTMLTagLinkAction; - friend class XHTMLTagHyperlinkAction; - friend class XHTMLTagPreAction; - friend class XHTMLTagParagraphAction; - friend class XHTMLTagBodyAction; - friend class XHTMLTagRestartParagraphAction; -}; - -#endif /* __XHTMLREADER_H__ */ |
