16 #ifndef QGSMAPRENDERERPARALLELJOB_H
17 #define QGSMAPRENDERERPARALLELJOB_H
19 #include "qgis_core.h"
52 void renderLayersFinished();
54 void renderLayersSecondPassFinished();
56 void renderingFinished();
61 static void renderLayerStatic( LayerRenderJob &job )
SIP_SKIP;
65 void startPrivate()
override;
70 enum { Idle, RenderingLayers, RenderingSecondPass, RenderingLabels } mStatus
SIP_SKIP;
72 QFuture<void> mFuture;
73 QFutureWatcher<void> mFutureWatcher;
75 std::vector< LayerRenderJob > mLayerJobs;
76 LabelRenderJob mLabelJob;
78 std::vector< LayerRenderJob > mSecondPassLayerJobs;
79 QFuture<void> mSecondPassFuture;
80 QFutureWatcher<void> mSecondPassFutureWatcher;
83 std::unique_ptr< QgsLabelingEngine > mLabelingEngineV2;
84 QFuture<void> mLabelingFuture;
85 QFutureWatcher<void> mLabelingFutureWatcher;
Class that stores computed placement from labeling engine.
virtual void waitForFinished()=0
Block until the job has finished.
virtual QgsLabelingResults * takeLabelingResults()=0
Gets pointer to internal labeling engine (in order to get access to the results).
virtual bool usedCachedLabels() const =0
Returns true if the render job was able to use a cached labeling solution.
virtual bool isActive() const =0
Tell whether the rendering job is currently running in background.
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.
Job implementation that renders all layers in parallel.
Intermediate base class adding functionality that allows client to query the rendered image.
virtual QImage renderedImage()=0
Gets a preview/resulting image.
The QgsMapSettings class contains configuration for rendering of the map.