QGIS API Documentation  3.18.1-Zürich (202f1bf7e5)
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Friends | List of all members
QgsSymbol Class Referenceabstract

Abstract base class for all rendered symbols. More...

#include <qgssymbol.h>

Inheritance diagram for QgsSymbol:
Inheritance graph
[legend]

Public Types

enum  PreviewFlag { FlagIncludeCrosshairsForMarkerSymbols = 1 << 0 }
 Flags for controlling how symbol preview images are generated. More...
 
enum  Property { PropertyOpacity }
 Data definable properties. More...
 
enum  RenderHint { DynamicRotation = 2 }
 Flags controlling behavior of symbols during rendering. More...
 
enum  ScaleMethod { ScaleArea , ScaleDiameter }
 Scale method. More...
 
enum  SymbolType { Marker , Line , Fill , Hybrid }
 Type of the symbol. More...
 

Public Member Functions

virtual ~QgsSymbol ()
 
bool appendSymbolLayer (QgsSymbolLayer *layer)
 Appends a symbol layer at the end of the current symbol layer list. More...
 
QImage asImage (QSize size, QgsRenderContext *customContext=nullptr)
 Returns an image of the symbol at the specified size. More...
 
QImage bigSymbolPreviewImage (QgsExpressionContext *expressionContext=nullptr, QgsSymbol::PreviewFlags flags=QgsSymbol::FlagIncludeCrosshairsForMarkerSymbols)
 Returns a large (roughly 100x100 pixel) preview image for the symbol. More...
 
bool canCauseArtifactsBetweenAdjacentTiles () const
 Returns true if the symbol rendering can cause visible artifacts across a single feature when the feature is rendered as a series of adjacent map tiles each containing a portion of the feature's geometry. More...
 
bool changeSymbolLayer (int index, QgsSymbolLayer *layer)
 Deletes the current layer at the specified index and replaces it with layer. More...
 
bool clipFeaturesToExtent () const
 Returns whether features drawn by the symbol will be clipped to the render context's extent. More...
 
virtual QgsSymbolclone () const =0
 Returns a deep copy of this symbol. More...
 
QColor color () const
 Returns the symbol's color. More...
 
QgsPropertyCollectiondataDefinedProperties ()
 Returns a reference to the symbol's property collection, used for data defined overrides. More...
 
const QgsPropertyCollectiondataDefinedProperties () const
 Returns a reference to the symbol's property collection, used for data defined overrides. More...
 
bool deleteSymbolLayer (int index)
 Removes and deletes the symbol layer at the specified index. More...
 
void drawPreviewIcon (QPainter *painter, QSize size, QgsRenderContext *customContext=nullptr, bool selected=false, const QgsExpressionContext *expressionContext=nullptr, const QgsLegendPatchShape *patchShape=nullptr)
 Draws an icon of the symbol that occupies an area given by size using the specified painter. More...
 
QString dump () const
 Returns a string dump of the symbol's properties. More...
 
void exportImage (const QString &path, const QString &format, QSize size)
 Export the symbol as an image format, to the specified path and with the given size. More...
 
bool forceRHR () const
 Returns true if polygon features drawn by the symbol will be reoriented to follow the standard right-hand-rule orientation, in which the area that is bounded by the polygon is to the right of the boundary. More...
 
bool hasDataDefinedProperties () const
 Returns whether the symbol utilizes any data defined properties. More...
 
bool insertSymbolLayer (int index, QgsSymbolLayer *layer)
 Inserts a symbol layer to specified index. More...
 
Q_DECL_DEPRECATED const QgsVectorLayerlayer () const
 
QgsMapUnitScale mapUnitScale () const
 Returns the map unit scale for the symbol. More...
 
qreal opacity () const
 Returns the opacity for the symbol. More...
 
QgsUnitTypes::RenderUnit outputUnit () const
 Returns the units to use for sizes and widths within the symbol. More...
 
