summaryrefslogtreecommitdiffstats
path: root/qt-ui/printer.h
diff options
context:
space:
mode:
Diffstat (limited to 'qt-ui/printer.h')
-rw-r--r--qt-ui/printer.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/qt-ui/printer.h b/qt-ui/printer.h
new file mode 100644
index 000000000..979cacd6a
--- /dev/null
+++ b/qt-ui/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