QGIS API Documentation  3.9.0-Master (224899f119)
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:
49  virtual ~QgsRenderedFeatureHandlerInterface() = default;
50 
51  struct CORE_EXPORT RenderedFeatureContext
52  {
53 
58  RenderedFeatureContext( const QgsRenderContext &renderContext )
59  : renderContext( renderContext )
60  {}
61 
66  };
67 
82  virtual void handleRenderedFeature( const QgsFeature &feature, const QgsGeometry &renderedBounds, const QgsRenderedFeatureHandlerInterface::RenderedFeatureContext &context ) = 0;
83 
88  virtual QSet<QString> usedAttributes( QgsVectorLayer *layer, const QgsRenderContext &context ) const { Q_UNUSED( layer ); Q_UNUSED( context ); return QSet< QString >(); }
89 };
90 
91 #endif // QGSRENDEREDFEATUREHANDLERINTERFACE_H
const QgsRenderContext & renderContext
The render context which was used while rendering feature.
RenderedFeatureContext(const QgsRenderContext &renderContext)
Constructor for RenderedFeatureContext.
A geometry is the spatial representation of a feature.
Definition: qgsgeometry.h:121
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
Definition: qgsfeature.h:55
An interface for classes which provider custom handlers for features rendered as part of a map render...
virtual QSet< QString > usedAttributes(QgsVectorLayer *layer, const QgsRenderContext &context) const
Returns a list of attributes required by this handler, for the specified layer.
Contains information about the context of a rendering operation.
Represents a vector layer which manages a vector based data sets.