EPUBHTMLManager.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /*
3  * This file is part of the libepubgen project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  */
9 
10 #ifndef INCLUDED_EPUBHTMLMANAGER_H
11 #define INCLUDED_EPUBHTMLMANAGER_H
12 
13 #include <memory>
14 #include <string>
15 #include <vector>
16 
17 #include <librevenge/librevenge.h>
18 
19 #include <libepubgen/libepubgen-decls.h>
20 
21 #include "EPUBCounter.h"
22 #include "EPUBPath.h"
23 #include "EPUBXMLContent.h"
24 
25 namespace libepubgen
26 {
27 
28 class EPUBFontManager;
29 class EPUBHTMLGenerator;
30 class EPUBImageManager;
31 class EPUBListStyleManager;
32 class EPUBParagraphStyleManager;
33 class EPUBSpanStyleManager;
34 class EPUBTableStyleManager;
35 class EPUBManifest;
36 class EPUBPackage;
37 
39 {
40  // disable copying
43 
44 public:
45  explicit EPUBHTMLManager(EPUBManifest &manifest);
46 
47  const std::shared_ptr<EPUBHTMLGenerator> create(EPUBImageManager &imageManager, EPUBFontManager &fontManager, EPUBListStyleManager &listStyleManager, EPUBParagraphStyleManager &paragraphStyleManager, EPUBSpanStyleManager &spanStyleManager, EPUBSpanStyleManager &bodyStyleManager, EPUBTableStyleManager &tableStyleManager, const EPUBPath &stylesheetPath, EPUBStylesMethod stylesMethod, EPUBLayoutMethod layoutMethod, int version);
48 
49  void writeTo(EPUBPackage &package);
50 
51  void writeSpineTo(EPUBXMLContent &xml);
52  void writeTocTo(EPUBXMLContent &xml, const EPUBPath &tocPath, int version, EPUBLayoutMethod layout);
53 
55  void insertHeadingText(const std::string &text);
56 
58  void addChapterName(const std::string &text);
59 
61  bool hasHeadingText() const;
62 
63 private:
65  std::vector<EPUBPath> m_paths;
66  std::vector<EPUBXMLContent> m_contents;
67  std::vector<std::string> m_ids;
69 };
70 
71 }
72 
73 #endif // INCLUDED_EPUBHTMLMANAGER
74 
75 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libepubgen::EPUBHTMLManager::hasHeadingText
bool hasHeadingText() const
If the current heading has a title.
Definition: EPUBHTMLManager.cpp:174
EPUBManifest.h
libepubgen::EPUBXMLContent::openElement
void openElement(const char *name, const librevenge::RVNGPropertyList &attributes=librevenge::RVNGPropertyList())
Definition: EPUBXMLContent.cpp:134
libepubgen::EPUBXMLContent::insertCharacters
void insertCharacters(const librevenge::RVNGString &characters)
Definition: EPUBXMLContent.cpp:150
libepubgen::EPUBImageManager
Definition: EPUBImageManager.h:32
libepubgen::EPUBHTMLManager::addChapterName
void addChapterName(const std::string &text)
Registers a chapter name for the current page (fixed layout case).
Definition: EPUBHTMLManager.cpp:166
libepubgen
Definition: EPUBBinaryContent.cpp:14
libepubgen::EPUBHTMLManager
Definition: EPUBHTMLManager.h:38
libepubgen::EPUBHTMLManager::writeTocTo
void writeTocTo(EPUBXMLContent &xml, const EPUBPath &tocPath, int version, EPUBLayoutMethod layout)
Definition: EPUBHTMLManager.cpp:92
libepubgen::EPUBHTMLManager::create
const std::shared_ptr< EPUBHTMLGenerator > create(EPUBImageManager &imageManager, EPUBFontManager &fontManager, EPUBListStyleManager &listStyleManager, EPUBParagraphStyleManager &paragraphStyleManager, EPUBSpanStyleManager &spanStyleManager, EPUBSpanStyleManager &bodyStyleManager, EPUBTableStyleManager &tableStyleManager, const EPUBPath &stylesheetPath, EPUBStylesMethod stylesMethod, EPUBLayoutMethod layoutMethod, int version)
Definition: EPUBHTMLManager.cpp:52
libepubgen::EPUBTableStyleManager
Small class to manage the tables style.
Definition: EPUBTableStyleManager.h:29
libepubgen::EPUBCounter
Definition: EPUBCounter.h:16
libepubgen::EPUBHTMLManager::operator=
EPUBHTMLManager & operator=(const EPUBHTMLManager &)
libepubgen::EPUBCounter::next
unsigned next()
Definition: EPUBCounter.cpp:25
libepubgen::EPUBManifest::insert
void insert(const EPUBPath &path, const std::string &mimetype, const std::string &id, const std::string &properties)
Definition: EPUBManifest.cpp:25
libepubgen::EPUBHTMLManager::m_manifest
EPUBManifest & m_manifest
Definition: EPUBHTMLManager.h:64
libepubgen::EPUBXMLContent::insertEmptyElement
void insertEmptyElement(const char *name, const librevenge::RVNGPropertyList &attributes=librevenge::RVNGPropertyList())
Definition: EPUBXMLContent.cpp:144
libepubgen::EPUBSpanStyleManager
Small class to manage the span style.
Definition: EPUBSpanStyleManager.h:30
libepubgen::EPUBHTMLManager::writeTo
void writeTo(EPUBPackage &package)
Definition: EPUBHTMLManager.cpp:71
libepubgen::EPUBHTMLManager::m_paths
std::vector< EPUBPath > m_paths
Definition: EPUBHTMLManager.h:65
libepubgen::EPUBPath
Representation of a path in the package.
Definition: EPUBPath.h:21
EPUBPath.h
libepubgen::EPUBListStyleManager
Small class to manage the list style.
Definition: EPUBListStyleManager.h:31
EPUBCounter.h
libepubgen::EPUBHTMLManager::m_number
EPUBCounter m_number
Definition: EPUBHTMLManager.h:68
libepubgen::EPUBParagraphStyleManager
Small class to manage the paragraph style.
Definition: EPUBParagraphStyleManager.h:29
libepubgen::EPUBHTMLManager::m_ids
std::vector< std::string > m_ids
Definition: EPUBHTMLManager.h:67
libepubgen::EPUBHTMLGenerator
Definition: EPUBHTMLGenerator.h:32
EPUBXMLContent.h
libepubgen::EPUBHTMLManager::insertHeadingText
void insertHeadingText(const std::string &text)
Appends text to the title of the current heading.
Definition: EPUBHTMLManager.cpp:158
EPUBHTMLGenerator.h
libepubgen::EPUBHTMLManager::EPUBHTMLManager
EPUBHTMLManager(const EPUBHTMLManager &)
libepubgen::EPUBPath::str
const std::string str() const
Definition: EPUBPath.cpp:87
libepubgen::EPUBHTMLManager::writeSpineTo
void writeSpineTo(EPUBXMLContent &xml)
Definition: EPUBHTMLManager.cpp:82
EPUBHTMLManager.h
libepubgen::EPUBFontManager
Manages embedded fonts.
Definition: EPUBFontManager.h:32
libepubgen::EPUBXMLContent::closeElement
void closeElement(const char *name)
Definition: EPUBXMLContent.cpp:139
libepubgen::EPUBHTMLManager::m_contents
std::vector< EPUBXMLContent > m_contents
Definition: EPUBHTMLManager.h:66
libepubgen::EPUBManifest
Definition: EPUBManifest.h:23
libepubgen::EPUBXMLContent
Definition: EPUBXMLContent.h:24

Generated for libepubgen by doxygen 1.8.16