16 #ifndef QGSVECTORLAYERLABELPROVIDER_H
17 #define QGSVECTORLAYERLABELPROVIDER_H
21 #include "qgis_core.h"
46 const QString &providerId,
49 const QString &layerName = QString() );
55 const QString &providerId,
58 const QString &layerName = QString() );
78 virtual bool prepare(
QgsRenderContext &context, QSet<QString> &attributeNames );
140 std::unique_ptr<QgsAbstractFeatureSource>
mSource;
147 friend class TestQgsLabelingEngine;
Base class that can be used for any class that is capable of returning features.
The QgsAbstractLabelProvider class is an interface class.
virtual void drawUnplacedLabel(QgsRenderContext &context, pal::LabelPosition *label) const
Draw an unplaced label.
virtual void stopRender(QgsRenderContext &context)
To be called after rendering is complete.
virtual void drawLabel(QgsRenderContext &context, pal::LabelPosition *label) const =0
Draw this label at the position determined by the labeling engine.
virtual QList< QgsLabelFeature * > labelFeatures(QgsRenderContext &context)=0
Returns list of label features (they are owned by the provider and thus deleted on its destruction)
virtual void drawLabelBackground(QgsRenderContext &context, pal::LabelPosition *label) const
Draw the background for the specified label.
virtual void startRender(QgsRenderContext &context)
To be called before rendering of labels begins.
This class represents a coordinate reference system (CRS).
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
Container of fields for a vector layer.
A geometry is the spatial representation of a feature.
Base class for all map layer types.
Contains settings for how a map layer will be labeled.
Contains information about the context of a rendering operation.
Abstract base class for all rendered symbols.
TextPart
Components of text.
The QgsVectorLayerLabelProvider class implements a label provider for vector layers.
QgsCoordinateReferenceSystem mCrs
Layer's CRS.
QgsFields mFields
Layer's fields.
QList< QgsLabelFeature * > mLabels
List of generated.
QgsWkbTypes::GeometryType mLayerGeometryType
Geometry type of layer.
QgsPalLayerSettings mSettings
Layer's labeling configuration.
std::unique_ptr< QgsAbstractFeatureSource > mSource
Layer's feature source.
void setFields(const QgsFields &fields)
Sets fields of this label provider.
Represents a vector layer which manages a vector based data sets.
GeometryType
The geometry types are used to group QgsWkbTypes::Type in a coarse way.
LabelPosition is a candidate feature label position.
QList< QgsSymbol * > QgsSymbolList
const QgsCoordinateReferenceSystem & crs