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 "EPUBXMLSink.h"
18 
19 namespace libepubgen
20 {
21 
22 struct EPUBHTMLGeneratorImpl;
23 class EPUBImageManager;
24 class EPUBListStyleManager;
25 class EPUBSpanStyleManager;
26 class EPUBParagraphStyleManager;
27 class EPUBTableStyleManager;
28 class EPUBPath;
29 
30 class EPUBHTMLGenerator : public librevenge::RVNGTextInterface
31 {
32 public:
33  EPUBHTMLGenerator(EPUBXMLSink &document, EPUBImageManager &imageManager, EPUBListStyleManager &listStyleManager, EPUBParagraphStyleManager &paragraphStyleManager, EPUBSpanStyleManager &spanStyleManager, EPUBTableStyleManager &tableStyleManager, const EPUBPath &path, const EPUBPath &stylesheetPath);
34  ~EPUBHTMLGenerator() override;
35 
36  void setDocumentMetaData(const librevenge::RVNGPropertyList &propList) override;
37 
38  void startDocument(const librevenge::RVNGPropertyList &propList) override;
39  void endDocument() override;
40 
41  void defineEmbeddedFont(const librevenge::RVNGPropertyList &propList) override;
42 
43  void definePageStyle(const librevenge::RVNGPropertyList &) override;
44  void openPageSpan(const librevenge::RVNGPropertyList &propList) override;
45  void closePageSpan() override;
46  void openHeader(const librevenge::RVNGPropertyList &propList) override;
47  void closeHeader() override;
48  void openFooter(const librevenge::RVNGPropertyList &propList) override;
49  void closeFooter() override;
50 
51  void defineSectionStyle(const librevenge::RVNGPropertyList &) override;
52  void openSection(const librevenge::RVNGPropertyList &propList) override;
53  void closeSection() override;
54 
55  void defineParagraphStyle(const librevenge::RVNGPropertyList &) override;
56  void openParagraph(const librevenge::RVNGPropertyList &propList) override;
57  void closeParagraph() override;
58 
59  void defineCharacterStyle(const librevenge::RVNGPropertyList &) override;
60  void openSpan(const librevenge::RVNGPropertyList &propList) override;
61  void closeSpan() override;
62 
63  void openLink(const librevenge::RVNGPropertyList &propList) override;
64  void closeLink() override;
65 
66  void insertTab() override;
67  void insertText(const librevenge::RVNGString &text) override;
68  void insertSpace() override;
69  void insertLineBreak() override;
70  void insertField(const librevenge::RVNGPropertyList &propList) override;
71 
72  void openOrderedListLevel(const librevenge::RVNGPropertyList &propList) override;
73  void openUnorderedListLevel(const librevenge::RVNGPropertyList &propList) override;
74  void closeOrderedListLevel() override;
75  void closeUnorderedListLevel() override;
76  void openListElement(const librevenge::RVNGPropertyList &propList) override;
77  void closeListElement() override;
78 
79  void openFootnote(const librevenge::RVNGPropertyList &propList) override;
80  void closeFootnote() override;
81  void openEndnote(const librevenge::RVNGPropertyList &propList) override;
82  void closeEndnote() override;
83  void openComment(const librevenge::RVNGPropertyList &propList) override;
84  void closeComment() override;
85  void openTextBox(const librevenge::RVNGPropertyList &propList) override;
86  void closeTextBox() override;
87 
88  void openTable(const librevenge::RVNGPropertyList &propList) override;
89  void openTableRow(const librevenge::RVNGPropertyList &propList) override;
90  void closeTableRow() override;
91  void openTableCell(const librevenge::RVNGPropertyList &propList) override;
92  void closeTableCell() override;
93  void insertCoveredTableCell(const librevenge::RVNGPropertyList &propList) override;
94  void closeTable() override;
95 
96  void openFrame(const librevenge::RVNGPropertyList &propList) override;
97  void closeFrame() override;
98 
99  void openGroup(const librevenge::RVNGPropertyList &propList) override;
100  void closeGroup() override;
101 
102  void defineGraphicStyle(const librevenge::RVNGPropertyList &propList) override;
103  void drawRectangle(const librevenge::RVNGPropertyList &propList) override;
104  void drawEllipse(const librevenge::RVNGPropertyList &propList) override;
105  void drawPolygon(const librevenge::RVNGPropertyList &propList) override;
106  void drawPolyline(const librevenge::RVNGPropertyList &propList) override;
107  void drawPath(const librevenge::RVNGPropertyList &propList) override;
108  void drawConnector(const librevenge::RVNGPropertyList &propList) override;
109 
110  void insertBinaryObject(const librevenge::RVNGPropertyList &propList) override;
111  void insertEquation(const librevenge::RVNGPropertyList &propList) override;
112 
113 private:
114  std::unique_ptr<EPUBHTMLGeneratorImpl> m_impl;
115 
116  // Unimplemented to prevent compiler from creating crasher ones
119 };
120 
121 typedef std::shared_ptr<EPUBHTMLGenerator> EPUBHTMLGeneratorPtr_t;
122 
123 }
124 
125 #endif /* EPUBHTMLGENERATOR_H */
126 
127 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
void defineSectionStyle(const librevenge::RVNGPropertyList &) override
Definition: EPUBHTMLGenerator.cpp:565
void openHeader(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:544
void openTableRow(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:801
void defineEmbeddedFont(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:529
Small class to manage the span style.
Definition: EPUBSpanStyleManager.h:29
void insertBinaryObject(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:863
void openTableCell(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:817
void openFooter(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:555
void openSection(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:566
void insertEquation(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:880
void closeListElement() override
Definition: EPUBHTMLGenerator.cpp:722
Definition: EPUBBinarySink.cpp:12
void defineParagraphStyle(const librevenge::RVNGPropertyList &) override
Definition: EPUBHTMLGenerator.cpp:569
void closeTextBox() override
Definition: EPUBHTMLGenerator.cpp:782
std::unique_ptr< EPUBHTMLGeneratorImpl > m_impl
Definition: EPUBHTMLGenerator.h:114
void openComment(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:759
void openGroup(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:852
void drawPath(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:860
void defineGraphicStyle(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:855
void openFootnote(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:729
Small class to manage the paragraph style.
Definition: EPUBParagraphStyleManager.h:29
void startDocument(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:499
Small class to manage the list style.
Definition: EPUBListStyleManager.h:31
void setDocumentMetaData(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:468
void openEndnote(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:744
void openFrame(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:849
void closeTableRow() override
Definition: EPUBHTMLGenerator.cpp:810
EPUBHTMLGenerator(EPUBXMLSink &document, EPUBImageManager &imageManager, EPUBListStyleManager &listStyleManager, EPUBParagraphStyleManager &paragraphStyleManager, EPUBSpanStyleManager &spanStyleManager, EPUBTableStyleManager &tableStyleManager, const EPUBPath &path, const EPUBPath &stylesheetPath)
Definition: EPUBHTMLGenerator.cpp:459
Small class to manage the tables style.
Definition: EPUBTableStyleManager.h:29
void openSpan(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:597
void definePageStyle(const librevenge::RVNGPropertyList &) override
Definition: EPUBHTMLGenerator.cpp:542
void openUnorderedListLevel(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:693
void closeEndnote() override
Definition: EPUBHTMLGenerator.cpp:752
void endDocument() override
Definition: EPUBHTMLGenerator.cpp:503
void openListElement(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:713
void drawConnector(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:861
void drawPolygon(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:858
void drawEllipse(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:857
void closeFootnote() override
Definition: EPUBHTMLGenerator.cpp:737
void drawRectangle(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:856
void defineCharacterStyle(const librevenge::RVNGPropertyList &) override
Definition: EPUBHTMLGenerator.cpp:592
std::shared_ptr< EPUBHTMLGenerator > EPUBHTMLGeneratorPtr_t
Definition: EPUBHTMLGenerator.h:121
void closeSpan() override
Definition: EPUBHTMLGenerator.cpp:607
void openPageSpan(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:533
void closeComment() override
Definition: EPUBHTMLGenerator.cpp:767
Representation of a path in the package.
Definition: EPUBPath.h:21
void openOrderedListLevel(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:674
void insertTab() override
Definition: EPUBHTMLGenerator.cpp:636
void closeParagraph() override
Definition: EPUBHTMLGenerator.cpp:584
void insertLineBreak() override
Definition: EPUBHTMLGenerator.cpp:645
void closeOrderedListLevel() override
Definition: EPUBHTMLGenerator.cpp:685
~EPUBHTMLGenerator() override
Definition: EPUBHTMLGenerator.cpp:464
void closePageSpan() override
Definition: EPUBHTMLGenerator.cpp:538
void insertText(const librevenge::RVNGString &text) override
Definition: EPUBHTMLGenerator.cpp:660
void closeLink() override
Definition: EPUBHTMLGenerator.cpp:629
void closeFrame() override
Definition: EPUBHTMLGenerator.cpp:850
Definition: EPUBHTMLGenerator.h:30
void openLink(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:614
void closeSection() override
Definition: EPUBHTMLGenerator.cpp:567
void closeUnorderedListLevel() override
Definition: EPUBHTMLGenerator.cpp:704
void openTextBox(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:774
void closeFooter() override
Definition: EPUBHTMLGenerator.cpp:560
void closeTable() override
Definition: EPUBHTMLGenerator.cpp:840
void insertSpace() override
Definition: EPUBHTMLGenerator.cpp:667
void insertField(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:653
void openParagraph(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:574
void closeHeader() override
Definition: EPUBHTMLGenerator.cpp:549
void closeTableCell() override
Definition: EPUBHTMLGenerator.cpp:831
void closeGroup() override
Definition: EPUBHTMLGenerator.cpp:853
void drawPolyline(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:859
Definition: EPUBXMLSink.h:25
EPUBHTMLGenerator & operator=(const EPUBHTMLGenerator &)
void openTable(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:789
void insertCoveredTableCell(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:838
Definition: EPUBImageManager.h:26

Generated for libepubgen by doxygen 1.8.11