QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
core
qgsmaplayerrenderer.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsmaplayerrenderer.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 QGSMAPLAYERRENDERER_H
17
#define QGSMAPLAYERRENDERER_H
18
19
#include "
qgis.h
"
20
#include "qgis_core.h"
21
#include "
qgis_sip.h
"
22
23
#include <QStringList>
24
25
class
QgsFeedback
;
26
class
QgsRenderContext
;
27
class
QgsRenderedItemDetails
;
28
51
class
CORE_EXPORT
QgsMapLayerRenderer
52
{
53
public
:
57
QgsMapLayerRenderer
(
const
QString &layerID,
QgsRenderContext
*context =
nullptr
)
58
:
mLayerID
( layerID )
59
, mContext( context )
60
{}
61
62
virtual
~QgsMapLayerRenderer
();
63
70
virtual
bool
render
() = 0;
71
88
virtual
bool
forceRasterRender
()
const
;
89
95
virtual
Qgis::MapLayerRendererFlags
flags
()
const
;
96
100
virtual
QgsFeedback
*
feedback
()
const
;
101
103
QStringList
errors
()
const
{
return
mErrors
; }
104
106
QString
layerId
()
const
{
return
mLayerID
; }
107
113
QgsRenderContext
*
renderContext
() {
return
mContext; }
114
121
const
QgsRenderContext
*
renderContext
() const
SIP_SKIP
{
return
mContext; }
122
129
bool
isReadyToCompose
()
const
{
return
mReadyToCompose
; }
130
141
virtual
void
setLayerRenderingTimeHint
(
int
time )
SIP_SKIP
{ Q_UNUSED( time ) }
142
151
QList< QgsRenderedItemDetails * > takeRenderedItemDetails()
SIP_TRANSFERBACK
;
152
153
protected:
154
QStringList
mErrors
;
155
QString
mLayerID
;
156
157
// TODO QGIS 5.0 - make false as default
158
173
bool
mReadyToCompose
= true;
174
183
static constexpr
int
MAX_TIME_TO_USE_CACHED_PREVIEW_IMAGE
= 3000
SIP_SKIP
;
184
195
void
appendRenderedItemDetails
(
QgsRenderedItemDetails
*details
SIP_TRANSFER
);
196
197
private:
198
// TODO QGIS 5.0 - make reference instead of pointer!
199
205
QgsRenderContext
*mContext =
nullptr
;
206
207
QList<
QgsRenderedItemDetails
*> mRenderedItemDetails;
208
};
209
210
#endif
// QGSMAPLAYERRENDERER_H
Qgis::MapLayerRendererFlags
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
Definition
qgis.h:3013
QgsFeedback
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Definition
qgsfeedback.h:44
QgsMapLayerRenderer::renderContext
const QgsRenderContext * renderContext() const
Returns the render context associated with the renderer.
Definition
qgsmaplayerrenderer.h:121
QgsMapLayerRenderer::mReadyToCompose
bool mReadyToCompose
The flag must be set to false in renderer's constructor if wants to use the smarter map redraws funct...
Definition
qgsmaplayerrenderer.h:173
QgsMapLayerRenderer::render
virtual bool render()=0
Do the rendering (based on data stored in the class).
QgsMapLayerRenderer::mLayerID
QString mLayerID
Definition
qgsmaplayerrenderer.h:155
QgsMapLayerRenderer::isReadyToCompose
bool isReadyToCompose() const
Returns whether the renderer has already drawn (at least partially) some data.
Definition
qgsmaplayerrenderer.h:129
QgsMapLayerRenderer::MAX_TIME_TO_USE_CACHED_PREVIEW_IMAGE
static constexpr int MAX_TIME_TO_USE_CACHED_PREVIEW_IMAGE
Maximum time (in ms) to allow display of a previously cached preview image while rendering layers,...
Definition
qgsmaplayerrenderer.h:183
QgsMapLayerRenderer::layerId
QString layerId() const
Gets access to the ID of the layer rendered by this class.
Definition
qgsmaplayerrenderer.h:106
QgsMapLayerRenderer::appendRenderedItemDetails
void appendRenderedItemDetails(QgsRenderedItemDetails *details)
Appends the details of a rendered item to the renderer.
Definition
qgsmaplayerrenderer.cpp:43
QgsMapLayerRenderer::feedback
virtual QgsFeedback * feedback() const
Access to feedback object of the layer renderer (may be nullptr).
Definition
qgsmaplayerrenderer.cpp:33
QgsMapLayerRenderer::forceRasterRender
virtual bool forceRasterRender() const
Returns true if the renderer must be rendered to a raster paint device (e.g.
Definition
qgsmaplayerrenderer.cpp:23
QgsMapLayerRenderer::flags
virtual Qgis::MapLayerRendererFlags flags() const
Returns flags which control how the map layer rendering behaves.
Definition
qgsmaplayerrenderer.cpp:28
QgsMapLayerRenderer::~QgsMapLayerRenderer
virtual ~QgsMapLayerRenderer()
QgsMapLayerRenderer::renderContext
QgsRenderContext * renderContext()
Returns the render context associated with the renderer.
Definition
qgsmaplayerrenderer.h:113
QgsMapLayerRenderer::errors
QStringList errors() const
Returns list of errors (problems) that happened during the rendering.
Definition
qgsmaplayerrenderer.h:103
QgsMapLayerRenderer::QgsMapLayerRenderer
QgsMapLayerRenderer(const QString &layerID, QgsRenderContext *context=nullptr)
Constructor for QgsMapLayerRenderer, with the associated layerID and render context.
Definition
qgsmaplayerrenderer.h:57
QgsMapLayerRenderer::mErrors
QStringList mErrors
Definition
qgsmaplayerrenderer.h:154
QgsMapLayerRenderer::setLayerRenderingTimeHint
virtual void setLayerRenderingTimeHint(int time)
Sets approximate render time (in ms) for the layer to render.
Definition
qgsmaplayerrenderer.h:141
QgsRenderContext
Contains information about the context of a rendering operation.
Definition
qgsrendercontext.h:63
QgsRenderedItemDetails
Base class for detailed information about a rendered item.
Definition
qgsrendereditemdetails.h:39
qgis.h
qgis_sip.h
SIP_SKIP
#define SIP_SKIP
Definition
qgis_sip.h:138
SIP_TRANSFER
#define SIP_TRANSFER
Definition
qgis_sip.h:35
SIP_TRANSFERBACK
#define SIP_TRANSFERBACK
Definition
qgis_sip.h:47
Generated on
for QGIS API Documentation by
1.17.0