QGIS API Documentation  2.8.2-Wien
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Protected Types | Protected Slots | Static Protected Member Functions | Protected Attributes | List of all members
QgsMapRendererParallelJob Class Reference

Job implementation that renders all layers in parallel. More...

#include <qgsmaprendererparalleljob.h>

Inheritance diagram for QgsMapRendererParallelJob:
Inheritance graph
[legend]

Public Member Functions

 QgsMapRendererParallelJob (const QgsMapSettings &settings)
 ~QgsMapRendererParallelJob ()
virtual void cancel () override
 Stop the rendering job - does not return until the job has terminated.
virtual bool isActive () const override
 Tell whether the rendering job is currently running in background.
virtual QImage renderedImage () override
 Get a preview/resulting image.
virtual void start () override
 Start the rendering job and immediately return.
virtual QgsLabelingResultstakeLabelingResults () override
 Get pointer to internal labeling engine (in order to get access to the results)
virtual void waitForFinished () override
 Block until the job has finished.
- Public Member Functions inherited from QgsMapRendererQImageJob
 QgsMapRendererQImageJob (const QgsMapSettings &settings)
- Public Member Functions inherited from QgsMapRendererJob
 QgsMapRendererJob (const QgsMapSettings &settings)
virtual ~QgsMapRendererJob ()
Errors errors () const
 List of errors that happened during the rendering job - available when the rendering has been finished.
const QgsMapSettingsmapSettings () const
 Return map settings with which this job was started.
int renderingTime () const
 Find out how log it took to finish the job (in miliseconds)
void setCache (QgsMapRendererCache *cache)
 Assign a cache to be used for reading and storing rendered images of individual layers.
void setRequestedGeometryCacheForLayers (const QStringList &layerIds)
 Set which vector layers should be cached while rendering.

Protected Types

enum  { Idle, RenderingLayers, RenderingLabels }

Protected Slots

void renderingFinished ()
 all rendering is finished, including labeling
void renderLayersFinished ()
 layers are rendered, labeling is still pending

Static Protected Member Functions

static void renderLabelsStatic (QgsMapRendererParallelJob *self)
static void renderLayerStatic (LayerRenderJob &job)

Protected Attributes

QImage mFinalImage
QFuture< void > mFuture
QFutureWatcher< void > mFutureWatcher
QgsPalLabelingmLabelingEngine
QFuture< void > mLabelingFuture
QFutureWatcher< void > mLabelingFutureWatcher
QgsRenderContext mLabelingRenderContext
LayerRenderJobs mLayerJobs
enum
QgsMapRendererParallelJob:: { ... }  
mStatus

Additional Inherited Members

- Public Types inherited from QgsMapRendererJob
typedef QList< ErrorErrors
- Signals inherited from QgsMapRendererJob
void finished ()
 emitted when asynchronous rendering is finished (or canceled).
- Protected Member Functions inherited from QgsMapRendererJob
void cleanupJobs (LayerRenderJobs &jobs)
bool needTemporaryImage (QgsMapLayer *ml)
LayerRenderJobs prepareJobs (QPainter *painter, QgsPalLabeling *labelingEngine)
void updateLayerGeometryCaches ()
 called when rendering has finished to update all layers' geometry caches

Detailed Description

Job implementation that renders all layers in parallel.

The resulting map image can be retrieved with renderedImage() function. It is safe to call that function while rendering is active to see preview of the map.

Note
added in 2.4

Definition at line 28 of file qgsmaprendererparalleljob.h.

Member Enumeration Documentation

anonymous enum
protected
Enumerator:
Idle 
RenderingLayers 
RenderingLabels 

Definition at line 60 of file qgsmaprendererparalleljob.h.

Constructor & Destructor Documentation

QgsMapRendererParallelJob::QgsMapRendererParallelJob ( const QgsMapSettings settings)

Definition at line 25 of file qgsmaprendererparalleljob.cpp.

QgsMapRendererParallelJob::~QgsMapRendererParallelJob ( )

Definition at line 32 of file qgsmaprendererparalleljob.cpp.

Member Function Documentation

void QgsMapRendererParallelJob::cancel ( )
overridevirtual

Stop the rendering job - does not return until the job has terminated.

Does nothing if the rendering is not active.

Implements QgsMapRendererJob.

Definition at line 75 of file qgsmaprendererparalleljob.cpp.

bool QgsMapRendererParallelJob::isActive ( ) const
overridevirtual

Tell whether the rendering job is currently running in background.

Implements QgsMapRendererJob.

Definition at line 145 of file qgsmaprendererparalleljob.cpp.

QImage QgsMapRendererParallelJob::renderedImage ( )
overridevirtual

Get a preview/resulting image.

Implements QgsMapRendererQImageJob.

Definition at line 155 of file qgsmaprendererparalleljob.cpp.

void QgsMapRendererParallelJob::renderingFinished ( )
protectedslot

all rendering is finished, including labeling

Definition at line 190 of file qgsmaprendererparalleljob.cpp.

void QgsMapRendererParallelJob::renderLabelsStatic ( QgsMapRendererParallelJob self)
staticprotected

Definition at line 236 of file qgsmaprendererparalleljob.cpp.

void QgsMapRendererParallelJob::renderLayersFinished ( )
protectedslot

layers are rendered, labeling is still pending

Definition at line 163 of file qgsmaprendererparalleljob.cpp.

void QgsMapRendererParallelJob::renderLayerStatic ( LayerRenderJob job)
staticprotected

Definition at line 201 of file qgsmaprendererparalleljob.cpp.

void QgsMapRendererParallelJob::start ( )
overridevirtual

Start the rendering job and immediately return.

Does nothing if the rendering is already in progress.

Implements QgsMapRendererJob.

Definition at line 43 of file qgsmaprendererparalleljob.cpp.

QgsLabelingResults * QgsMapRendererParallelJob::takeLabelingResults ( )
overridevirtual

Get pointer to internal labeling engine (in order to get access to the results)

Implements QgsMapRendererJob.

Definition at line 150 of file qgsmaprendererparalleljob.cpp.

void QgsMapRendererParallelJob::waitForFinished ( )
overridevirtual

Block until the job has finished.

Implements QgsMapRendererJob.

Definition at line 109 of file qgsmaprendererparalleljob.cpp.

Member Data Documentation

QImage QgsMapRendererParallelJob::mFinalImage
protected

Definition at line 58 of file qgsmaprendererparalleljob.h.

QFuture<void> QgsMapRendererParallelJob::mFuture
protected

Definition at line 62 of file qgsmaprendererparalleljob.h.

QFutureWatcher<void> QgsMapRendererParallelJob::mFutureWatcher
protected

Definition at line 63 of file qgsmaprendererparalleljob.h.

QgsPalLabeling* QgsMapRendererParallelJob::mLabelingEngine
protected

Definition at line 67 of file qgsmaprendererparalleljob.h.

QFuture<void> QgsMapRendererParallelJob::mLabelingFuture
protected

Definition at line 69 of file qgsmaprendererparalleljob.h.

QFutureWatcher<void> QgsMapRendererParallelJob::mLabelingFutureWatcher
protected

Definition at line 70 of file qgsmaprendererparalleljob.h.

QgsRenderContext QgsMapRendererParallelJob::mLabelingRenderContext
protected

Definition at line 68 of file qgsmaprendererparalleljob.h.

LayerRenderJobs QgsMapRendererParallelJob::mLayerJobs
protected

Definition at line 65 of file qgsmaprendererparalleljob.h.

enum { ... } QgsMapRendererParallelJob::mStatus

The documentation for this class was generated from the following files: