Proxy filterNeedsGeometry for inverted/displacement renderers

This commit is contained in:
Nyall Dawson 2018-09-24 17:14:11 +10:00
parent b5867bff58
commit 81487f9f18
6 changed files with 16 additions and 0 deletions

View File

@ -76,6 +76,8 @@ Features collected during renderFeature() are rendered using the embedded featur
%Docstring
Proxy that will call this method on the embedded renderer.
%End
virtual bool filterNeedsGeometry() const;
virtual QgsFeatureRenderer::Capabilities capabilities();
%Docstring

View File

@ -69,6 +69,8 @@ Constructor for QgsPointDistanceRenderer.
virtual QSet<QString> usedAttributes( const QgsRenderContext &context ) const;
virtual bool filterNeedsGeometry() const;
virtual QgsFeatureRenderer::Capabilities capabilities();
virtual QgsSymbolList symbols( QgsRenderContext &context ) const;

View File

@ -476,6 +476,11 @@ QSet<QString> QgsInvertedPolygonRenderer::usedAttributes( const QgsRenderContext
return mSubRenderer->usedAttributes( context );
}
bool QgsInvertedPolygonRenderer::filterNeedsGeometry() const
{
return mSubRenderer ? mSubRenderer->filterNeedsGeometry() : false;
}
QgsLegendSymbolList QgsInvertedPolygonRenderer::legendSymbolItems() const
{
if ( !mSubRenderer )

View File

@ -79,6 +79,7 @@ class CORE_EXPORT QgsInvertedPolygonRenderer : public QgsFeatureRenderer
//! Proxy that will call this method on the embedded renderer.
QSet<QString> usedAttributes( const QgsRenderContext &context ) const override;
bool filterNeedsGeometry() const override;
//! Proxy that will call this method on the embedded renderer.
QgsFeatureRenderer::Capabilities capabilities() override;

View File

@ -218,6 +218,11 @@ QSet<QString> QgsPointDistanceRenderer::usedAttributes( const QgsRenderContext &
return attributeList;
}
bool QgsPointDistanceRenderer::filterNeedsGeometry() const
{
return mRenderer ? mRenderer->filterNeedsGeometry() : false;
}
QgsFeatureRenderer::Capabilities QgsPointDistanceRenderer::capabilities()
{
if ( !mRenderer )

View File

@ -86,6 +86,7 @@ class CORE_EXPORT QgsPointDistanceRenderer: public QgsFeatureRenderer
void toSld( QDomDocument &doc, QDomElement &element, const QgsStringMap &props = QgsStringMap() ) const override;
bool renderFeature( const QgsFeature &feature, QgsRenderContext &context, int layer = -1, bool selected = false, bool drawVertexMarker = false ) override;
QSet<QString> usedAttributes( const QgsRenderContext &context ) const override;
bool filterNeedsGeometry() const override;
QgsFeatureRenderer::Capabilities capabilities() override;
QgsSymbolList symbols( QgsRenderContext &context ) const override;
QgsSymbol *symbolForFeature( const QgsFeature &feature, QgsRenderContext &context ) const override;