16#ifndef QGSMAPRENDERERPARALLELJOB_H
17#define QGSMAPRENDERERPARALLELJOB_H
51 void renderLayersFinished();
53 void renderLayersSecondPassFinished();
55 void renderingFinished();
60 static void renderLayerStatic( LayerRenderJob &job )
SIP_SKIP;
64 void startPrivate()
override;
69 enum { Idle, RenderingLayers, RenderingSecondPass, RenderingLabels } mStatus
SIP_SKIP;
71 QFuture<void> mFuture;
72 QFutureWatcher<void> mFutureWatcher;
74 std::vector< LayerRenderJob > mLayerJobs;
75 LabelRenderJob mLabelJob;
77 std::vector< LayerRenderJob > mSecondPassLayerJobs;
78 QFuture<void> mSecondPassFuture;
79 QFutureWatcher<void> mSecondPassFutureWatcher;
82 std::unique_ptr< QgsLabelingEngine > mLabelingEngineV2;
83 QFuture<void> mLabelingFuture;
84 QFutureWatcher<void> mLabelingFutureWatcher;
Stores computed placement from labeling engine.
virtual void waitForFinished()=0
Block until the job has finished.
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 QgsLabelingResults * takeLabelingResults()=0
Gets pointer to internal labeling engine (in order to get access to the results).
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 a client to query the rendered image.
virtual QImage renderedImage()=0
Gets a preview/resulting image.
Contains configuration for rendering maps.