void renderFeature (const QgsFeature &feature, QgsRenderContext &context, int layer=-1, bool selected=false, bool drawVertexMarker=false, int currentVertexMarkerType=0, double currentVertexMarkerSize=0.0) SIP_THROW(QgsCsException)
 Render a feature. More...
 
RenderHints renderHints () const
 Returns the rendering hint flags for the symbol. More...
 
void setClipFeaturesToExtent (bool clipFeaturesToExtent)
 Sets whether features drawn by the symbol should be clipped to the render context's extent. More...
 
void setColor (const QColor &color)
 Sets the color for the symbol. More...
 
void setDataDefinedProperties (const QgsPropertyCollection &collection)
 Sets the symbol's property collection, used for data defined overrides. More...
 
void setDataDefinedProperty (Property key, const QgsProperty &property)
 Sets a data defined property for the symbol. More...
 
void setForceRHR (bool force)
 Sets whether polygon features drawn by the symbol should be reoriented to follow the standard right-hand-rule orientation, in which the area that is bounded by the polygon is to the right of the boundary. More...
 
Q_DECL_DEPRECATED void setLayer (const QgsVectorLayer *layer)
 
void setMapUnitScale (const QgsMapUnitScale &scale)
 Sets the map unit scale for the symbol. More...
 
void setOpacity (qreal opacity)
 Sets the opacity for the symbol. More...
 
void setOutputUnit (QgsUnitTypes::RenderUnit unit)
 Sets the units to use for sizes and widths within the symbol. More...
 
void setRenderHints (RenderHints hints)
 Sets rendering hint flags for the symbol. More...
 
void startRender (QgsRenderContext &context, const QgsFields &fields=QgsFields())
 Begins the rendering process for the symbol. More...
 
void stopRender (QgsRenderContext &context)
 Ends the rendering process. More...
 
QgsSymbolLayersymbolLayer (int layer)
 Returns the symbol layer at the specified index. More...
 
const QgsSymbolLayersymbolLayer (int layer) const
 Returns the symbol layer at the specified index, const variant. More...
 
int symbolLayerCount () const
 Returns the total number of symbol layers contained in the symbol. More...
 
QgsSymbolLayerList symbolLayers ()
 Returns the list of symbol layers contained in the symbol. More...
 
QgsSymbolRenderContextsymbolRenderContext ()
 Returns the symbol render context. More...
 
QgsSymbolLayertakeSymbolLayer (int index)
 Removes a symbol layer from the list and returns a pointer to it. More...
 
void toSld (QDomDocument &doc, QDomElement &element, QVariantMap props) const
 Converts the symbol to a SLD representation. More...
 
SymbolType type () const
 Returns the symbol's type. More...
 
QSet< QString > usedAttributes (const QgsRenderContext &context) const
 Returns a list of attributes required to render this feature. More...
 
bool usesMapUnits () const
 Returns true if the symbol has any components which use map unit based sizes. More...
 

Static Public Member Functions

static QgsSymboldefaultSymbol (QgsWkbTypes::GeometryType geomType)
 Returns a new default symbol for the specified geometry type. More...
 
static const QgsPropertiesDefinitionpropertyDefinitions ()
 Returns the symbol property definitions. More...
 

Protected Member Functions

 QgsSymbol (SymbolType type, const QgsSymbolLayerList &layers)
 
QgsSymbolLayerList cloneLayers () const
 Retrieve a cloned list of all layers that make up this symbol. More...
 
void renderUsingLayer (QgsSymbolLayer *layer, QgsSymbolRenderContext &context)
 Renders a context using a particular symbol layer without passing in a geometry. More...
 
void renderVertexMarker (QPointF pt, QgsRenderContext &context, int currentVertexMarkerType, double currentVertexMarkerSize)
 Render editing vertex marker at specified point. More...
 

Static Protected Member Functions

static QPolygonF _getLineString (QgsRenderContext &context, const QgsCurve &curve, bool clipToExtent=true)
 Creates a line string in screen coordinates from a QgsCurve in map coordinates. More...
 
