16#ifndef QGSGEOMETRYGENERATORSYMBOLLAYER_H 
   17#define QGSGEOMETRYGENERATORSYMBOLLAYER_H 
   63    QColor 
color() 
const override;
 
   70    QVariantMap properties() const override;
 
   77    void setGeometryExpression( const QString &exp );
 
   82    QString geometryExpression() const;
 
   93    Qgis::RenderUnit units()
 const { 
return mUnits; }
 
  134    void setColor( 
const QColor &color ) 
override;
 
  154    std::unique_ptr<QgsExpression> mExpression;
 
  155    std::unique_ptr<QgsFillSymbol> mFillSymbol;
 
  156    std::unique_ptr<QgsLineSymbol> mLineSymbol;
 
  157    std::unique_ptr<QgsMarkerSymbol> mMarkerSymbol;
 
  167    bool mRenderingFeature = 
false;
 
  168    bool mHasRenderedFeature = 
false;
 
 
Provides global constants and enumerations for use throughout the application.
 
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
 
RenderUnit
Rendering size units.
 
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
 
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
 
A fill symbol type, for rendering Polygon and MultiPolygon geometries.
 
A symbol layer subclass which alters rendered feature shapes through the use of QGIS expressions.
 
void setUnits(Qgis::RenderUnit units)
Sets the units for the geometry expression.
 
Qgis::SymbolType symbolType() const
Access the symbol type.
 
QgsSymbol * subSymbol() override
Returns the symbol's sub symbol, if present.
 
~QgsGeometryGeneratorSymbolLayer() override
 
A geometry is the spatial representation of a feature.
 
A line symbol type, for rendering LineString and MultiLineString geometries.
 
Struct for storing maximum and minimum scales for measurements in map units.
 
A marker symbol type, for rendering Point and MultiPoint geometries.
 
Contains information about the context of a rendering operation.
 
Abstract base class for symbol layers.
 
virtual QgsSymbolLayer * clone() const =0
Shall be reimplemented by subclasses to create a deep copy of the instance.
 
virtual bool setSubSymbol(QgsSymbol *symbol)
Sets layer's subsymbol. takes ownership of the passed symbol.
 
virtual void startFeatureRender(const QgsFeature &feature, QgsRenderContext &context)
Called before the layer will be rendered for a particular feature.
 
virtual QgsMapUnitScale mapUnitScale() const
 
virtual QSet< QString > usedAttributes(const QgsRenderContext &context) const
Returns the set of attributes referenced by the layer.
 
virtual void startRender(QgsSymbolRenderContext &context)=0
Called before a set of rendering operations commences on the supplied render context.
 
virtual QString layerType() const =0
Returns a string that represents this layer type.
 
virtual void stopRender(QgsSymbolRenderContext &context)=0
Called after a set of rendering operations has finished on the supplied render context.
 
virtual bool isCompatibleWithSymbol(QgsSymbol *symbol) const
Returns if the layer can be used below the specified symbol.
 
virtual Qgis::RenderUnit outputUnit() const
Returns the units to use for sizes and widths within the symbol layer.
 
virtual void setColor(const QColor &color)
Sets the "representative" color for the symbol layer.
 
virtual QColor color() const
Returns the "representative" color of the symbol layer.
 
virtual void stopFeatureRender(const QgsFeature &feature, QgsRenderContext &context)
Called after the layer has been rendered for a particular feature.
 
virtual bool usesMapUnits() const
Returns true if the symbol layer has any components which use map unit based sizes.
 
virtual void setOutputUnit(Qgis::RenderUnit unit)
Sets the units to use for sizes and widths within the symbol layer.
 
virtual bool hasDataDefinedProperties() const
Returns true if the symbol layer (or any of its sub-symbols) contains data defined properties.
 
Encapsulates the context in which a symbol is being rendered.
 
Abstract base class for all rendered symbols.