QGIS API Documentation  3.4.15-Madeira (e83d02e274)
qgsmaprenderersequentialjob.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsmaprenderersequentialjob.h
3  --------------------------------------
4  Date : December 2013
5  Copyright : (C) 2013 by Martin Dobias
6  Email : wonder dot sk at gmail dot com
7  ***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 
16 #ifndef QGSMAPRENDERERSEQUENTIALJOB_H
17 #define QGSMAPRENDERERSEQUENTIALJOB_H
18 
19 #include "qgis_core.h"
20 #include "qgsmaprendererjob.h"
21 
23 
34 {
35  Q_OBJECT
36  public:
38  ~QgsMapRendererSequentialJob() override;
39 
40  void start() override;
41  void cancel() override;
42  void cancelWithoutBlocking() override;
43  void waitForFinished() override;
44  bool isActive() const override;
45 
46  bool usedCachedLabels() const override;
48 
49  // from QgsMapRendererJobWithPreview
50  QImage renderedImage() override;
51 
52  public slots:
53 
54  void internalFinished();
55 
56  private:
57 
58  QgsMapRendererCustomPainterJob *mInternalJob = nullptr;
59  QImage mImage;
60  QPainter *mPainter = nullptr;
61  std::unique_ptr< QgsLabelingResults > mLabelingResults;
62  bool mUsedCachedLabels = false;
63 
64 };
65 
66 
67 #endif // QGSMAPRENDERERSEQUENTIALJOB_H
Job implementation that renders everything sequentially using a custom painter.
virtual QImage renderedImage()=0
Gets a preview/resulting image.
The QgsMapSettings class contains configuration for rendering of the map.
virtual void waitForFinished()=0
Block until the job has finished.
#define SIP_TRANSFER
Definition: qgis_sip.h:36
virtual void start()=0
Start the rendering job and immediately return.
Job implementation that renders everything sequentially in one thread.
Intermediate base class adding functionality that allows client to query the rendered image...
virtual void cancel()=0
Stop the rendering job - does not return until the job has terminated.
virtual void cancelWithoutBlocking()=0
Triggers cancellation of the rendering job without blocking.
Class that stores computed placement from labeling engine.
virtual QgsLabelingResults * takeLabelingResults()=0
Gets pointer to internal labeling engine (in order to get access to the results). ...
virtual bool isActive() const =0
Tell whether the rendering job is currently running in background.
virtual bool usedCachedLabels() const =0
Returns true if the render job was able to use a cached labeling solution.