static QPointF _getPoint (QgsRenderContext &context, const QgsPoint &point)
 Creates a point in screen coordinates from a QgsPoint in map coordinates. More...
 
static void _getPolygon (QPolygonF &pts, QVector< QPolygonF > &holes, QgsRenderContext &context, const QgsPolygon &polygon, bool clipToExtent=true, bool correctRingOrientation=false)
 Creates a polygon in screen coordinates from a QgsPolygonXYin map coordinates. More...
 
static QPolygonF _getPolygonRing (QgsRenderContext &context, const QgsCurve &curve, bool clipToExtent, bool isExteriorRing=false, bool correctRingOrientation=false)
 Creates a polygon ring in screen coordinates from a QgsCurve in map coordinates. More...
 

Protected Attributes

bool mClipFeaturesToExtent = true
 
bool mForceRHR = false
 
Q_DECL_DEPRECATED const QgsVectorLayermLayer = nullptr
 
QgsSymbolLayerList mLayers
 
qreal mOpacity = 1.0
 Symbol opacity (in the range 0 - 1) More...
 
RenderHints mRenderHints
 
SymbolType mType
 

Friends

class QgsFeatureRenderer
 

Detailed Description

Abstract base class for all rendered symbols.

Definition at line 64 of file qgssymbol.h.

Member Enumeration Documentation

◆ PreviewFlag

Flags for controlling how symbol preview images are generated.

Since
QGIS 3.16
Enumerator
FlagIncludeCrosshairsForMarkerSymbols 

Include a crosshairs reference image in the background of marker symbol previews.

Definition at line 393 of file qgssymbol.h.

◆ Property

Data definable properties.

Since
QGIS 3.18
Enumerator
PropertyOpacity 

Opacity.

Definition at line 115 of file qgssymbol.h.

◆ RenderHint

Flags controlling behavior of symbols during rendering.

Enumerator
DynamicRotation 

Rotation of symbol may be changed during rendering and symbol should not be cached.

Definition at line 105 of file qgssymbol.h.

◆ ScaleMethod

Scale method.

Enumerator
ScaleArea 

Calculate scale by the area.

ScaleDiameter 

Calculate scale by the diameter.

Definition at line 97 of file qgssymbol.h.

◆ SymbolType

Type of the symbol.

Enumerator
Marker 

Marker symbol.

Line 

Line symbol.

Fill 

Fill symbol.

Hybrid 

Hybrid symbol.

Definition at line 86 of file qgssymbol.h.

Constructor & Destructor Documentation

◆ ~QgsSymbol()

QgsSymbol::~QgsSymbol ( )
virtual

Definition at line 260 of file qgssymbol.cpp.

◆ QgsSymbol()

Q_NOWARN_DEPRECATED_PUSH QgsSymbol::QgsSymbol ( SymbolType  type,
const QgsSymbolLayerList layers 
)
protected

Definition at line 86 of file qgssymbol.cpp.

Member Function Documentation

◆ _getLineString()

Q_NOWARN_DEPRECATED_POP QPolygonF QgsSymbol::_getLineString ( QgsRenderContext context,
const QgsCurve curve,
bool  clipToExtent = true 
)
staticprotected

Creates a line string in screen coordinates from a QgsCurve in map coordinates.

Definition at line 107 of file qgssymbol.cpp.

◆ _getPoint()

static QPointF QgsSymbol::_getPoint ( QgsRenderContext context,
const QgsPoint point 
)
inlinestaticprotected

Creates a point in screen coordinates from a QgsPoint in map coordinates.

Definition at line 632 of file qgssymbol.h.

◆ _getPolygon()

void QgsSymbol::_getPolygon ( QPolygonF &  pts,
QVector< QPolygonF > &  holes,
QgsRenderContext context,
const QgsPolygon polygon,
bool  clipToExtent = true,
bool  correctRingOrientation = false 
)
staticprotected

