mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-01 06:30:26 +00:00
554e64c43f
Make page size and orientation customizable. The user can select any page size and orientation and then the rendering resolution will be calculated based on the selected preferences and the printer DPI. The HTML templates must be responsive, also the font-size must be based on the viewport width so that we don't lose quality. Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com> Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
36 lines
682 B
C++
36 lines
682 B
C++
#ifndef PRINTER_H
|
|
#define PRINTER_H
|
|
|
|
#include <QPrinter>
|
|
#include <QWebView>
|
|
#include <QRect>
|
|
#include <QPainter>
|
|
|
|
#include "profile/profilewidget2.h"
|
|
#include "printoptions.h"
|
|
|
|
class Printer : public QObject {
|
|
Q_OBJECT
|
|
|
|
private:
|
|
QPrinter *printer;
|
|
QWebView *webView;
|
|
print_options *printOptions;
|
|
QSize pageSize;
|
|
int done;
|
|
int dpi;
|
|
void render();
|
|
void putProfileImage(QRect box, QRect viewPort, QPainter *painter, struct dive *dive, QPointer<ProfileWidget2> profile);
|
|
|
|
private slots:
|
|
void templateProgessUpdated(int value);
|
|
|
|
public:
|
|
Printer(QPrinter *printer, print_options *printOptions);
|
|
void print();
|
|
|
|
signals:
|
|
void progessUpdated(int value);
|
|
};
|
|
|
|
#endif //PRINTER_H
|