void QgsMapRendererParallelJob::renderLayersFinished() { Q_ASSERT( mStatus == RenderingLayers ); // compose final image mFinalImage = composeImage( mSettings, mLayerJobs ); logRenderingTime( mLayerJobs ); cleanupJobs( mLayerJobs ); QgsDebugMsg( "PARALLEL layers finished" ); if ( mSettings.testFlag( QgsMapSettings::DrawLabeling ) && !mLabelingRenderContext.renderingStopped() ) { mStatus = RenderingLabels; connect( &mLabelingFutureWatcher, SIGNAL( finished() ), this, SLOT( renderingFinished() ) ); // now start rendering of labeling! mLabelingFuture = QtConcurrent::run( renderLabelsStatic, this ); mLabelingFutureWatcher.setFuture( mLabelingFuture ); } else { renderingFinished(); } }
void QgsMapRendererCustomPainterJob::futureFinished() { mActive = false; mRenderingTime = mRenderingStart.elapsed(); QgsDebugMsg( "QPAINTER futureFinished" ); // final cleanup cleanupJobs( mLayerJobs ); emit finished(); }
void QgsMapRendererParallelJob::renderingFinished() { QgsDebugMsg( "PARALLEL finished" ); logRenderingTime( mLayerJobs, mLabelJob ); cleanupJobs( mLayerJobs ); cleanupLabelJob( mLabelJob ); mStatus = Idle; mRenderingTime = mRenderingStart.elapsed(); emit finished(); }