Creates a polygon in screen coordinates from a QgsPolygonXYin map coordinates.

If correctRingOrientation is true then the ring will be oriented to match standard ring orientation, e.g. clockwise for exterior rings and counter-clockwise for interior rings.

Definition at line 239 of file qgssymbol.cpp.

◆ _getPolygonRing()

QPolygonF QgsSymbol::_getPolygonRing ( QgsRenderContext context,
const QgsCurve curve,
bool  clipToExtent,
bool  isExteriorRing = false,
bool  correctRingOrientation = false 
)
staticprotected

Creates a polygon ring in screen coordinates from a QgsCurve in map coordinates.

If correctRingOrientation is true then the ring will be oriented to match standard ring orientation, e.g. clockwise for exterior rings and counter-clockwise for interior rings.

Definition at line 168 of file qgssymbol.cpp.

◆ appendSymbolLayer()

bool QgsSymbol::appendSymbolLayer ( QgsSymbolLayer layer)

Appends a symbol layer at the end of the current symbol layer list.

Ownership of layer is transferred to the symbol.

Returns
true if the layer was successfully added, false if the layer is not compatible with the symbol's type().

Definition at line 434 of file qgssymbol.cpp.

◆ asImage()

QImage QgsSymbol::asImage ( QSize  size,
QgsRenderContext customContext = nullptr 
)

Returns an image of the symbol at the specified size.

Optionally a custom render context may be given in order to ensure that the preview icon exactly matches the settings from that context.

See also
exportImage()
drawPreviewIcon()

Definition at line 655 of file qgssymbol.cpp.

◆ bigSymbolPreviewImage()

QImage QgsSymbol::bigSymbolPreviewImage ( QgsExpressionContext expressionContext = nullptr,
QgsSymbol::PreviewFlags  flags = QgsSymbol::FlagIncludeCrosshairsForMarkerSymbols 
)

Returns a large (roughly 100x100 pixel) preview image for the symbol.

Parameters
expressionContextoptional expression context, for evaluation of data defined symbol properties
flagsoptional flags to control how preview image is generated
See also
asImage()
drawPreviewIcon()

Definition at line 669 of file qgssymbol.cpp.

◆ canCauseArtifactsBetweenAdjacentTiles()

bool QgsSymbol::canCauseArtifactsBetweenAdjacentTiles ( ) const

Returns true if the symbol rendering can cause visible artifacts across a single feature when the feature is rendered as a series of adjacent map tiles each containing a portion of the feature's geometry.

Internally this calls QgsSymbolLayer::canCauseArtifactsBetweenAdjacentTiles() for all symbol layers in the symbol and returns true if any of the layers returned TRUE.

Since
QGIS 3.18

Definition at line 824 of file qgssymbol.cpp.

◆ changeSymbolLayer()

bool QgsSymbol::changeSymbolLayer ( int  index,
QgsSymbolLayer layer 
)

Deletes the current layer at the specified index and replaces it with layer.

Ownership of layer is transferred to the symbol.

Returns false if layer is not compatible with the symbol's type(), or true if the layer was successfully replaced.

Definition at line 464 of file qgssymbol.cpp.

◆ clipFeaturesToExtent()

bool QgsSymbol::clipFeaturesToExtent ( ) const
inline

Returns whether features drawn by the symbol will be clipped to the render context's extent.

If this option is enabled then features which are partially outside the extent will be clipped. This speeds up rendering of the feature, but may have undesirable side effects for certain symbol types.

Returns
true if features will be clipped
See also
setClipFeaturesToExtent
Since
QGIS 2.9

Definition at line 522 of file qgssymbol.h.

◆ clone()

virtual QgsSymbol* QgsSymbol::clone ( ) const
pure virtual

Returns a deep copy of this symbol.

Ownership is transferred to the caller.

Implemented in QgsFillSymbol, QgsLineSymbol, and QgsMarkerSymbol.

◆ cloneLayers()

