16#ifndef QGSVECTORLAYERRENDERER_H
17#define QGSVECTORLAYERRENDERER_H
32#include <QElapsedTimer>
85 void prepareLabeling(
QgsVectorLayer *layer, QSet<QString> &attributeNames );
86 void prepareDiagrams(
QgsVectorLayer *layer, QSet<QString> &attributeNames );
106 std::unique_ptr<QgsFeedback> mFeedback =
nullptr;
116 QString mTemporalFilter;
118 std::unique_ptr< QgsVectorLayerFeatureSource > mSource;
121 std::vector< std::unique_ptr< QgsFeatureRenderer> > mRenderers;
123 bool mDrawVertexMarkers =
false;
124 bool mVertexMarkerOnlyForSelection =
false;
126 double mVertexMarkerSize = 2.0;
130 QSet<QString> mAttrNames;
144 QPainter::CompositionMode mFeatureBlendMode = QPainter::CompositionMode::CompositionMode_SourceOver;
147 bool mSimplifyGeometry =
true;
149 QList< QgsMapClippingRegion > mClippingRegions;
151 bool mApplyClipFilter =
false;
153 bool mApplyClipGeometries =
false;
155 bool mApplyLabelClipGeometries =
false;
156 bool mForceRasterRender =
false;
158 int mRenderTimeHint = 0;
159 bool mBlockRenderUpdates =
false;
160 QElapsedTimer mElapsedTimer;
162 bool mNoSetLayerExpressionContext =
false;
164 bool mEnableProfile =
false;
165 quint64 mPreparationTime = 0;
167 std::unique_ptr< QgsSymbol > mSelectionSymbol;
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
@ SemiTransparentCircle
Semi-transparent circle marker.
Stores the settings for rendering of all diagrams for a layer.
Evaluates and returns the diagram settings relating to a diagram for a specific feature.
Wrapper for iterator of features from vector data provider or vector layer.
Abstract base class for all 2D vector feature renderers.
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Container of fields for a vector layer.
A geometry is the spatial representation of a feature.
A map clipping region (in map coordinates and CRS).
QgsMapLayerRenderer(const QString &layerID, QgsRenderContext *context=nullptr)
Constructor for QgsMapLayerRenderer, with the associated layerID and render context.
Contains information about the context of a rendering operation.
A feature renderer which renders all features with the same symbol.
Implements support for diagrams within the labeling engine.
Partial snapshot of vector layer's state (only the members necessary for access to features).
Implements a label provider for vector layers.
Qgis::MapLayerRendererFlags flags() const override
Returns flags which control how the map layer rendering behaves.
bool forceRasterRender() const override
Returns true if the renderer must be rendered to a raster paint device (e.g.
QgsVectorLayerRenderer(QgsVectorLayer *layer, QgsRenderContext &context)
~QgsVectorLayerRenderer() override
void setLayerRenderingTimeHint(int time) override
Sets approximate render time (in ms) for the layer to render.
bool render() override
Do the rendering (based on data stored in the class).
QgsFeatureRenderer * featureRenderer()
Returns the feature renderer.
QgsFeedback * feedback() const override
Access to feedback object of the layer renderer (may be nullptr).
Represents a vector layer which manages a vector based dataset.
Contains settings for simplifying geometries fetched from a vector layer.
QSet< QgsFeatureId > QgsFeatureIds
QList< int > QgsAttributeList