diff options
Diffstat (limited to 'desktop-widgets/printer.h')
-rw-r--r-- | desktop-widgets/printer.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/desktop-widgets/printer.h b/desktop-widgets/printer.h new file mode 100644 index 000000000..979cacd6a --- /dev/null +++ b/desktop-widgets/printer.h @@ -0,0 +1,48 @@ +#ifndef PRINTER_H +#define PRINTER_H + +#include <QPrinter> +#include <QWebView> +#include <QRect> +#include <QPainter> + +#include "profile/profilewidget2.h" +#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<ProfileWidget2> profile); + +private slots: + void templateProgessUpdated(int value); + +public: + Printer(QPaintDevice *paintDevice, print_options *printOptions, template_options *templateOptions, PrintMode printMode); + ~Printer(); + void print(); + void previewOnePage(); + +signals: + void progessUpdated(int value); +}; + +#endif //PRINTER_H |