QgsSymbolLayerList QgsSymbol::cloneLayers ( ) const
protected

Retrieve a cloned list of all layers that make up this symbol.

Ownership is transferred to the caller.

Definition at line 754 of file qgssymbol.cpp.

◆ color()

QColor QgsSymbol::color ( ) const

Returns the symbol's color.

For multi-layer symbols, this method returns the color of the first unlocked symbol layer.

See also
setColor()

Definition at line 542 of file qgssymbol.cpp.

◆ dataDefinedProperties() [1/2]

QgsPropertyCollection& QgsSymbol::dataDefinedProperties ( )
inline

Returns a reference to the symbol's property collection, used for data defined overrides.

See also
setDataDefinedProperties()
Property
Since
QGIS 3.18

Definition at line 568 of file qgssymbol.h.

◆ dataDefinedProperties() [2/2]

const QgsPropertyCollection& QgsSymbol::dataDefinedProperties ( ) const
inline

Returns a reference to the symbol's property collection, used for data defined overrides.

See also
setDataDefinedProperties()
Since
QGIS 3.18

Definition at line 575 of file qgssymbol.h.

◆ defaultSymbol()

QgsSymbol * QgsSymbol::defaultSymbol ( QgsWkbTypes::GeometryType  geomType)
static

Returns a new default symbol for the specified geometry type.

The caller takes ownership of the returned object.

Definition at line 346 of file qgssymbol.cpp.

◆ deleteSymbolLayer()

bool QgsSymbol::deleteSymbolLayer ( int  index)

Removes and deletes the symbol layer at the specified index.

Definition at line 444 of file qgssymbol.cpp.

◆ drawPreviewIcon()

void QgsSymbol::drawPreviewIcon ( QPainter *  painter,
QSize  size,
QgsRenderContext customContext = nullptr,
bool  selected = false,
const QgsExpressionContext expressionContext = nullptr,
const QgsLegendPatchShape patchShape = nullptr 
)

Draws an icon of the symbol that occupies an area given by size using the specified painter.

Optionally a custom render context may be given in order to ensure that the preview icon exactly matches the settings from that context.

Parameters
painterdestination painter
sizesize of the icon
customContextthe context in which the rendering happens
selectedset to true to render the symbol in a selected state
expressionContextoptional custom expression context
patchShapeoptional patch shape to use for symbol preview. If not specified a default shape will be used instead.
See also
exportImage()
asImage()
Note
Parameter selected added in QGIS 3.10
Since
QGIS 2.6

Definition at line 553 of file qgssymbol.cpp.

◆ dump()

QString QgsSymbol::dump ( ) const

Returns a string dump of the symbol's properties.

Definition at line 715 of file qgssymbol.cpp.

◆ exportImage()

void QgsSymbol::exportImage ( const QString &  path,
const QString &  format,
QSize  size 
)

Export the symbol as an image format, to the specified path and with the given size.

If format is "SVG" then an SVG file will be created, otherwise a raster image of the specified format will be created.

See also
asImage()
drawPreviewIcon()

Definition at line 635 of file qgssymbol.cpp.

◆ forceRHR()

bool QgsSymbol::forceRHR ( ) const
inline

Returns true if polygon features drawn by the symbol will be reoriented to follow the standard right-hand-rule orientation, in which the area that is bounded by the polygon is to the right of the boundary.

In particular, the exterior ring is oriented in a clockwise direction and the interior rings in a counter-clockwise direction.

See also
setForceRHR()
Since
QGIS 3.6

Definition at line 544 of file qgssymbol.h.

◆ hasDataDefinedProperties()

bool QgsSymbol::hasDataDefinedProperties ( ) const

Returns whether the symbol utilizes any data defined properties.

Since
QGIS 2.12

Definition at line 811 of file qgssymbol.cpp.

◆ insertSymbolLayer()

bool QgsSymbol::insertSymbolLayer ( int  index,
QgsSymbolLayer layer 
)

Inserts a symbol layer to specified index.

