Go to the documentation of this file.
10 #ifndef INCLUDED_EPUBHTMLGENERATOR_H
11 #define INCLUDED_EPUBHTMLGENERATOR_H
15 #include <librevenge/librevenge.h>
17 #include <libepubgen/libepubgen-decls.h>
22 struct EPUBHTMLGeneratorImpl;
23 class EPUBImageManager;
24 class EPUBFontManager;
25 class EPUBListStyleManager;
26 class EPUBSpanStyleManager;
27 class EPUBParagraphStyleManager;
28 class EPUBTableStyleManager;
35 EPUBHTMLGenerator(
EPUBXMLContent &document,
EPUBImageManager &imageManager,
EPUBFontManager &fontManager,
EPUBListStyleManager &listStyleManager,
EPUBParagraphStyleManager ¶graphStyleManager,
EPUBSpanStyleManager &spanStyleManager,
EPUBSpanStyleManager &bodyStyleManager,
EPUBTableStyleManager &tableStyleManager,
const EPUBPath &path,
const EPUBPath &stylesheetPath, EPUBStylesMethod stylesMethod, EPUBLayoutMethod layoutMethod,
int version);
40 void startDocument(
const librevenge::RVNGPropertyList &propList)
override;
46 void openPageSpan(
const librevenge::RVNGPropertyList &propList)
override;
48 void openHeader(
const librevenge::RVNGPropertyList &propList)
override;
50 void openFooter(
const librevenge::RVNGPropertyList &propList)
override;
54 void openSection(
const librevenge::RVNGPropertyList &propList)
override;
58 void openParagraph(
const librevenge::RVNGPropertyList &propList)
override;
62 void openSpan(
const librevenge::RVNGPropertyList &propList)
override;
65 void openLink(
const librevenge::RVNGPropertyList &propList)
override;
69 void insertText(
const librevenge::RVNGString &text)
override;
72 void insertField(
const librevenge::RVNGPropertyList &propList)
override;
78 void openListElement(
const librevenge::RVNGPropertyList &propList)
override;
81 void openFootnote(
const librevenge::RVNGPropertyList &propList)
override;
83 void openEndnote(
const librevenge::RVNGPropertyList &propList)
override;
85 void openComment(
const librevenge::RVNGPropertyList &propList)
override;
87 void openTextBox(
const librevenge::RVNGPropertyList &propList)
override;
90 void openTable(
const librevenge::RVNGPropertyList &propList)
override;
91 void openTableRow(
const librevenge::RVNGPropertyList &propList)
override;
93 void openTableCell(
const librevenge::RVNGPropertyList &propList)
override;
98 void openFrame(
const librevenge::RVNGPropertyList &propList)
override;
101 void openGroup(
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;
113 void insertEquation(
const librevenge::RVNGPropertyList &propList)
override;
124 std::unique_ptr<EPUBHTMLGeneratorImpl>
m_impl;
EPUBLayoutMethod m_layoutMethod
Definition: EPUBHTMLGenerator.cpp:514
EPUBHTMLTextZone * m_zone
a zone
Definition: EPUBHTMLGenerator.cpp:330
void insertEquation(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:1251
void closeTableRow() override
Definition: EPUBHTMLGenerator.cpp:1087
void sendMetaData(EPUBXMLContent &out)
Definition: EPUBHTMLGenerator.cpp:460
EPUBStylesMethod m_stylesMethod
Definition: EPUBHTMLGenerator.cpp:513
void openElement(const char *name, const librevenge::RVNGPropertyList &attributes=librevenge::RVNGPropertyList())
Definition: EPUBXMLContent.cpp:134
#define EPUBGEN_DEBUG_MSG(M)
Definition: libepubgen_utils.h:41
void insertCharacters(const librevenge::RVNGString &characters)
Definition: EPUBXMLContent.cpp:150
void getPageProperties(librevenge::RVNGPropertyList &propList) const
Gets the actual page properties into propList.
Definition: EPUBHTMLGenerator.cpp:1253
Definition: EPUBImageManager.h:32
void openListElement(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:926
void closeEndnote() override
Definition: EPUBHTMLGenerator.cpp:973
EPUBXMLContent & openPopup()
Definition: EPUBHTMLGenerator.cpp:1221
void closeComment() override
Definition: EPUBHTMLGenerator.cpp:989
void definePageStyle(const librevenge::RVNGPropertyList &) override
Definition: EPUBHTMLGenerator.cpp:655
void openGroup(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:1170
void drawConnector(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:1179
void drawPolygon(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:1176
RVNGPropertyList m_actualPageProperties
Definition: EPUBHTMLGenerator.cpp:497
EPUBSpanStyleManager & m_spanManager
Definition: EPUBHTMLGenerator.cpp:490
ZoneSinkImpl m_sink
the sink
Definition: EPUBHTMLGenerator.cpp:334
Definition: EPUBBinaryContent.cpp:14
int m_version
Definition: EPUBHTMLGenerator.cpp:218
void closeFootnote() override
Definition: EPUBHTMLGenerator.cpp:955
void openSection(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:680
ZoneSinkImpl m_delayedLabel
the label
Definition: EPUBHTMLGenerator.cpp:336
~EPUBHTMLGenerator() override
Definition: EPUBHTMLGenerator.cpp:531
void closeHeader() override
Definition: EPUBHTMLGenerator.cpp:662
void closePageSpan() override
Definition: EPUBHTMLGenerator.cpp:651
void closeTableCell() override
Definition: EPUBHTMLGenerator.cpp:1116
Small class to manage the tables style.
Definition: EPUBTableStyleManager.h:29
the internal state of a html document generator
Definition: EPUBHTMLGenerator.cpp:381
void insertCoveredTableCell(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:1123
EPUBFontManager & m_fontManager
Definition: EPUBHTMLGenerator.cpp:487
void openComment(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:980
void endDocument() override
Definition: EPUBHTMLGenerator.cpp:570
void openLink(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:794
EPUBXMLContent m_content
Definition: EPUBHTMLGenerator.cpp:62
void insertTab() override
Definition: EPUBHTMLGenerator.cpp:841
void closeTable() override
Definition: EPUBHTMLGenerator.cpp:1125
void openTableRow(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:1070
void closeUnorderedListLevel() override
Definition: EPUBHTMLGenerator.cpp:917
void openFootnote(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:942
void openTableCell(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:1094
std::string m_rubyText
This is set when the span has ruby text and should be wrapped in <ruby></ruby>.
Definition: EPUBHTMLGenerator.cpp:511
void openTable(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:1050
void defineGraphicStyle(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:1173
void defineSectionStyle(const librevenge::RVNGPropertyList &) override
Definition: EPUBHTMLGenerator.cpp:678
void closeParagraph() override
Definition: EPUBHTMLGenerator.cpp:722
void drawRectangle(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:1174
void closeOrderedListLevel() override
Definition: EPUBHTMLGenerator.cpp:898
void defineCharacterStyle(const librevenge::RVNGPropertyList &) override
Definition: EPUBHTMLGenerator.cpp:736
void insertEmptyElement(const char *name, const librevenge::RVNGPropertyList &attributes=librevenge::RVNGPropertyList())
Definition: EPUBXMLContent.cpp:144
void pop()
Definition: EPUBHTMLGenerator.cpp:445
void closeGroup() override
Definition: EPUBHTMLGenerator.cpp:1171
void closeLink() override
Definition: EPUBHTMLGenerator.cpp:831
std::string m_lastCloseElement
Definition: EPUBHTMLGenerator.cpp:63
std::unique_ptr< TextZoneSink > m_actualSink
Definition: EPUBHTMLGenerator.cpp:517
std::vector< ZoneSinkImpl > m_zoneSinks
the list of data string
Definition: EPUBHTMLGenerator.cpp:217
void closeFrame() override
Definition: EPUBHTMLGenerator.cpp:1156
void openPageSpan(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:642
Small class to manage the span style.
Definition: EPUBSpanStyleManager.h:30
void closeFooter() override
Definition: EPUBHTMLGenerator.cpp:673
void drawPolyline(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:1177
std::stack< RVNGPropertyList > m_paragraphAttributesStack
Definition: EPUBHTMLGenerator.cpp:507
EPUBImageManager & m_imageManager
Definition: EPUBHTMLGenerator.cpp:486
EPUBHTMLGeneratorImpl(EPUBXMLContent &document, EPUBImageManager &imageManager, EPUBFontManager &fontManager, EPUBListStyleManager &listStyleManager, EPUBParagraphStyleManager ¶graphStyleManager, EPUBSpanStyleManager &spanStyleManager, EPUBSpanStyleManager &bodyStyleManager, EPUBTableStyleManager &tableStyleManager, const EPUBPath &path, const EPUBPath &stylesheetPath, EPUBStylesMethod stylesMethod, EPUBLayoutMethod layoutMethod, int version)
constructor
Definition: EPUBHTMLGenerator.cpp:384
Type m_type
the zone type
Definition: EPUBHTMLGenerator.cpp:213
void insertField(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:862
void closePopup(EPUBXMLContent &main)
Definition: EPUBHTMLGenerator.cpp:1234
std::unique_ptr< EPUBHTMLGeneratorImpl > m_impl
Definition: EPUBHTMLGenerator.h:124
void openOrderedListLevel(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:887
std::stack< std::unique_ptr< TextZoneSink > > m_sinkStack
Definition: EPUBHTMLGenerator.cpp:518
void drawPath(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:1178
Representation of a path in the package.
Definition: EPUBPath.h:21
bool m_ignore
Definition: EPUBHTMLGenerator.cpp:498
void startDocument(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:566
std::stack< RVNGPropertyList > m_linkPropertiesStack
This is used for links which don't have a href.
Definition: EPUBHTMLGenerator.cpp:506
Small class to manage the list style.
Definition: EPUBListStyleManager.h:31
int m_actualId
the actual id
Definition: EPUBHTMLGenerator.cpp:215
void insertSpace() override
Definition: EPUBHTMLGenerator.cpp:879
Small class to manage the paragraph style.
Definition: EPUBParagraphStyleManager.h:29
const EPUBPath m_path
Definition: EPUBHTMLGenerator.cpp:493
void closeSection() override
Definition: EPUBHTMLGenerator.cpp:686
void closeSpan() override
Definition: EPUBHTMLGenerator.cpp:773
void openFrame(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:1134
void openSpan(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:741
int m_version
Definition: EPUBHTMLGenerator.cpp:501
void openFooter(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:668
Definition: EPUBHTMLGenerator.h:32
const Relative relativeTo(const EPUBPath &base) const
Definition: EPUBPath.cpp:92
EPUBHTMLGenerator & operator=(const EPUBHTMLGenerator &)
std::stack< RVNGPropertyList > m_framePropertiesStack
Definition: EPUBHTMLGenerator.cpp:504
EPUBSpanStyleManager & m_bodyManager
Definition: EPUBHTMLGenerator.cpp:491
const std::string str() const
Definition: EPUBPath.cpp:45
void setPageProperties(const librevenge::RVNGPropertyList &propList)
Sets the actual page properties from propList.
Definition: EPUBHTMLGenerator.cpp:1261
TextZoneSink & getSink()
returns the actual sink
Definition: EPUBHTMLGenerator.cpp:431
void setDocumentMetaData(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:535
std::stack< RVNGPropertyList > m_spanAttributesStack
Definition: EPUBHTMLGenerator.cpp:508
EPUBListStyleManager & m_listManager
Definition: EPUBHTMLGenerator.cpp:488
EPUBHTMLGenerator(EPUBXMLContent &document, EPUBImageManager &imageManager, EPUBFontManager &fontManager, EPUBListStyleManager &listStyleManager, EPUBParagraphStyleManager ¶graphStyleManager, EPUBSpanStyleManager &spanStyleManager, EPUBSpanStyleManager &bodyStyleManager, EPUBTableStyleManager &tableStyleManager, const EPUBPath &path, const EPUBPath &stylesheetPath, EPUBStylesMethod stylesMethod, EPUBLayoutMethod layoutMethod, int version)
Definition: EPUBHTMLGenerator.cpp:526
const EPUBPath m_stylesheetPath
Definition: EPUBHTMLGenerator.cpp:494
EPUBParagraphStyleManager & m_paragraphManager
Definition: EPUBHTMLGenerator.cpp:489
EPUBTableStyleManager & m_tableManager
Definition: EPUBHTMLGenerator.cpp:492
void openEndnote(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:964
void drawEllipse(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:1175
std::stack< std::string > m_frameAnchorTypes
Definition: EPUBHTMLGenerator.cpp:503
void flushUnsent(EPUBXMLContent &out)
Definition: EPUBHTMLGenerator.cpp:464
const std::string str() const
Definition: EPUBPath.cpp:87
void closeListElement() override
Definition: EPUBHTMLGenerator.cpp:935
Manages embedded fonts.
Definition: EPUBFontManager.h:32
void openTextBox(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:996
void closeElement(const char *name)
Definition: EPUBXMLContent.cpp:139
EPUBXMLContent & output(bool sendDelayed=true)
returns the actual output ( sending delayed data if needed)
Definition: EPUBHTMLGenerator.cpp:424
void defineParagraphStyle(const librevenge::RVNGPropertyList &) override
Definition: EPUBHTMLGenerator.cpp:692
void defineEmbeddedFont(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:637
void closeTextBox() override
Definition: EPUBHTMLGenerator.cpp:1025
bool m_hasText
Does the currently opened paragraph have some text?
Definition: EPUBHTMLGenerator.cpp:500
void openUnorderedListLevel(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:906
~EPUBHTMLGeneratorImpl()
destructor
Definition: EPUBHTMLGenerator.cpp:419
EPUBXMLContent & m_document
Definition: EPUBHTMLGenerator.cpp:485
int m_zoneId
the zone id
Definition: EPUBHTMLGenerator.cpp:332
void openHeader(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:657
void insertBinaryObject(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:1181
void push(EPUBHTMLTextZone::Type type)
Definition: EPUBHTMLGenerator.cpp:435
void insertLineBreak() override
Definition: EPUBHTMLGenerator.cpp:854
void openParagraph(const librevenge::RVNGPropertyList &propList) override
Definition: EPUBHTMLGenerator.cpp:697
Definition: EPUBXMLContent.h:24
void insertText(const librevenge::RVNGString &text) override
Definition: EPUBHTMLGenerator.cpp:869
int m_actualPage
Definition: EPUBHTMLGenerator.cpp:496
Generated for libepubgen by
doxygen 1.8.16