Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CManagerPrinterPDF.hpp
Go to the documentation of this file.
1#ifndef LIBS_DOCUMENTS_CMANAGERPRINTERPDF_HPP_
2#define LIBS_DOCUMENTS_CMANAGERPRINTERPDF_HPP_
3
8
9#include <bits/stdint-uintn.h>
10#include <string>
11
13{
14public:
16 CManagerPrinterPDF(const std::string &nameDocument, const std::string &imageFooter, bool hasTitlePage = true);
17 CManagerPrinterPDF(const std::string &nameDocument, const std::string &imageFooter,
18 iv::types::color colorBackground);
21 ~CManagerPrinterPDF() override;
22
25
26protected:
27 void beginDocument(IManagerChangePage **managerChangePage, CStylePage *stylePage, std::string_view imageFooter,
28 bool withTitlePage) override;
29 void beginRow(double height, double heightFooter) override;
30 void beginRowFooter(double height) override;
31 void beginRowHeader(double height, double heightFooter) override;
32 void beginTable(IManagerChangePage **managerChangePage, double heightTableHeading,
33 double heightTableFooter) override;
34 void controlNumeration(uint64_t level) override;
35 void drawLinesForCell(double width, double height, bool isLineTop, bool isLineBottom, bool isLineRight,
36 bool isLineLeft, iv::types::color colorBackground, iv::types::color colorLines) override;
37 void endDocument() override;
38 void endRow() override;
39 void endRowFooter() override;
40 void endRowHeader() override;
41 void endPage() override;
42 void endTable() override;
43 void processCellImagePNG(std::string_view nameImage, double width, double height, uint64_t sizeImageX,
44 uint64_t sizeImageY) override;
45 void processCellText(std::string_view text, double width, double height, CStyleParagraph *styleCell) override;
46 void processChapter(std::string_view textChapter, bool isChapterNameInHeading) override;
47 void processImage(CGeoCanvas *geoCanvas, double sizeX, double sizeY, iv::types::color colorRGBBackground) override;
48 void processImagePNG(std::string_view nameImage, uint64_t sizeX, uint64_t sizeY) override;
49 void processNumeration(std::string_view textNumeration) override;
50 void processParagraph(std::string_view textParagraph) override;
51 void restartCountingParagraphOLD(uint64_t nextLevel) override;
52
53 double getHeightCellImage(uint64_t sizeImageY, uint64_t marginCellTop, uint64_t marginCellBottom) override;
54 double getHeightCellText(std::string_view text, CStyleParagraph *styleParagraph) override;
55 [[nodiscard]] std::string getNameChapter() const override;
56 [[nodiscard]] uint64_t getSizeXPageWithoutMargin() const override;
57 double getWidthCellImage(uint64_t sizeImageX, uint64_t marginCellRight, uint64_t marginCellLeft) override;
58 double getWidthCellText(std::string_view text, CStyleParagraph *styleParagraph) override;
59
60 void setNumChaptersOLD(uint64_t nextLevel) override;
61 void setNumTotalPages(uint64_t numTotalPages) override;
62 void setPage(CStylePage *stylePage) override;
63 void setPrinter(IPrinter *printerRef) override;
64 void setStyleImage(CStyleImage *styleImage) override;
65 void setStyleNumeration(CStyleNumeration *styleNumeration) override;
66 void setStyleTable(CStyleTable *styleTable) override;
67
68 void setSpecificBehaviourBecauseFirstIsCoverTittle(bool value) override;
69 void setOrientation(CStylePage::EOrientationPage orientation) override;
70
71private:
72 void prvBeginPage();
73 void prvEndPage();
74 void prvBeginRow(double height, double heightFooter);
75 void prvEndTable();
76 void prvProcessParagraph(std::string_view textParagraph);
77 std::string m_titleDocument;
79
80 uint64_t m_posCursorX;
81 uint64_t m_posCursorY;
82
87
89 std::vector<uint64_t> m_numChapters;
90
91 uint64_t m_currentPage;
93
95
98
100
103
107
109 bool m_hasTitlePage {true};
111};
112
113#endif /* LIBS_DOCUMENTS_CMANAGERPRINTERPDF_HPP_ */
Definition CGeoCanvas.hpp:13
Definition CManagerPrinterPDF.hpp:13
void processCellText(std::string_view text, double width, double height, CStyleParagraph *styleCell) override
Definition CManagerPrinterPDF.cpp:574
double getWidthCellImage(uint64_t sizeImageX, uint64_t marginCellRight, uint64_t marginCellLeft) override
Definition CManagerPrinterPDF.cpp:741
void endPage() override
Definition CManagerPrinterPDF.cpp:542
uint64_t m_posCursorX
Definition CManagerPrinterPDF.hpp:80
void endRowHeader() override
Definition CManagerPrinterPDF.cpp:528
void beginRowHeader(double height, double heightFooter) override
Definition CManagerPrinterPDF.cpp:380
uint64_t getSizeXPageWithoutMargin() const override
Definition CManagerPrinterPDF.cpp:736
bool m_specificBehaviourBecauseFirstIsCoverTittle
Definition CManagerPrinterPDF.hpp:108
void beginTable(IManagerChangePage **managerChangePage, double heightTableHeading, double heightTableFooter) override
Definition CManagerPrinterPDF.cpp:389
std::string getNameChapter() const override
Definition CManagerPrinterPDF.cpp:731
bool m_isParagraphSet
Definition CManagerPrinterPDF.hpp:97
double m_heightRowHeader
Definition CManagerPrinterPDF.hpp:105
bool m_isPageSet
Definition CManagerPrinterPDF.hpp:96
void endDocument() override
Definition CManagerPrinterPDF.cpp:485
void endRow() override
Definition CManagerPrinterPDF.cpp:500
void setOrientation(CStylePage::EOrientationPage orientation) override
Definition CManagerPrinterPDF.cpp:839
uint64_t m_posCursorY
Definition CManagerPrinterPDF.hpp:81
bool m_hasTitlePage
Definition CManagerPrinterPDF.hpp:109
void setStyleNumeration(CStyleNumeration *styleNumeration) override
Definition CManagerPrinterPDF.cpp:821
void endRowFooter() override
Definition CManagerPrinterPDF.cpp:514
void beginRow(double height, double heightFooter) override
Definition CManagerPrinterPDF.cpp:362
CManagerPrinterPDF()
Definition CManagerPrinterPDF.cpp:168
double getHeightCellText(std::string_view text, CStyleParagraph *styleParagraph) override
Definition CManagerPrinterPDF.cpp:711
void setNumTotalPages(uint64_t numTotalPages) override
Definition CManagerPrinterPDF.cpp:798
~CManagerPrinterPDF() override
Definition CManagerPrinterPDF.cpp:306
double m_heightRowFooter
Definition CManagerPrinterPDF.hpp:106
uint64_t m_currentPage
Definition CManagerPrinterPDF.hpp:91
std::string m_chapterNameForHead
Definition CManagerPrinterPDF.hpp:94
void prvEndPage()
Definition CManagerPrinterPDF.cpp:137
void setSpecificBehaviourBecauseFirstIsCoverTittle(bool value) override
Definition CManagerPrinterPDF.cpp:834
double m_heightRow
Definition CManagerPrinterPDF.hpp:104
void setNumChaptersOLD(uint64_t nextLevel) override
Definition CManagerPrinterPDF.cpp:767
CManagerPrinterPDF & operator=(CManagerPrinterPDF &&other)=delete
void processImagePNG(std::string_view nameImage, uint64_t sizeX, uint64_t sizeY) override
Definition CManagerPrinterPDF.cpp:632
std::vector< uint64_t > m_numChapters
Definition CManagerPrinterPDF.hpp:89
void processImage(CGeoCanvas *geoCanvas, double sizeX, double sizeY, iv::types::color colorRGBBackground) override
Definition CManagerPrinterPDF.cpp:609
IManagerChangePage * m_managerChangePageOpt
Definition CManagerPrinterPDF.hpp:101
void prvProcessParagraph(std::string_view textParagraph)
Definition CManagerPrinterPDF.cpp:42
void prvBeginPage()
Definition CManagerPrinterPDF.cpp:102
void endTable() override
Definition CManagerPrinterPDF.cpp:551
void beginRowFooter(double height) override
Definition CManagerPrinterPDF.cpp:371
uint64_t m_numPagesTotal
Definition CManagerPrinterPDF.hpp:92
void setPage(CStylePage *stylePage) override
Definition CManagerPrinterPDF.cpp:803
CManagerPrinterPDF & operator=(const CManagerPrinterPDF &other)=delete
void processCellImagePNG(std::string_view nameImage, double width, double height, uint64_t sizeImageX, uint64_t sizeImageY) override
Definition CManagerPrinterPDF.cpp:558
void prvBeginRow(double height, double heightFooter)
Definition CManagerPrinterPDF.cpp:148
CStyleNumeration * m_styleNumerationRef
Definition CManagerPrinterPDF.hpp:84
void setPrinter(IPrinter *printerRef) override
Definition CManagerPrinterPDF.cpp:811
CManagerPrinterPDF(CManagerPrinterPDF &&other)=delete
uint64_t m_currentLevel
Definition CManagerPrinterPDF.hpp:88
void prvEndTable()
Definition CManagerPrinterPDF.cpp:10
std::string m_nameImageFooterOpt
Definition CManagerPrinterPDF.hpp:78
CStylePage::EOrientationPage m_orientation
Definition CManagerPrinterPDF.hpp:110
IPrinter * m_printerRef
Definition CManagerPrinterPDF.hpp:99
void setStyleImage(CStyleImage *styleImage) override
Definition CManagerPrinterPDF.cpp:816
std::string m_titleDocument
Definition CManagerPrinterPDF.hpp:77
void processChapter(std::string_view textChapter, bool isChapterNameInHeading) override
Definition CManagerPrinterPDF.cpp:592
CStyleImage * m_styleImageRef
Definition CManagerPrinterPDF.hpp:86
void beginDocument(IManagerChangePage **managerChangePage, CStylePage *stylePage, std::string_view imageFooter, bool withTitlePage) override
Definition CManagerPrinterPDF.cpp:312
CStyleTable * m_styleTableRef
Definition CManagerPrinterPDF.hpp:85
void processNumeration(std::string_view textNumeration) override
Definition CManagerPrinterPDF.cpp:660
double getWidthCellText(std::string_view text, CStyleParagraph *styleParagraph) override
Definition CManagerPrinterPDF.cpp:747
double getHeightCellImage(uint64_t sizeImageY, uint64_t marginCellTop, uint64_t marginCellBottom) override
Definition CManagerPrinterPDF.cpp:702
CStylePage * m_stylePageRef
Definition CManagerPrinterPDF.hpp:83
void setStyleTable(CStyleTable *styleTable) override
Definition CManagerPrinterPDF.cpp:829
void drawLinesForCell(double width, double height, bool isLineTop, bool isLineBottom, bool isLineRight, bool isLineLeft, iv::types::color colorBackground, iv::types::color colorLines) override
Definition CManagerPrinterPDF.cpp:448
void processParagraph(std::string_view textParagraph) override
Definition CManagerPrinterPDF.cpp:671
IManagerChangePage * m_managerChangePageForTableOpt
Definition CManagerPrinterPDF.hpp:102
void restartCountingParagraphOLD(uint64_t nextLevel) override
Definition CManagerPrinterPDF.cpp:678
void controlNumeration(uint64_t level) override
Definition CManagerPrinterPDF.cpp:416
Definition CStyleImage.hpp:7
Definition CStyleNumeration.hpp:10
Definition CStylePage.hpp:9
EOrientationPage
Definition CStylePage.hpp:12
Definition CStyleParagraph.hpp:10
Definition CStyleTable.hpp:7
Definition IManagerChangePage.hpp:7
Definition IManagerPrinter.hpp:19
Definition IPrinter.hpp:9
uint32_t color
Definition types.hpp:12