Ownership of layer is transferred to the symbol.

Parameters
indexThe index at which the layer should be added
layerThe symbol layer to add
Returns
true if the layer is added, false if the index or the layer is bad

Definition at line 421 of file qgssymbol.cpp.

◆ layer()

const QgsVectorLayer * QgsSymbol::layer ( ) const
Deprecated:
Will be removed in QGIS 4.0

Definition at line 841 of file qgssymbol.cpp.

◆ mapUnitScale()

QgsMapUnitScale QgsSymbol::mapUnitScale ( ) const

Returns the map unit scale for the symbol.

If the symbol consists of multiple layers, the map unit scale is only returned if all layers have the same scale settings. If the settings differ, a default constructed map unit scale is returned.

See also
setMapUnitScale()

Definition at line 304 of file qgssymbol.cpp.

◆ opacity()

qreal QgsSymbol::opacity ( ) const
inline

Returns the opacity for the symbol.

Returns
opacity value between 0 (fully transparent) and 1 (fully opaque)
See also
setOpacity()

Definition at line 481 of file qgssymbol.h.

◆ outputUnit()

QgsUnitTypes::RenderUnit QgsSymbol::outputUnit ( ) const

Returns the units to use for sizes and widths within the symbol.

Individual symbol layer definitions will interpret this in different ways, e.g., a marker symbol may use it to specify the units for the marker size, while a line symbol may use it to specify the units for the line width.

Returns
output unit, or QgsUnitTypes::RenderUnknownUnit if the symbol contains mixed units
See also
setOutputUnit()

Definition at line 266 of file qgssymbol.cpp.

◆ propertyDefinitions()

const QgsPropertiesDefinition & QgsSymbol::propertyDefinitions ( )
static

Returns the symbol property definitions.

Since
QGIS 3.18

Definition at line 254 of file qgssymbol.cpp.

◆ renderFeature()

PRIVATE void QgsSymbol::renderFeature ( const QgsFeature feature,
QgsRenderContext context,
int  layer = -1,
bool  selected = false,
bool  drawVertexMarker = false,
int  currentVertexMarkerType = 0,
double  currentVertexMarkerSize = 0.0 
)

Render a feature.

Before calling this the startRender() method should be called to initialize the rendering process. After rendering all features stopRender() must be called.

Definition at line 890 of file qgssymbol.cpp.

◆ renderHints()

RenderHints QgsSymbol::renderHints ( ) const
inline

Returns the rendering hint flags for the symbol.

See also
setRenderHints()

Definition at line 500 of file qgssymbol.h.

◆ renderUsingLayer()

void QgsSymbol::renderUsingLayer ( QgsSymbolLayer layer,
QgsSymbolRenderContext context 
)
protected

Renders a context using a particular symbol layer without passing in a geometry.

This is used as fallback, if the symbol being rendered is not compatible with the specified layer. In such a case, this method can be called and will call the layer's rendering method anyway but the geometry passed to the layer will be empty. This is required for layers that generate their own geometry from other information in the rendering context.

Definition at line 768 of file qgssymbol.cpp.

◆ renderVertexMarker()

void QgsSymbol::renderVertexMarker ( QPointF  pt,
QgsRenderContext context,
int  currentVertexMarkerType,
double  currentVertexMarkerSize 
)
protected

Render editing vertex marker at specified point.

Since
QGIS 2.16

Definition at line 1422 of file qgssymbol.cpp.

◆ setClipFeaturesToExtent()

void QgsSymbol::setClipFeaturesToExtent ( bool  clipFeaturesToExtent)
inline

Sets whether features drawn by the symbol should be clipped to the render context's extent.

If this option is enabled then features which are partially outside the extent will be clipped. This speeds up rendering of the feature, but may have undesirable side effects for certain symbol types.

Parameters
clipFeaturesToExtentset to true to enable clipping (defaults to TRUE)
See also
clipFeaturesToExtent
Since
QGIS 2.9

