16 #ifndef QGSVECTORLAYERRENDERER_H
17 #define QGSVECTORLAYERRENDERER_H
35 #include <QElapsedTimer>
66 QTimer *mTimer =
nullptr;
102 void prepareLabeling(
QgsVectorLayer *layer, QSet<QString> &attributeNames );
103 void prepareDiagrams(
QgsVectorLayer *layer, QSet<QString> &attributeNames );
133 std::unique_ptr< QgsVectorLayerFeatureSource >
mSource;
136 std::vector< std::unique_ptr< QgsFeatureRenderer> >
mRenderers;
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.
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).
Base class for utility classes that encapsulate information necessary for rendering of map layers.
Contains information about the context of a rendering operation.
The QgsVectorLayerDiagramProvider class implements support for diagrams within the labeling engine.
Partial snapshot of vector layer's state (only the members necessary for access to features)
The QgsVectorLayerLabelProvider class implements a label provider for vector layers.
Interruption checker used by QgsVectorLayerRenderer::render()
QgsVectorLayerRendererInterruptionChecker(const QgsRenderContext &context)
Constructor.
Implementation of threaded rendering for vector layers.
std::vector< std::unique_ptr< QgsFeatureRenderer > > mRenderers
QgsGeometry mLabelClipFeatureGeom
QElapsedTimer mElapsedTimer
QgsVectorLayerLabelProvider * mLabelProvider
used with new labeling engine (QgsLabelingEngine): provider for labels.
bool forceRasterRender() const override
Returns true if the renderer must be rendered to a raster paint device (e.g.
QgsVectorSimplifyMethod mSimplifyMethod
QgsGeometry mClipFeatureGeom
bool mLabeling
used with old labeling engine (QgsPalLabeling): whether labeling is enabled
QgsVectorLayerRenderer(QgsVectorLayer *layer, QgsRenderContext &context)
QPainter::CompositionMode mFeatureBlendMode
~QgsVectorLayerRenderer() override
bool mApplyClipGeometries
QgsVectorLayer * mLayer
The rendered layer.
QgsWkbTypes::GeometryType mGeometryType
bool mVertexMarkerOnlyForSelection
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 * mRenderer
QgsGeometry mClipFilterGeom
QgsFeatureIds mSelectedFeatureIds
QSet< QString > mAttrNames
bool mDiagrams
used with new labeling engine (QgsPalLabeling): whether diagrams are enabled
QList< QgsMapClippingRegion > mClippingRegions
QgsFeedback * feedback() const override
Access to feedback object of the layer renderer (may be nullptr)
std::unique_ptr< QgsVectorLayerRendererInterruptionChecker > mInterruptionChecker
QgsFeatureRenderer * featureRenderer()
Returns the feature renderer.
bool mApplyLabelClipGeometries
std::unique_ptr< QgsVectorLayerFeatureSource > mSource
QgsVectorLayerDiagramProvider * mDiagramProvider
used with new labeling engine (QgsLabelingEngine): provider for diagrams.
Represents a vector layer which manages a vector based data sets.
This class contains information how to simplify geometries fetched from a vector layer.
GeometryType
The geometry types are used to group QgsWkbTypes::Type in a coarse way.
QSet< QgsFeatureId > QgsFeatureIds
QList< int > QgsAttributeList