QGIS API Documentation  2.5.0-Master
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Slots | Public Member Functions | Protected Attributes | List of all members
QgsMapRendererSequentialJob Class Reference

Job implementation that renders everything sequentially in one thread. More...

#include <qgsmaprenderersequentialjob.h>

Inheritance diagram for QgsMapRendererSequentialJob:
Inheritance graph
[legend]
Collaboration diagram for QgsMapRendererSequentialJob:
Collaboration graph
[legend]

Public Slots

void internalFinished ()

Public Member Functions

 QgsMapRendererSequentialJob (const QgsMapSettings &settings)
 ~QgsMapRendererSequentialJob ()
virtual void start ()
 Start the rendering job and immediately return.
virtual void cancel ()
 Stop the rendering job - does not return until the job has terminated.
virtual void waitForFinished ()
 Block until the job has finished.
virtual bool isActive () const
 Tell whether the rendering job is currently running in background.
virtual QgsLabelingResultstakeLabelingResults ()
 Get pointer to internal labeling engine (in order to get access to the results)
virtual QImage renderedImage ()
 Get a preview/resulting image.
- 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.
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.
int renderingTime () const
 Find out how log it took to finish the job (in miliseconds)

Protected Attributes

QgsMapRendererCustomPainterJobmInternalJob
QImage mImage
QPainter * mPainter
QgsLabelingResultsmLabelingResults

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
LayerRenderJobs prepareJobs (QPainter *painter, QgsPalLabeling *labelingEngine)
void cleanupJobs (LayerRenderJobs &jobs)
bool needTemporaryImage (QgsMapLayer *ml)
void updateLayerGeometryCaches ()
 called when rendering has finished to update all layers' geometry caches
- Static Protected Member Functions inherited from QgsMapRendererJob
static bool reprojectToLayerExtent (const QgsCoordinateTransform *ct, bool layerCrsGeographic, QgsRectangle &extent, QgsRectangle &r2)
 Convenience function to project an extent into the layer source CRS, but also split it into two extents if it crosses the +/- 180 degree line.
static QImage composeImage (const QgsMapSettings &settings, const LayerRenderJobs &jobs)
static void drawLabeling (const QgsMapSettings &settings, QgsRenderContext &renderContext, QgsPalLabeling *labelingEngine, QPainter *painter)
static void drawOldLabeling (const QgsMapSettings &settings, QgsRenderContext &renderContext)
static void drawNewLabeling (const QgsMapSettings &settings, QgsRenderContext &renderContext, QgsPalLabeling *labelingEngine)

Detailed Description

Job implementation that renders everything sequentially in one thread.

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 30 of file qgsmaprenderersequentialjob.h.

Constructor & Destructor Documentation

QgsMapRendererSequentialJob::QgsMapRendererSequentialJob ( const QgsMapSettings settings)
QgsMapRendererSequentialJob::~QgsMapRendererSequentialJob ( )

Member Function Documentation

void QgsMapRendererSequentialJob::cancel ( )
virtual

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 qgsmaprenderersequentialjob.cpp.

References QgsMapRendererCustomPainterJob::cancel(), isActive(), mInternalJob, mPainter, and QgsDebugMsg.

Referenced by ~QgsMapRendererSequentialJob().

void QgsMapRendererSequentialJob::internalFinished ( )
slot
bool QgsMapRendererSequentialJob::isActive ( ) const
virtual

Tell whether the rendering job is currently running in background.

Implements QgsMapRendererJob.

Definition at line 94 of file qgsmaprenderersequentialjob.cpp.

References mInternalJob.

Referenced by cancel(), renderedImage(), start(), waitForFinished(), and ~QgsMapRendererSequentialJob().

QImage QgsMapRendererSequentialJob::renderedImage ( )
virtual
void QgsMapRendererSequentialJob::start ( )
virtual
QgsLabelingResults * QgsMapRendererSequentialJob::takeLabelingResults ( )
virtual

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

Implements QgsMapRendererJob.

Definition at line 99 of file qgsmaprenderersequentialjob.cpp.

References mLabelingResults.

void QgsMapRendererSequentialJob::waitForFinished ( )
virtual

Block until the job has finished.

Implements QgsMapRendererJob.

Definition at line 86 of file qgsmaprenderersequentialjob.cpp.

References isActive(), mInternalJob, and QgsMapRendererCustomPainterJob::waitForFinished().

Referenced by QgsRenderChecker::runTest().

Member Data Documentation

QImage QgsMapRendererSequentialJob::mImage
protected

Definition at line 54 of file qgsmaprenderersequentialjob.h.

Referenced by QgsMapRendererSequentialJob(), renderedImage(), and start().

QgsMapRendererCustomPainterJob* QgsMapRendererSequentialJob::mInternalJob
protected
QgsLabelingResults* QgsMapRendererSequentialJob::mLabelingResults
protected
QPainter* QgsMapRendererSequentialJob::mPainter
protected

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