Definition at line 511 of file qgssymbol.h.

◆ setColor()

void QgsSymbol::setColor ( const QColor &  color)

Sets the color for the symbol.

Calling this method sets the color for each individual symbol layer contained within the symbol to color.

Locked symbol layers are skipped and are left unchanged.

See also
color()

Definition at line 532 of file qgssymbol.cpp.

◆ setDataDefinedProperties()

void QgsSymbol::setDataDefinedProperties ( const QgsPropertyCollection collection)
inline

Sets the symbol's property collection, used for data defined overrides.

Parameters
collectionproperty collection. Existing properties will be replaced.
See also
dataDefinedProperties()
Since
QGIS 3.18

Definition at line 583 of file qgssymbol.h.

◆ setDataDefinedProperty()

void QgsSymbol::setDataDefinedProperty ( QgsSymbol::Property  key,
const QgsProperty property 
)

Sets a data defined property for the symbol.

Any existing property with the same key will be overwritten.

See also
dataDefinedProperties()
Property
Since
QGIS 3.18

Definition at line 806 of file qgssymbol.cpp.

◆ setForceRHR()

void QgsSymbol::setForceRHR ( bool  force)
inline

Sets whether polygon features drawn by the symbol should be reoriented to follow the standard right-hand-rule orientation, in which the area that is bounded by the polygon is to the right of the boundary.

In particular, the exterior ring is oriented in a clockwise direction and the interior rings in a counter-clockwise direction.

See also
forceRHR()
Since
QGIS 3.6

Definition at line 533 of file qgssymbol.h.

◆ setLayer()

void QgsSymbol::setLayer ( const QgsVectorLayer layer)
Note
the layer will be nullptr after stopRender
Deprecated:
Will be removed in QGIS 4.0

Definition at line 834 of file qgssymbol.cpp.

◆ setMapUnitScale()

void QgsSymbol::setMapUnitScale ( const QgsMapUnitScale scale)

Sets the map unit scale for the symbol.

Calling this method sets the scale for all symbol layers contained within the symbol.

See also
mapUnitScale()

Definition at line 337 of file qgssymbol.cpp.

◆ setOpacity()

void QgsSymbol::setOpacity ( qreal  opacity)
inline

Sets the opacity for the symbol.

Parameters
opacityopacity value between 0 (fully transparent) and 1 (fully opaque)
See also
opacity()

Definition at line 488 of file qgssymbol.h.

◆ setOutputUnit()

void QgsSymbol::setOutputUnit ( QgsUnitTypes::RenderUnit  unit)

Sets the units to use for sizes and widths within the symbol.

Individual symbol definitions will interpret this in different ways, e.g., a marker symbol may use it to specify the units for the marker size, while a line symbol may use it to specify the units for the line width.

Parameters
unitoutput units
See also
outputUnit()

Definition at line 328 of file qgssymbol.cpp.

◆ setRenderHints()

void QgsSymbol::setRenderHints ( RenderHints  hints)
inline

Sets rendering hint flags for the symbol.

See also
renderHints()

Definition at line 494 of file qgssymbol.h.

◆ startRender()

void QgsSymbol::startRender ( QgsRenderContext context,
const QgsFields fields = QgsFields() 
)

Begins the rendering process for the symbol.

This must be called before renderFeature(), and should be followed by a call to stopRender().

