mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	The reason for that is, even if profile widget is made with qpainter and for that reason it should be a desktop widget, it's being used on the mobile version because of a lack of QML plotting library that is fast and reliable. We discovered that it was faster just to encapsulate our Profile in a QML class and call it directly. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
		
			
				
	
	
		
			47 lines
		
	
	
	
		
			918 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
	
		
			918 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef PRINTER_H
 | |
| #define PRINTER_H
 | |
| 
 | |
| #include <QPrinter>
 | |
| #include <QWebView>
 | |
| #include <QRect>
 | |
| #include <QPainter>
 | |
| 
 | |
| #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
 |