QGIS API Documentation
2.14.0-Essen
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
core
qgsmaprenderercustompainterjob.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsmaprenderercustompainterjob.h
3
--------------------------------------
4
Date : December 2013
5
Copyright : (C) 2013 by Martin Dobias
6
Email : wonder dot sk at gmail dot com
7
***************************************************************************
8
* *
9
* This program is free software; you can redistribute it and/or modify *
10
* it under the terms of the GNU General Public License as published by *
11
* the Free Software Foundation; either version 2 of the License, or *
12
* (at your option) any later version. *
13
* *
14
***************************************************************************/
15
16
#ifndef QGSMAPRENDERERCUSTOMPAINTERJOB_H
17
#define QGSMAPRENDERERCUSTOMPAINTERJOB_H
18
19
#include "
qgsmaprendererjob.h
"
20
21
#include <QEventLoop>
22
31
class
CORE_EXPORT
QgsMapRendererCustomPainterJob
:
public
QgsMapRendererJob
32
{
33
Q_OBJECT
34
public
:
35
QgsMapRendererCustomPainterJob
(
const
QgsMapSettings
& settings,
QPainter
* painter );
36
~
QgsMapRendererCustomPainterJob
();
37
38
virtual
void
start
()
override
;
39
virtual
void
cancel
()
override
;
40
virtual
void
waitForFinished
()
override
;
41
virtual
bool
isActive
()
const override
;
42
virtual
QgsLabelingResults
*
takeLabelingResults
()
override
;
43
45
const
LayerRenderJobs
&
jobs
()
const
{
return
mLayerJobs; }
46
59
void
waitForFinishedWithEventLoop(
const
QEventLoop::ProcessEventsFlags
& flags = QEventLoop::AllEvents );
60
70
void
renderSynchronously();
71
72
protected
slots:
73
void
futureFinished();
74
75
protected
:
76
static
void
staticRender(
QgsMapRendererCustomPainterJob
*
self
);
// function to be used within the thread
77
78
// these methods are called within worker thread
79
void
doRender();
80
81
private
:
82
QPainter
* mPainter;
83
QFuture<void>
mFuture;
84
QFutureWatcher<void>
mFutureWatcher;
85
QgsRenderContext
mLabelingRenderContext;
86
QgsPalLabeling
* mLabelingEngine;
87
QgsLabelingEngineV2
* mLabelingEngineV2;
88
89
bool
mActive;
90
LayerRenderJobs
mLayerJobs;
91
bool
mRenderSynchronously;
92
};
93
94
95
#endif // QGSMAPRENDERERCUSTOMPAINTERJOB_H
QgsMapRendererCustomPainterJob
Job implementation that renders everything sequentially using a custom painter.
Definition:
qgsmaprenderercustompainterjob.h:31
QgsMapRendererJob
Abstract base class for map rendering implementations.
Definition:
qgsmaprendererjob.h:80
QgsPalLabeling
Definition:
qgspallabeling.h:860
QgsLabelingEngineV2
The QgsLabelingEngineV2 class provides map labeling functionality.
Definition:
qgslabelingenginev2.h:156
QgsMapSettings
The QgsMapSettings class contains configuration for rendering of the map.
Definition:
qgsmapsettings.h:53
QPainter
QgsMapRendererJob::waitForFinished
virtual void waitForFinished()=0
Block until the job has finished.
QgsMapRendererCustomPainterJob::jobs
const LayerRenderJobs & jobs() const
Definition:
qgsmaprenderercustompainterjob.h:45
QList
qgsmaprendererjob.h
QgsMapRendererJob::start
virtual void start()=0
Start the rendering job and immediately return.
QEventLoop::ProcessEventsFlags
typedef ProcessEventsFlags
QgsRenderContext
Contains information about the context of a rendering operation.
Definition:
qgsrendercontext.h:44
QFutureWatcher< void >
QgsMapRendererJob::cancel
virtual void cancel()=0
Stop the rendering job - does not return until the job has terminated.
QgsLabelingResults
Class that stores computed placement from labeling engine.
Definition:
qgspallabeling.h:837
QgsMapRendererJob::takeLabelingResults
virtual QgsLabelingResults * takeLabelingResults()=0
Get pointer to internal labeling engine (in order to get access to the results)
QFuture< void >
QgsMapRendererJob::isActive
virtual bool isActive() const =0
Tell whether the rendering job is currently running in background.
Generated on Sat Feb 27 2016 18:33:25 for QGIS API Documentation by
1.8.11