Parameters
contextrender context which symbol will be drawn using
fieldsfields for features to be rendered (usually the associated vector layer's fields). Required for correct calculation of data defined overrides.
See also
stopRender()

Definition at line 480 of file qgssymbol.cpp.

◆ stopRender()

void QgsSymbol::stopRender ( QgsRenderContext context)

Ends the rendering process.

This should be called after rendering all desired features.

Parameters
contextrender context, must match the context specified when startRender() was called.
See also
startRender()

Definition at line 507 of file qgssymbol.cpp.

◆ symbolLayer() [1/2]

QgsSymbolLayer * QgsSymbol::symbolLayer ( int  layer)

Returns the symbol layer at the specified index.

See also
symbolLayers
symbolLayerCount
Since
QGIS 2.7

Definition at line 411 of file qgssymbol.cpp.

◆ symbolLayer() [2/2]

const QgsSymbolLayer * QgsSymbol::symbolLayer ( int  layer) const

Returns the symbol layer at the specified index, const variant.

See also
symbolLayers
symbolLayerCount
Since
QGIS 3.12

Definition at line 416 of file qgssymbol.cpp.

◆ symbolLayerCount()

int QgsSymbol::symbolLayerCount ( ) const
inline

Returns the total number of symbol layers contained in the symbol.

Returns
count of symbol layers
See also
symbolLayers
symbolLayer
Since
QGIS 2.7

Definition at line 199 of file qgssymbol.h.

◆ symbolLayers()

QgsSymbolLayerList QgsSymbol::symbolLayers ( )
inline

Returns the list of symbol layers contained in the symbol.

Returns
symbol layers list
See also
symbolLayer
symbolLayerCount
Since
QGIS 2.7

Definition at line 149 of file qgssymbol.h.

◆ symbolRenderContext()

QgsSymbolRenderContext * QgsSymbol::symbolRenderContext ( )

Returns the symbol render context.

Only valid between startRender and stopRender calls.

Returns
The symbol render context

Definition at line 1417 of file qgssymbol.cpp.

◆ takeSymbolLayer()

QgsSymbolLayer * QgsSymbol::takeSymbolLayer ( int  index)

Removes a symbol layer from the list and returns a pointer to it.

Ownership of the layer is handed to the caller.

Parameters
indexThe index of the layer to remove
Returns
A pointer to the removed layer

Definition at line 455 of file qgssymbol.cpp.

◆ toSld()

void QgsSymbol::toSld ( QDomDocument &  doc,
QDomElement &  element,
QVariantMap  props 
) const

Converts the symbol to a SLD representation.

Definition at line 741 of file qgssymbol.cpp.

◆ type()

SymbolType QgsSymbol::type ( ) const
inline

Returns the symbol's type.

Definition at line 138 of file qgssymbol.h.

◆ usedAttributes()

QSet< QString > QgsSymbol::usedAttributes ( const QgsRenderContext context) const

Returns a list of attributes required to render this feature.

This should include any attributes required by the symbology including the ones required by expressions.

Definition at line 789 of file qgssymbol.cpp.

◆ usesMapUnits()

bool QgsSymbol::usesMapUnits ( ) const

Returns true if the symbol has any components which use map unit based sizes.

Since
QGIS 3.18

Definition at line 287 of file qgssymbol.cpp.

Friends And Related Function Documentation

◆ QgsFeatureRenderer

friend class QgsFeatureRenderer
friend

Definition at line 79 of file qgssymbol.h.

Member Data Documentation

◆ mClipFeaturesToExtent

bool QgsSymbol::mClipFeaturesToExtent = true
protected

Definition at line 703 of file qgssymbol.h.

◆ mForceRHR

bool QgsSymbol::mForceRHR = false
protected

Definition at line 704 of file qgssymbol.h.

◆ mLayer

Q_DECL_DEPRECATED const QgsVectorLayer* QgsSymbol::mLayer = nullptr
protected

Definition at line 706 of file qgssymbol.h.

◆ mLayers

QgsSymbolLayerList QgsSymbol::mLayers
protected

Definition at line 697 of file qgssymbol.h.

◆ mOpacity

qreal QgsSymbol::mOpacity = 1.0
protected

Symbol opacity (in the range 0 - 1)

Definition at line 700 of file qgssymbol.h.

◆ mRenderHints

RenderHints QgsSymbol::mRenderHints
protected

Definition at line 702 of file qgssymbol.h.

◆ mType

SymbolType QgsSymbol::mType
protected

Definition at line 696 of file qgssymbol.h.


The documentation for this class was generated from the following files: