EPUBHTMLGenerator.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_EPUBHTMLGENERATOR_H
11#define INCLUDED_EPUBHTMLGENERATOR_H
12
13#include <memory>
14
15#include <librevenge/librevenge.h>
16
17#include <libepubgen/libepubgen-decls.h>
18
19namespace libepubgen
20{
21
24class EPUBFontManager;
29class EPUBPath;
30class EPUBXMLContent;
31
32class EPUBHTMLGenerator : public librevenge::RVNGTextInterface
33{
34public:
35 EPUBHTMLGenerator(EPUBXMLContent &document, EPUBImageManager &imageManager, EPUBFontManager &fontManager, EPUBListStyleManager &listStyleManager, EPUBParagraphStyleManager &paragraphStyleManager, EPUBSpanStyleManager &spanStyleManager, EPUBSpanStyleManager &bodyStyleManager, EPUBTableStyleManager &tableStyleManager, const EPUBPath &path, const EPUBPath &stylesheetPath, EPUBStylesMethod stylesMethod, EPUBLayoutMethod layoutMethod, int version);
36 ~EPUBHTMLGenerator() override;
37
38 void setDocumentMetaData(const librevenge::RVNGPropertyList &propList) override;
39
40 void startDocument(const librevenge::RVNGPropertyList &propList) override;
41 void endDocument() override;
42
43 void defineEmbeddedFont(const librevenge::RVNGPropertyList &propList) override;
44
45 void definePageStyle(const librevenge::RVNGPropertyList &) override;
46 void openPageSpan(const librevenge::RVNGPropertyList &propList) override;
47 void closePageSpan() override;
48 void openHeader(const librevenge::RVNGPropertyList &propList) override;
49 void closeHeader() override;
50 void openFooter(const librevenge::RVNGPropertyList &propList) override;
51 void closeFooter() override;
52
53 void defineSectionStyle(const librevenge::RVNGPropertyList &) override;
54 void openSection(const librevenge::RVNGPropertyList &propList) override;
55 void closeSection() override;
56
57 void defineParagraphStyle(const librevenge::RVNGPropertyList &) override;
58 void openParagraph(const librevenge::RVNGPropertyList &propList) override;
59 void closeParagraph() override;
60
61 void defineCharacterStyle(const librevenge::RVNGPropertyList &) override;
62 void openSpan(const librevenge::RVNGPropertyList &propList) override;
63 void closeSpan() override;
64
65 void openLink(const librevenge::RVNGPropertyList &propList) override;
66 void closeLink() override;
67
68 void insertTab() override;
69 void insertText(const librevenge::RVNGString &text) override;
70 void insertSpace() override;
71 void insertLineBreak() override;
72 void insertField(const librevenge::RVNGPropertyList &propList) override;
73
74 void openOrderedListLevel(const librevenge::RVNGPropertyList &propList) override;
75 void openUnorderedListLevel(const librevenge::RVNGPropertyList &propList) override;
76 void closeOrderedListLevel() override;
77 void closeUnorderedListLevel() override;
78 void openListElement(const librevenge::RVNGPropertyList &propList) override;
79 void closeListElement() override;
80
81 void openFootnote(const librevenge::RVNGPropertyList &propList) override;
82 void closeFootnote() override;
83 void openEndnote(const librevenge::RVNGPropertyList &propList) override;
84 void closeEndnote() override;
85 void openComment(const librevenge::RVNGPropertyList &propList) override;
86 void closeComment() override;
87 void openTextBox(const librevenge::RVNGPropertyList &propList) override;
88 void closeTextBox() override;
89
90 void openTable(const librevenge::RVNGPropertyList &propList) override;
91 void openTableRow(const librevenge::RVNGPropertyList &propList) override;
92 void closeTableRow() override;
93 void openTableCell(const librevenge::RVNGPropertyList &propList) override;
94 void closeTableCell() override;
95 void insertCoveredTableCell(const librevenge::RVNGPropertyList &propList) override;
96 void closeTable() override;
97
98 void openFrame(const librevenge::RVNGPropertyList &propList) override;
99 void closeFrame() override;
100
101 void openGroup(const librevenge::RVNGPropertyList &propList) override;
102 void closeGroup() override;
103
104 void defineGraphicStyle(const librevenge::RVNGPropertyList &propList) override;
105 void drawRectangle(const librevenge::RVNGPropertyList &propList) override;
106 void drawEllipse(const librevenge::RVNGPropertyList &propList) override;
107 void drawPolygon(const librevenge::RVNGPropertyList &propList) override;
108 void drawPolyline(const librevenge::RVNGPropertyList &propList) override;
109 void drawPath(const librevenge::RVNGPropertyList &propList) override;
110 void drawConnector(const librevenge::RVNGPropertyList &propList) override;
111
112 void insertBinaryObject(const librevenge::RVNGPropertyList &propList) override;
113 void insertEquation(const librevenge::RVNGPropertyList &propList) override;
114
116 void getPageProperties(librevenge::RVNGPropertyList &propList) const;
118 void setPageProperties(const librevenge::RVNGPropertyList &propList);
119
120private:
122 void closePopup(EPUBXMLContent &main);
123
124 std::unique_ptr<EPUBHTMLGeneratorImpl> m_impl;
125
126 // Unimplemented to prevent compiler from creating crasher ones
129};
130
131}
132
133#endif /* EPUBHTMLGENERATOR_H */
134
135/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
Manages embedded fonts.
Definition EPUBFontManager.h:33
void closeFootnote() override
Definition EPUBHTMLGenerator.cpp:950
void drawConnector(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:1174
void openTable(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:1045
EPUBHTMLGenerator(EPUBXMLContent &document, EPUBImageManager &imageManager, EPUBFontManager &fontManager, EPUBListStyleManager &listStyleManager, EPUBParagraphStyleManager &paragraphStyleManager, EPUBSpanStyleManager &spanStyleManager, EPUBSpanStyleManager &bodyStyleManager, EPUBTableStyleManager &tableStyleManager, const EPUBPath &path, const EPUBPath &stylesheetPath, EPUBStylesMethod stylesMethod, EPUBLayoutMethod layoutMethod, int version)
Definition EPUBHTMLGenerator.cpp:526
void closeUnorderedListLevel() override
Definition EPUBHTMLGenerator.cpp:912
void getPageProperties(librevenge::RVNGPropertyList &propList) const
Gets the actual page properties into propList.
Definition EPUBHTMLGenerator.cpp:1248
void closeComment() override
Definition EPUBHTMLGenerator.cpp:984
void openTextBox(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:991
void closeTextBox() override
Definition EPUBHTMLGenerator.cpp:1020
void drawPolygon(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:1171
void openComment(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:975
void openListElement(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:921
void closeGroup() override
Definition EPUBHTMLGenerator.cpp:1166
void insertCoveredTableCell(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:1118
void openSpan(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:736
void closeOrderedListLevel() override
Definition EPUBHTMLGenerator.cpp:893
void openFooter(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:663
void closeTableCell() override
Definition EPUBHTMLGenerator.cpp:1111
void setDocumentMetaData(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:535
void drawEllipse(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:1170
void drawRectangle(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:1169
void openGroup(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:1165
void closeSection() override
Definition EPUBHTMLGenerator.cpp:681
void closeSpan() override
Definition EPUBHTMLGenerator.cpp:768
void closePopup(EPUBXMLContent &main)
Definition EPUBHTMLGenerator.cpp:1229
void closeFrame() override
Definition EPUBHTMLGenerator.cpp:1151
void closeParagraph() override
Definition EPUBHTMLGenerator.cpp:717
void closePageSpan() override
Definition EPUBHTMLGenerator.cpp:646
void defineSectionStyle(const librevenge::RVNGPropertyList &) override
Definition EPUBHTMLGenerator.cpp:673
void insertTab() override
Definition EPUBHTMLGenerator.cpp:836
void endDocument() override
Definition EPUBHTMLGenerator.cpp:570
void openOrderedListLevel(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:882
void insertLineBreak() override
Definition EPUBHTMLGenerator.cpp:849
void defineGraphicStyle(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:1168
void definePageStyle(const librevenge::RVNGPropertyList &) override
Definition EPUBHTMLGenerator.cpp:650
void openHeader(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:652
void closeFooter() override
Definition EPUBHTMLGenerator.cpp:668
void openFootnote(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:937
void openParagraph(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:692
EPUBXMLContent & openPopup()
Definition EPUBHTMLGenerator.cpp:1216
void closeLink() override
Definition EPUBHTMLGenerator.cpp:826
void closeHeader() override
Definition EPUBHTMLGenerator.cpp:657
void insertEquation(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:1246
void closeEndnote() override
Definition EPUBHTMLGenerator.cpp:968
void closeListElement() override
Definition EPUBHTMLGenerator.cpp:930
void drawPath(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:1173
void openSection(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:675
void openPageSpan(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:637
void closeTable() override
Definition EPUBHTMLGenerator.cpp:1120
std::unique_ptr< EPUBHTMLGeneratorImpl > m_impl
Definition EPUBHTMLGenerator.h:124
void startDocument(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:566
void insertField(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:857
void insertSpace() override
Definition EPUBHTMLGenerator.cpp:874
void defineCharacterStyle(const librevenge::RVNGPropertyList &) override
Definition EPUBHTMLGenerator.cpp:731
void openTableCell(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:1089
void openUnorderedListLevel(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:901
void setPageProperties(const librevenge::RVNGPropertyList &propList)
Sets the actual page properties from propList.
Definition EPUBHTMLGenerator.cpp:1256
void openTableRow(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:1065
void insertText(const librevenge::RVNGString &text) override
Definition EPUBHTMLGenerator.cpp:864
void openLink(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:789
void defineParagraphStyle(const librevenge::RVNGPropertyList &) override
Definition EPUBHTMLGenerator.cpp:687
void openEndnote(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:959
void insertBinaryObject(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:1176
void drawPolyline(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:1172
void openFrame(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:1129
EPUBHTMLGenerator(const EPUBHTMLGenerator &)
EPUBHTMLGenerator & operator=(const EPUBHTMLGenerator &)
void closeTableRow() override
Definition EPUBHTMLGenerator.cpp:1082
void defineEmbeddedFont(const librevenge::RVNGPropertyList &propList) override
Definition EPUBHTMLGenerator.cpp:632
Definition EPUBImageManager.h:33
Small class to manage the list style.
Definition EPUBListStyleManager.h:32
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:31
Small class to manage the tables style.
Definition EPUBTableStyleManager.h:30
Definition EPUBXMLContent.h:25
Definition EPUBBinaryContent.cpp:15
the internal state of a html document generator
Definition EPUBHTMLGenerator.cpp:382

Generated for libepubgen by doxygen 1.18.0