QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
core
maprenderer
qgsmaprendererstagedrenderjob.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsmaprendererstagedrenderjob.h
3
--------------------------------------
4
Date : August 2019
5
Copyright : (C) 2019 by Nyall Dawson
6
Email : nyall dot dawson 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 QGSMAPRENDERERSTAGEDRENDERJOB_H
17
#define QGSMAPRENDERERSTAGEDRENDERJOB_H
18
19
#include "qgis_core.h"
20
#include "
qgis_sip.h
"
21
#include "
qgsmaprenderercustompainterjob.h
"
22
23
#define SIP_NO_FILE
24
32
class
CORE_EXPORT
QgsMapRendererStagedRenderJob
:
public
QgsMapRendererAbstractCustomPainterJob
33
{
34
Q_OBJECT
35
public
:
39
enum
Flag
40
{
41
RenderLabelsByMapLayer
42
= 0x01,
43
};
44
Q_DECLARE_FLAGS(
Flags
,
Flag
)
45
46
49
enum
RenderStage
50
{
51
Symbology
,
52
Labels
,
53
Finished
,
54
};
55
62
QgsMapRendererStagedRenderJob
(
const
QgsMapSettings
&settings, Flags flags = Flags() );
63
~QgsMapRendererStagedRenderJob
()
override
;
64
65
void
cancel
()
override
;
66
void
cancelWithoutBlocking
()
override
;
67
void
waitForFinished
()
override
;
68
bool
isActive
()
const override
;
69
bool
usedCachedLabels
()
const override
;
70
QgsLabelingResults
*
takeLabelingResults
()
SIP_TRANSFER
override;
71
77
bool
renderCurrentPart( QPainter *painter );
78
85
bool
nextPart();
86
90
bool
isFinished() const;
91
95
QString currentLayerId() const;
96
102
double
currentLayerOpacity() const;
103
109
QPainter::CompositionMode currentLayerCompositionMode() const;
110
114
RenderStage currentStage() const;
115
116
private:
117
void
startPrivate() override;
118
119
std::unique_ptr<
QgsLabelingEngine
> mLabelingEngineV2;
120
121
std::vector< LayerRenderJob > mLayerJobs;
122
LabelRenderJob mLabelJob;
123
std::vector< LayerRenderJob >::iterator mJobIt;
124
125
bool
mNextIsLabel = false;
126
bool
mExportedLabels = false;
127
Flags mFlags = Flags();
128
bool
mPreparedStagedLabelJob = false;
129
QStringList mLabelingLayers;
130
QStringList::iterator mLabelLayerIt;
131
};
132
133
#endif
// QGSMAPRENDERERSTAGEDRENDERJOB_H
QgsLabelingEngine
Provides map labeling functionality.
Definition
qgslabelingengine.h:362
QgsLabelingResults
Stores computed placement from labeling engine.
Definition
qgslabelingresults.h:44
QgsMapRendererAbstractCustomPainterJob::QgsMapRendererAbstractCustomPainterJob
QgsMapRendererAbstractCustomPainterJob(const QgsMapSettings &settings)
Constructor for QgsMapRendererAbstractCustomPainterJob, using the given map settings.
Definition
qgsmaprenderercustompainterjob.cpp:39
QgsMapRendererJob::waitForFinished
virtual void waitForFinished()=0
Block until the job has finished.
QgsMapRendererJob::usedCachedLabels
virtual bool usedCachedLabels() const =0
Returns true if the render job was able to use a cached labeling solution.
QgsMapRendererJob::isActive
virtual bool isActive() const =0
Tell whether the rendering job is currently running in background.
QgsMapRendererJob::takeLabelingResults
virtual QgsLabelingResults * takeLabelingResults()=0
Gets pointer to internal labeling engine (in order to get access to the results).
QgsMapRendererJob::cancel
virtual void cancel()=0
Stop the rendering job - does not return until the job has terminated.
QgsMapRendererJob::cancelWithoutBlocking
virtual void cancelWithoutBlocking()=0
Triggers cancellation of the rendering job without blocking.
QgsMapRendererStagedRenderJob
Render job implementation that renders maps in stages, allowing different stages (e....
Definition
qgsmaprendererstagedrenderjob.h:33
QgsMapRendererStagedRenderJob::Flag
Flag
Flags which control the staged render job behavior.
Definition
qgsmaprendererstagedrenderjob.h:40
QgsMapRendererStagedRenderJob::RenderLabelsByMapLayer
@ RenderLabelsByMapLayer
Labels should be rendered in individual stages by map layer. This allows separation of labels belongi...
Definition
qgsmaprendererstagedrenderjob.h:41
QgsMapRendererStagedRenderJob::QgsMapRendererStagedRenderJob
QgsMapRendererStagedRenderJob(const QgsMapSettings &settings, Flags flags=Flags())
Constructor for QgsMapRendererStagedRenderJob, using the given map settings.
Definition
qgsmaprendererstagedrenderjob.cpp:34
QgsMapRendererStagedRenderJob::RenderStage
RenderStage
Represents the stages of a rendering job.
Definition
qgsmaprendererstagedrenderjob.h:50
QgsMapRendererStagedRenderJob::Finished
@ Finished
Rendering is finished.
Definition
qgsmaprendererstagedrenderjob.h:53
QgsMapRendererStagedRenderJob::Symbology
@ Symbology
Rendering layer symbology.
Definition
qgsmaprendererstagedrenderjob.h:51
QgsMapRendererStagedRenderJob::Labels
@ Labels
Rendering labels.
Definition
qgsmaprendererstagedrenderjob.h:52
QgsMapRendererStagedRenderJob::Flags
QFlags< Flag > Flags
Definition
qgsmaprendererstagedrenderjob.h:44
QgsMapSettings
Contains configuration for rendering maps.
Definition
qgsmapsettings.h:91
qgis_sip.h
SIP_TRANSFER
#define SIP_TRANSFER
Definition
qgis_sip.h:35
qgsmaprenderercustompainterjob.h
Generated on
for QGIS API Documentation by
1.17.0