// SPDX-License-Identifier: GPL-2.0 #ifndef PRINTER_H #define PRINTER_H #include #include #include #include #include "printoptions.h" #include "templateedit.h" class Printer : public QObject { Q_OBJECT public: enum PrintMode { PRINT, PREVIEW }; private: QPaintDevice *paintDevice; QWebView *webView; print_options *printOptions; template_options *templateOptions; QSize pageSize; PrintMode printMode; int done; int dpi; void render(int Pages); void flowRender(); void putProfileImage(QRect box, QRect viewPort, QPainter *painter, struct dive *dive, QPointer profile); private slots: void templateProgessUpdated(int value); public: Printer(QPaintDevice *paintDevice, print_options *printOptions, template_options *templateOptions, PrintMode printMode); ~Printer(); void print(); void previewOnePage(); QString exportHtml(); signals: void progessUpdated(int value); }; #endif //PRINTER_H