mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
51dc5113c2
Instead of using the interactive ProfileWidget2, just use the ProfileScene to render the profile for printing, export and mobile. One layer (QWidget) less. This removes all the kludges for handling DPR on mobile. Thus, the rendering will now be off and have to be fixed by redoing the scaling code. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
51 lines
1 KiB
C++
51 lines
1 KiB
C++
// SPDX-License-Identifier: GPL-2.0
|
|
#ifndef PRINTER_H
|
|
#define PRINTER_H
|
|
|
|
#include "printoptions.h"
|
|
#include "templateedit.h"
|
|
|
|
class ProfileScene;
|
|
class QPainter;
|
|
class QPaintDevice;
|
|
class QRect;
|
|
class QWebView;
|
|
|
|
class Printer : public QObject {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
enum PrintMode {
|
|
PRINT,
|
|
PREVIEW
|
|
};
|
|
|
|
private:
|
|
QPaintDevice *paintDevice;
|
|
QWebView *webView;
|
|
const print_options &printOptions;
|
|
const template_options &templateOptions;
|
|
QSize pageSize;
|
|
PrintMode printMode;
|
|
bool inPlanner;
|
|
int done;
|
|
void render(int Pages);
|
|
void flowRender();
|
|
void putProfileImage(const QRect &box, const QRect &viewPort, QPainter *painter,
|
|
struct dive *dive, ProfileScene *profile);
|
|
|
|
private slots:
|
|
void templateProgessUpdated(int value);
|
|
|
|
public:
|
|
Printer(QPaintDevice *paintDevice, const print_options &printOptions, const template_options &templateOptions, PrintMode printMode, bool inPlanner);
|
|
~Printer();
|
|
void print();
|
|
void previewOnePage();
|
|
QString exportHtml();
|
|
|
|
signals:
|
|
void progessUpdated(int value);
|
|
};
|
|
|
|
#endif //PRINTER_H
|