QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
qgsrenderedfeaturehandlerinterface.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsrenderedfeaturehandlerinterface.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 QGSRENDEREDFEATUREHANDLERINTERFACE_H
17 #define QGSRENDEREDFEATUREHANDLERINTERFACE_H
18 
19 #include "qgis_core.h"
20 #include "qgis_sip.h"
21 #include <QSet>
22 #include <QString>
23 
24 class QgsFeature;
25 class QgsGeometry;
26 class QgsRenderContext;
27 class QgsVectorLayer;
28 
47 {
48  public:
50 
51  struct CORE_EXPORT RenderedFeatureContext
52  {
53 
58  RenderedFeatureContext( const QgsRenderContext &renderContext )
59  : renderContext( renderContext )
60  {}
61 
66 
67  private:
68 #ifdef SIP_RUN
69  RenderedFeatureContext &operator=( const RenderedFeatureContext & );
70 #endif
71  };
72 
87  virtual void handleRenderedFeature( const QgsFeature &feature, const QgsGeometry &renderedBounds, const QgsRenderedFeatureHandlerInterface::RenderedFeatureContext &context ) = 0;
88 
93  virtual QSet<QString> usedAttributes( QgsVectorLayer *layer, const QgsRenderContext &context ) const { Q_UNUSED( layer ); Q_UNUSED( context ); return QSet< QString >(); }
94 };
95 
96 #endif // QGSRENDEREDFEATUREHANDLERINTERFACE_H
QgsRenderedFeatureHandlerInterface::handleRenderedFeature
virtual void handleRenderedFeature(const QgsFeature &feature, const QgsGeometry &renderedBounds, const QgsRenderedFeatureHandlerInterface::RenderedFeatureContext &context)=0
Called whenever a feature is rendered during a map render job.
QgsRenderContext
Contains information about the context of a rendering operation.
Definition: qgsrendercontext.h:58
QgsRenderedFeatureHandlerInterface::RenderedFeatureContext::renderContext
const QgsRenderContext & renderContext
The render context which was used while rendering feature.
Definition: qgsrenderedfeaturehandlerinterface.h:65
QgsRenderedFeatureHandlerInterface
An interface for classes which provider custom handlers for features rendered as part of a map render...
Definition: qgsrenderedfeaturehandlerinterface.h:47
QgsRenderedFeatureHandlerInterface::RenderedFeatureContext::RenderedFeatureContext
RenderedFeatureContext(const QgsRenderContext &renderContext)
Constructor for RenderedFeatureContext.
Definition: qgsrenderedfeaturehandlerinterface.h:58
QgsRenderedFeatureHandlerInterface::~QgsRenderedFeatureHandlerInterface
virtual ~QgsRenderedFeatureHandlerInterface()=default
qgis_sip.h
QgsRenderedFeatureHandlerInterface::RenderedFeatureContext
Definition: qgsrenderedfeaturehandlerinterface.h:52
QgsGeometry
A geometry is the spatial representation of a feature.
Definition: qgsgeometry.h:124
QgsVectorLayer
Represents a vector layer which manages a vector based data sets.
Definition: qgsvectorlayer.h:387
QgsFeature
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
Definition: qgsfeature.h:56
QgsRenderedFeatureHandlerInterface::usedAttributes
virtual QSet< QString > usedAttributes(QgsVectorLayer *layer, const QgsRenderContext &context) const
Returns a list of attributes required by this handler, for the specified layer.
Definition: qgsrenderedfeaturehandlerinterface.h:93