QGIS API Documentation
2.8.2-Wien
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
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( 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
88
bool
mActive;
89
LayerRenderJobs
mLayerJobs;
90
bool
mRenderSynchronously;
91
};
92
93
94
#endif // QGSMAPRENDERERCUSTOMPAINTERJOB_H
Generated on Sun May 10 2015 16:33:24 for QGIS API Documentation by
1.8.1.2