1#ifndef LIBS_CAIRO_CPRINTERCAIRO_HPP_
2#define LIBS_CAIRO_CPRINTERCAIRO_HPP_
7#include <cairo/cairo.h>
8#include <pango/pango-layout.h>
24 virtual void addToIndex(
const std::string &chapter, uint64_t index);
25 void beginDocument(uint64_t sizeXPage, uint64_t sizeYPage)
override;
29 void drawImagePng(std::string_view nameImage,
double posX,
double posY, int32_t sizeY)
override;
30 void drawLine(
double x1,
double y1,
double x2,
double y2)
override;
31 void drawRectangle(
double x1,
double y1,
double x2,
double y2)
override;
34 void endPage(uint64_t *numPage)
override;
35 void moveTo(
double posX,
double posY)
override;
36 void relativeMoveTo(int32_t positionX, int32_t positionY)
override;
43 void getTextSize(int32_t *widthText, int32_t *heightText)
override;
48 uint64_t fontHeight)
override;
49 void setIndent(int64_t indentFirstLineDP)
override;
50 void setSpacing(uint64_t fontHeight,
double spacingBetweenLines)
override;
51 void setText(std::string_view textParagraph)
override;
52 void setWidth(uint64_t width)
override;
Definition CGeoCanvas.hpp:13
Definition CPrinterCairo.hpp:11
void moveTo(double posX, double posY) override
Definition CPrinterCairo.cpp:250
void setText(std::string_view textParagraph) override
Definition CPrinterCairo.cpp:363
void endPage(uint64_t *numPage) override
Definition CPrinterCairo.cpp:243
void beginPage() override
Definition CPrinterCairo.cpp:139
void setSpacing(uint64_t fontHeight, double spacingBetweenLines) override
Definition CPrinterCairo.cpp:353
EOutputPrinterType
Definition CPrinterCairo.hpp:56
static CPrinterCairo * createPostScript(const std::string &pathDocumentCairo)
Definition CPrinterCairo.cpp:78
CPrinterCairo()
Definition CPrinterCairo.cpp:83
std::string m_pathDocumentCairo
Definition CPrinterCairo.hpp:65
cairo_t * m_cairoOpt
Definition CPrinterCairo.hpp:68
void drawImage(CGeoCanvas *geo, double posX, double posY, double sizeX, double sizeY, iv::types::color colorBackground) override
Definition CPrinterCairo.cpp:146
void setWidth(uint64_t width) override
Definition CPrinterCairo.cpp:373
CPrinterCairo & operator=(const CPrinterCairo &other)=delete
CPrinterCairo(const CPrinterCairo &other)=delete
void saveDocument(const std::string &titleDoc) override
Definition CPrinterCairo.cpp:393
void relativeMoveTo(int32_t positionX, int32_t positionY) override
Definition CPrinterCairo.cpp:257
virtual void addToIndex(const std::string &chapter, uint64_t index)
Definition CPrinterCairo.cpp:389
void showLayout() override
Definition CPrinterCairo.cpp:264
void setIndent(int64_t indentFirstLineDP) override
Definition CPrinterCairo.cpp:346
CPrinterCairo(CPrinterCairo &&other)=delete
EOutputPrinterType m_outputPrinterType
Definition CPrinterCairo.hpp:63
void beginDocument(uint64_t sizeXPage, uint64_t sizeYPage) override
Definition CPrinterCairo.cpp:112
void getTextSize(int32_t *widthText, int32_t *heightText) override
Definition CPrinterCairo.cpp:277
void endDocument() override
Definition CPrinterCairo.cpp:233
uint64_t getNumTotalPages() override
Definition CPrinterCairo.cpp:272
void setAlignment(iv::eFontAlignment fontAlignment) override
Definition CPrinterCairo.cpp:284
~CPrinterCairo() override
Definition CPrinterCairo.cpp:91
static CPrinterCairo * createPdf(const std::string &pathDocumentCairo)
Definition CPrinterCairo.cpp:73
void drawRectangleFilled(double x1, double y1, double x2, double y2) override
Definition CPrinterCairo.cpp:220
void drawRectangle(double x1, double y1, double x2, double y2) override
Definition CPrinterCairo.cpp:208
void drawImagePng(std::string_view nameImage, double posX, double posY, int32_t sizeY) override
Definition CPrinterCairo.cpp:166
void setFont(const std::string &fontName, iv::eFontSlant fontSlant, iv::eFontWeight fontWeight, uint64_t fontHeight) override
Definition CPrinterCairo.cpp:328
PangoLayout * m_layoutOpt
Definition CPrinterCairo.hpp:69
void drawLine(double x1, double y1, double x2, double y2) override
Definition CPrinterCairo.cpp:200
void setColorRGB(uint32_t rgb) override
Definition CPrinterCairo.cpp:316
CPrinterCairo & operator=(CPrinterCairo &&other)=delete
cairo_surface_t * m_surfaceOpt
Definition CPrinterCairo.hpp:67
Definition IPrinter.hpp:9
uint32_t color
Definition types.hpp:12
eFontWeight
Definition enums.hpp:87
eFontAlignment
Definition enums.hpp:72
eFontSlant
Definition enums.hpp:80