EPUBGenerator.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_EPUBGENERATOR_H
11#define INCLUDED_EPUBGENERATOR_H
12
13#include "EPUBHTMLManager.h"
14#include "EPUBHTMLGenerator.h"
15#include "EPUBImageManager.h"
17#include "EPUBManifest.h"
19#include "EPUBPath.h"
21#include "EPUBSplitGuard.h"
23
24namespace libepubgen
25{
26
27class EPUBPackage;
28
30{
31 // disable copying
34
35public:
36 EPUBGenerator(EPUBPackage *package, int version);
37 virtual ~EPUBGenerator();
38
39 void startDocument(const librevenge::RVNGPropertyList &props);
40 void endDocument();
41
42 void setDocumentMetaData(const librevenge::RVNGPropertyList &props);
43
44 void startNewHtmlFile();
45
46 const EPUBHTMLGeneratorPtr_t &getHtml() const;
47
49
50 const EPUBSplitGuard &getSplitGuard() const;
52 int getVersion() const;
53
54 void setSplitMethod(EPUBSplitMethod splitMethod);
55
56 void setStylesMethod(EPUBStylesMethod stylesMethod);
57
58 void setLayoutMethod(EPUBLayoutMethod layoutMethod);
59
60private:
61 virtual void startHtmlFile() = 0;
62 virtual void endHtmlFile() = 0;
63
64private:
65 void writeContainer();
66 void writeNavigation();
67 void writeStylesheet();
68 void writeRoot();
69
70private:
71 EPUBPackage *m_package;
81
82 librevenge::RVNGPropertyList m_documentProps;
83 librevenge::RVNGPropertyList m_metadata;
84
86
88
90 EPUBStylesMethod m_stylesMethod;
91 EPUBLayoutMethod m_layoutMethod;
92};
93
94}
95
96#endif // INCLUDED_EPUBGENERATOR
97
98/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
Manages embedded fonts.
Definition EPUBImageManager.h:78
Definition EPUBGenerator.h:30
EPUBTableStyleManager m_tableStyleManager
Definition EPUBGenerator.h:79
void setLayoutMethod(EPUBLayoutMethod layoutMethod)
Definition EPUBGenerator.cpp:170
virtual void startHtmlFile()=0
void startNewHtmlFile()
Definition EPUBGenerator.cpp:110
EPUBPackage * m_package
Definition EPUBGenerator.h:71
EPUBParagraphStyleManager m_paragraphStyleManager
Definition EPUBGenerator.h:77
EPUBGenerator(const EPUBGenerator &)
EPUBHTMLGeneratorPtr_t m_currentHtml
Definition EPUBGenerator.h:85
librevenge::RVNGPropertyList m_metadata
Definition EPUBGenerator.h:83
const EPUBSplitGuard & getSplitGuard() const
Definition EPUBGenerator.cpp:145
EPUBManifest m_manifest
Definition EPUBGenerator.h:72
EPUBLayoutMethod m_layoutMethod
Definition EPUBGenerator.h:91
EPUBSplitGuard m_splitGuard
Definition EPUBGenerator.h:87
int getVersion() const
Definition EPUBGenerator.cpp:155
virtual ~EPUBGenerator()
Definition EPUBGenerator.cpp:54
void setStylesMethod(EPUBStylesMethod stylesMethod)
Definition EPUBGenerator.cpp:165
void writeContainer()
Definition EPUBGenerator.cpp:178
EPUBSpanStyleManager m_spanStyleManager
Definition EPUBGenerator.h:78
void setSplitMethod(EPUBSplitMethod splitMethod)
Definition EPUBGenerator.cpp:160
EPUBListStyleManager m_listStyleManager
Definition EPUBGenerator.h:76
void writeStylesheet()
Definition EPUBGenerator.cpp:264
const EPUBHTMLGeneratorPtr_t & getHtml() const
Definition EPUBGenerator.cpp:135
librevenge::RVNGPropertyList m_documentProps
Definition EPUBGenerator.h:82
EPUBGenerator & operator=(const EPUBGenerator &)
virtual void endHtmlFile()=0
void startDocument(const librevenge::RVNGPropertyList &props)
Definition EPUBGenerator.cpp:58
EPUBHTMLManager m_htmlManager
Definition EPUBGenerator.h:73
EPUBStylesMethod m_stylesMethod
Definition EPUBGenerator.h:90
void endDocument()
Definition EPUBGenerator.cpp:70
EPUBImageManager m_imageManager
Definition EPUBGenerator.h:74
void writeRoot()
Definition EPUBGenerator.cpp:278
const EPUBPath m_stylesheetPath
Definition EPUBGenerator.h:80
EPUBHTMLManager & getHtmlManager()
Definition EPUBGenerator.cpp:140
void writeNavigation()
Definition EPUBGenerator.cpp:201
EPUBFontManager m_fontManager
Definition EPUBGenerator.h:75
int m_version
Definition EPUBGenerator.h:89
void setDocumentMetaData(const librevenge::RVNGPropertyList &props)
Definition EPUBGenerator.cpp:87
Definition EPUBHTMLManager.h:36
Definition EPUBImageManager.h:31
Small class to manage the list style.
Definition EPUBListStyleManager.h:32
Definition EPUBManifest.h:24
Small class to manage the paragraph style.
Definition EPUBParagraphStyleManager.h:30
Representation of a path in the package.
Definition EPUBPath.h:22
Small class to manage the span style.
Definition EPUBSpanStyleManager.h:30
Definition EPUBSplitGuard.h:19
Small class to manage the tables style.
Definition EPUBTableStyleManager.h:30
Definition EPUBBinarySink.cpp:13
std::shared_ptr< EPUBHTMLGenerator > EPUBHTMLGeneratorPtr_t
Definition EPUBHTMLGenerator.h:131

Generated for libepubgen by doxygen 1.9.8