QGIS API Documentation
2.6.0-Brighton
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
();
39
virtual
void
cancel
();
40
virtual
void
waitForFinished
();
41
virtual
bool
isActive
()
const
;
42
virtual
QgsLabelingResults
*
takeLabelingResults
();
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 Fri Oct 31 2014 15:49:46 for QGIS API Documentation by
1.8.1.2