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

Abstract base class for marker symbol layers. More...

#include <qgssymbollayer.h>

Inheritance diagram for QgsMarkerSymbolLayer:
Inheritance graph
[legend]

Public Types

enum  HorizontalAnchorPoint { Left , HCenter , Right }
 Symbol horizontal anchor points. More...
 
enum  VerticalAnchorPoint { Top , VCenter , Bottom }
 Symbol vertical anchor points. More...
 
- Public Types inherited from QgsSymbolLayer
enum  Property {
  PropertySize = 0 , PropertyAngle , PropertyName , PropertyFillColor ,
  PropertyStrokeColor , PropertyStrokeWidth , PropertyStrokeStyle , PropertyOffset ,
  PropertyCharacter , PropertyWidth , PropertyHeight , PropertyPreserveAspectRatio ,
  PropertyFillStyle , PropertyJoinStyle , PropertySecondaryColor , PropertyLineAngle ,
  PropertyLineDistance , PropertyGradientType , PropertyCoordinateMode , PropertyGradientSpread ,
  PropertyGradientReference1X , PropertyGradientReference1Y , PropertyGradientReference2X , PropertyGradientReference2Y ,
  PropertyGradientReference1IsCentroid , PropertyGradientReference2IsCentroid , PropertyBlurRadius , PropertyShapeburstUseWholeShape ,
  PropertyShapeburstMaxDistance , PropertyShapeburstIgnoreRings , PropertyFile , PropertyDistanceX ,
  PropertyDistanceY , PropertyDisplacementX , PropertyDisplacementY , PropertyOpacity ,
  PropertyCustomDash , PropertyCapStyle , PropertyPlacement , PropertyInterval ,
  PropertyOffsetAlongLine , PropertyAverageAngleLength , PropertyHorizontalAnchor , PropertyVerticalAnchor ,
  PropertyLayerEnabled , PropertyArrowWidth , PropertyArrowStartWidth , PropertyArrowHeadLength ,
  PropertyArrowHeadThickness , PropertyArrowHeadType , PropertyArrowType , PropertyOffsetX ,
  PropertyOffsetY , PropertyPointCount , PropertyRandomSeed , PropertyClipPoints ,
  PropertyDensityArea , PropertyFontFamily , PropertyFontStyle , PropertyDashPatternOffset
}
 Data definable properties. More...
 

Public Member Functions

 QgsMarkerSymbolLayer (const QgsMarkerSymbolLayer &other)=delete
 QgsMarkerSymbolLayer cannot be copied. More...
 
double angle () const
 Returns the rotation angle for the marker, in degrees clockwise from north. More...
 
virtual QRectF bounds (QPointF point, QgsSymbolRenderContext &context)=0
 Returns the approximate bounding box of the marker symbol layer, taking into account any data defined overrides and offsets which are set for the marker layer. More...
 
void drawPreviewIcon (QgsSymbolRenderContext &context, QSize size) override
 
HorizontalAnchorPoint horizontalAnchorPoint () const
 Returns the horizontal anchor point for positioning the symbol. More...
 
QgsMapUnitScale mapUnitScale () const override
 
QPointF offset () const
 Returns the marker's offset, which is the horizontal and vertical displacement which the rendered marker will have from the original feature's geometry. More...
 
const QgsMapUnitScaleoffsetMapUnitScale () const
 Returns the map unit scale for the symbol's offset. More...
 
QgsUnitTypes::RenderUnit offsetUnit () const
 Returns the units for the symbol's offset. More...
 
QgsMarkerSymbolLayeroperator= (const QgsMarkerSymbolLayer &other)=delete
 QgsMarkerSymbolLayer cannot be copied. More...
 
QgsUnitTypes::RenderUnit outputUnit () const override
 Returns the units to use for sizes and widths within the symbol layer. More...
 
virtual void renderPoint (QPointF point, QgsSymbolRenderContext &context)=0
 Renders a marker at the specified point. More...
 
QgsSymbol::ScaleMethod scaleMethod () const
 Returns the method to use for scaling the marker's size. More...
 
void setAngle (double angle)
 Sets the rotation angle for the marker. More...
 
void setHorizontalAnchorPoint (HorizontalAnchorPoint h)
 Sets the horizontal anchor point for positioning the symbol. More...
 
void setLineAngle (double lineAngle)
 Sets the line angle modification for the symbol's angle. More...
 
void setMapUnitScale (const QgsMapUnitScale &scale) override
 
void setOffset (QPointF offset)
 Sets the marker's offset, which is the horizontal and vertical displacement which the rendered marker should have from the original feature's geometry. More...
 
void setOffsetMapUnitScale (const QgsMapUnitScale &scale)
 Sets the map unit scale for the symbol's offset. More...
 
void setOffsetUnit (QgsUnitTypes::RenderUnit unit)
 Sets the units for the symbol's offset. More...
 
void setOutputUnit (QgsUnitTypes::RenderUnit unit) override
 Sets the units to use for sizes and widths within the symbol layer. More...
 
void setScaleMethod (QgsSymbol::ScaleMethod scaleMethod)
 Sets the method to use for scaling the marker's size. More...
 
virtual void setSize (double size)
 Sets the symbol size. More...
 
void setSizeMapUnitScale (const QgsMapUnitScale &scale)
 Sets the map unit scale for the symbol's size. More...
 
void setSizeUnit (QgsUnitTypes::RenderUnit unit)
 Sets the units for the symbol's size. More...
 
void setVerticalAnchorPoint (VerticalAnchorPoint v)
 Sets the vertical anchor point for positioning the symbol. More...
 
double size () const
 Returns the symbol size. More...
 
const QgsMapUnitScalesizeMapUnitScale () const
 Returns the map unit scale for the symbol's size. More...
 
QgsUnitTypes::RenderUnit sizeUnit () const
 Returns the units for the symbol's size. More...
 
void startRender (QgsSymbolRenderContext &context) override
 Called before a set of rendering operations commences on the supplied render context. More...
 
void stopRender (QgsSymbolRenderContext &context) override
 Called after a set of rendering operations has finished on the supplied render context. More...
 
void toSld (QDomDocument &doc, QDomElement &element, const QVariantMap &props) const override
 Saves the symbol layer as SLD. More...
 
VerticalAnchorPoint verticalAnchorPoint () const
 Returns the vertical anchor point for positioning the symbol. More...
 
virtual void writeSldMarker (QDomDocument &doc, QDomElement &element, const QVariantMap &props) const
 Writes the symbol layer definition as a SLD XML element. More...
 
- Public Member Functions inherited from QgsSymbolLayer
 QgsSymbolLayer (const QgsSymbolLayer &other)=delete
 QgsSymbolLayer cannot be copied. More...
 
virtual ~QgsSymbolLayer ()
 
virtual bool canCauseArtifactsBetweenAdjacentTiles () const
 Returns true if the symbol layer 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...
 
virtual QgsSymbolLayerclone () const =0
 Shall be reimplemented by subclasses to create a deep copy of the instance. More...
 
virtual QColor color () const
 The fill color. More...
 
QgsPropertyCollectiondataDefinedProperties ()
 Returns a reference to the symbol layer's property collection, used for data defined overrides. More...
 
const QgsPropertyCollectiondataDefinedProperties () const
 Returns a reference to the symbol layer's property collection, used for data defined overrides. More...
 
virtual double dxfAngle (QgsSymbolRenderContext &context) const
 Gets angle. More...
 
virtual QColor dxfBrushColor (QgsSymbolRenderContext &context) const
 Gets brush/fill color. More...
 
virtual Qt::BrushStyle dxfBrushStyle () const
 Gets brush/fill style. More...
 
virtual QColor dxfColor (QgsSymbolRenderContext &context) const
 Gets color. More...
 
virtual QVector< qreal > dxfCustomDashPattern (QgsUnitTypes::RenderUnit &unit) const
 Gets dash pattern. More...
 
virtual double dxfOffset (const QgsDxfExport &e, QgsSymbolRenderContext &context) const
 Gets offset. More...
 
virtual Qt::PenStyle dxfPenStyle () const
 Gets pen style. More...
 
virtual double dxfWidth (const QgsDxfExport &e, QgsSymbolRenderContext &context) const
 Gets line width. More...
 
bool enabled () const
 Returns true if symbol layer is enabled and will be drawn. More...
 
virtual double estimateMaxBleed (const QgsRenderContext &context) const
 Returns the estimated maximum distance which the layer style will bleed outside the drawn shape when drawn in the specified /a context. More...
 
virtual QColor fillColor () const
 Gets fill color. More...
 
virtual bool hasDataDefinedProperties () const
 Returns true if the symbol layer (or any of its sub-symbols) contains data defined properties. More...
 
virtual bool isCompatibleWithSymbol (QgsSymbol *symbol) const
 Returns if the layer can be used below the specified symbol. More...
 
bool isLocked () const
 
virtual QString layerType () const =0
 Returns a string that represents this layer type. More...
 
virtual QgsSymbolLayerReferenceList masks () const
 Returns masks defined by this symbol layer. More...
 
virtual QString ogrFeatureStyle (double mmScaleFactor, double mapUnitScaleFactor) const
 
QgsSymbolLayeroperator= (const QgsSymbolLayer &other)=delete
 QgsSymbolLayer cannot be copied. More...
 
QgsPaintEffectpaintEffect () const
 Returns the current paint effect for the layer. More...
 
virtual void prepareExpressions (const QgsSymbolRenderContext &context)
 Prepares all data defined property expressions for evaluation. More...
 
virtual QVariantMap properties () const =0
 Should be reimplemented by subclasses to return a string map that contains the configuration information for the symbol layer. More...
 
int renderingPass () const
 Specifies the rendering pass in which this symbol layer should be rendered. More...
 
virtual void setColor (const QColor &color)
 The fill color. More...
 
void setDataDefinedProperties (const QgsPropertyCollection &collection)
 Sets the symbol layer's property collection, used for data defined overrides. More...
 
virtual void setDataDefinedProperty (Property key, const QgsProperty &property)
 Sets a data defined property for the layer. More...
 
void setEnabled (bool enabled)
 Sets whether symbol layer is enabled and should be drawn. More...
 
virtual void setFillColor (const QColor &color)
 Set fill color. More...
 
void setLocked (bool locked)
 
void setPaintEffect (QgsPaintEffect *effect)
 Sets the current paint effect for the layer. More...
 
void setRenderingPass (int renderingPass)
 Specifies the rendering pass in which this symbol layer should be rendered. More...
 
virtual void setStrokeColor (const QColor &color)
 Set stroke color. More...
 
virtual bool setSubSymbol (QgsSymbol *symbol)
 Sets layer's subsymbol. takes ownership of the passed symbol. More...
 
virtual void startFeatureRender (const QgsFeature &feature, QgsRenderContext &context)
 Called before the layer will be rendered for a particular feature. More...
 
virtual void stopFeatureRender (const QgsFeature &feature, QgsRenderContext &context)
 Called after the layer has been rendered for a particular feature. More...
 
virtual QColor strokeColor () const
 Gets stroke color. More...
 
virtual QgsSymbolsubSymbol ()
 Returns the symbol's sub symbol, if present. More...
 
QgsSymbol::SymbolType type () const
 
virtual QSet< QString > usedAttributes (const QgsRenderContext &context) const
 Returns the set of attributes referenced by the layer. More...
 
virtual bool usesMapUnits () const
 Returns true if the symbol layer has any components which use map unit based sizes. More...
 
virtual bool writeDxf (QgsDxfExport &e, double mmMapUnitScaleFactor, const QString &layerName, QgsSymbolRenderContext &context, QPointF shift=QPointF(0.0, 0.0)) const
 write as DXF More...
 

Protected Member Functions

 QgsMarkerSymbolLayer (bool locked=false)
 Constructor for QgsMarkerSymbolLayer. More...
 
void markerOffset (QgsSymbolRenderContext &context, double &offsetX, double &offsetY) const
 Calculates the required marker offset, including both the symbol offset and any displacement required to align with the marker's anchor point. More...
 
void markerOffset (QgsSymbolRenderContext &context, double width, double height, double &offsetX, double &offsetY) const
 Calculates the required marker offset, including both the symbol offset and any displacement required to align with the marker's anchor point. More...
 
void markerOffset (QgsSymbolRenderContext &context, double width, double height, QgsUnitTypes::RenderUnit widthUnit, QgsUnitTypes::RenderUnit heightUnit, double &offsetX, double &offsetY, const QgsMapUnitScale &widthMapUnitScale, const QgsMapUnitScale &heightMapUnitScale) const
 
- Protected Member Functions inherited from QgsSymbolLayer
 QgsSymbolLayer (QgsSymbol::SymbolType type, bool locked=false)
 
void copyDataDefinedProperties (QgsSymbolLayer *destLayer) const
 Copies all data defined properties of this layer to another symbol layer. More...
 
void copyPaintEffect (QgsSymbolLayer *destLayer) const
 Copies paint effect of this layer to another symbol layer. More...
 
void restoreOldDataDefinedProperties (const QVariantMap &stringMap)
 Restores older data defined properties from string map. More...
 

Static Protected Member Functions

static QPointF _rotatedOffset (QPointF offset, double angle)
 Adjusts a marker offset to account for rotation. More...
 

Protected Attributes

double mAngle = 0
 Marker rotation angle, in degrees clockwise from north. More...
 
HorizontalAnchorPoint mHorizontalAnchorPoint = HCenter
 Horizontal anchor point. More...
 
double mLineAngle = 0
 Line rotation angle (see setLineAngle() for details) More...
 
QPointF mOffset
 Marker offset. More...
 
QgsMapUnitScale mOffsetMapUnitScale
 Offset map unit scale. More...
 
QgsUnitTypes::RenderUnit mOffsetUnit = QgsUnitTypes::RenderMillimeters
 Offset units. More...
 
QgsSymbol::ScaleMethod mScaleMethod = QgsSymbol::ScaleDiameter
 Marker size scaling method. More...
 
double mSize = 2.0
 Marker size. More...
 
QgsMapUnitScale mSizeMapUnitScale
 Marker size map unit scale. More...
 
QgsUnitTypes::RenderUnit mSizeUnit = QgsUnitTypes::RenderMillimeters
 Marker size unit. More...
 
VerticalAnchorPoint mVerticalAnchorPoint = VCenter
 Vertical anchor point. More...
 
- Protected Attributes inherited from QgsSymbolLayer
QColor mColor
 
QgsPropertyCollection mDataDefinedProperties
 
bool mEnabled = true
 True if layer is enabled and should be drawn. More...
 
QgsFields mFields
 
bool mLocked = false
 
std::unique_ptr< QgsPaintEffectmPaintEffect
 
int mRenderingPass = 0
 
QgsSymbol::SymbolType mType
 

Additional Inherited Members

- Static Public Member Functions inherited from QgsSymbolLayer
static const QgsPropertiesDefinitionpropertyDefinitions ()
 Returns the symbol layer property definitions. More...
 
- Static Protected Attributes inherited from QgsSymbolLayer
static const bool SELECT_FILL_BORDER = false
 Whether fill styles for selected features also highlight symbol stroke. More...
 
static const bool SELECT_FILL_STYLE = false
 Whether fill styles for selected features uses symbol layer style. More...
 
static const bool SELECTION_IS_OPAQUE = true
 Whether styles for selected features ignore symbol alpha. More...
 

Detailed Description

Abstract base class for marker symbol layers.

Definition at line 599 of file qgssymbollayer.h.

Member Enumeration Documentation

◆ HorizontalAnchorPoint

Symbol horizontal anchor points.

Enumerator
Left 

Align to left side of symbol.

HCenter 

Align to horizontal center of symbol.

Right 

Align to right side of symbol.

Definition at line 604 of file qgssymbollayer.h.

◆ VerticalAnchorPoint

Symbol vertical anchor points.

Enumerator
Top 

Align to top of symbol.

VCenter 

Align to vertical center of symbol.

Bottom 

Align to bottom of symbol.

Definition at line 612 of file qgssymbollayer.h.

Constructor & Destructor Documentation

◆ QgsMarkerSymbolLayer() [1/2]

QgsMarkerSymbolLayer::QgsMarkerSymbolLayer ( const QgsMarkerSymbolLayer other)
delete

QgsMarkerSymbolLayer cannot be copied.

◆ QgsMarkerSymbolLayer() [2/2]

QgsMarkerSymbolLayer::QgsMarkerSymbolLayer ( bool  locked = false)
protected

Constructor for QgsMarkerSymbolLayer.

Parameters
lockedset to true to lock symbol color

Definition at line 431 of file qgssymbollayer.cpp.

Member Function Documentation

◆ _rotatedOffset()

QPointF QgsMarkerSymbolLayer::_rotatedOffset ( QPointF  offset,
double  angle 
)
staticprotected

Adjusts a marker offset to account for rotation.

Parameters
offsetoffset prior to rotation
anglerotation angle in degrees clockwise from north
Returns
adjusted offset

Definition at line 581 of file qgssymbollayer.cpp.

◆ angle()

double QgsMarkerSymbolLayer::angle ( ) const
inline

Returns the rotation angle for the marker, in degrees clockwise from north.

See also
setAngle()

Definition at line 651 of file qgssymbollayer.h.

◆ bounds()

virtual QRectF QgsMarkerSymbolLayer::bounds ( QPointF  point,
QgsSymbolRenderContext context 
)
pure virtual

Returns the approximate bounding box of the marker symbol layer, taking into account any data defined overrides and offsets which are set for the marker layer.

Returns
approximate symbol bounds, in painter units
Since
QGIS 2.14

Implemented in QgsVectorFieldSymbolLayer, QgsMaskMarkerSymbolLayer, QgsFontMarkerSymbolLayer, QgsRasterMarkerSymbolLayer, QgsSvgMarkerSymbolLayer, QgsSimpleMarkerSymbolLayer, QgsSimpleMarkerSymbolLayerBase, and QgsEllipseSymbolLayer.

◆ drawPreviewIcon()

void QgsMarkerSymbolLayer::drawPreviewIcon ( QgsSymbolRenderContext context,
QSize  size 
)
overridevirtual

Implements QgsSymbolLayer.

Reimplemented in QgsVectorFieldSymbolLayer.

Definition at line 467 of file qgssymbollayer.cpp.

◆ horizontalAnchorPoint()

HorizontalAnchorPoint QgsMarkerSymbolLayer::horizontalAnchorPoint ( ) const
inline

Returns the horizontal anchor point for positioning the symbol.

The symbol will be drawn so that the horizontal anchor point is aligned with the marker's desired location.

See also
setHorizontalAnchorPoint()
verticalAnchorPoint()

Definition at line 796 of file qgssymbollayer.h.

◆ mapUnitScale()

QgsMapUnitScale QgsMarkerSymbolLayer::mapUnitScale ( ) const
overridevirtual

Reimplemented from QgsSymbolLayer.

Reimplemented in QgsVectorFieldSymbolLayer.

Definition at line 641 of file qgssymbollayer.cpp.

◆ markerOffset() [1/3]

void QgsMarkerSymbolLayer::markerOffset ( QgsSymbolRenderContext context,
double &  offsetX,
double &  offsetY 
) const
protected

Calculates the required marker offset, including both the symbol offset and any displacement required to align with the marker's anchor point.

Parameters
contextsymbol render context
offsetXwill be set to required horizontal offset (in painter units)
offsetYwill be set to required vertical offset (in painter units)

Definition at line 487 of file qgssymbollayer.cpp.

◆ markerOffset() [2/3]

void QgsMarkerSymbolLayer::markerOffset ( QgsSymbolRenderContext context,
double  width,
double  height,
double &  offsetX,
double &  offsetY 
) const
protected

Calculates the required marker offset, including both the symbol offset and any displacement required to align with the marker's anchor point.

Parameters
contextsymbol render context
widthmarker width
heightmarker height
offsetXwill be set to required horizontal offset (in painter units)
offsetYwill be set to required vertical offset (in painter units)
Note
available in Python as markerOffsetWithWidthAndHeight

Definition at line 492 of file qgssymbollayer.cpp.

◆ markerOffset() [3/3]

void QgsMarkerSymbolLayer::markerOffset ( QgsSymbolRenderContext context,
double  width,
double  height,
QgsUnitTypes::RenderUnit  widthUnit,
QgsUnitTypes::RenderUnit  heightUnit,
double &  offsetX,
double &  offsetY,
const QgsMapUnitScale widthMapUnitScale,
const QgsMapUnitScale heightMapUnitScale 
) const
protected
Note
available in Python bindings as markerOffset2

Definition at line 497 of file qgssymbollayer.cpp.

◆ offset()

QPointF QgsMarkerSymbolLayer::offset ( ) const
inline

Returns the marker's offset, which is the horizontal and vertical displacement which the rendered marker will have from the original feature's geometry.

Units are specified by offsetUnit().

See also
setOffset()
offsetUnit()
offsetMapUnitScale()

Definition at line 745 of file qgssymbollayer.h.

◆ offsetMapUnitScale()

const QgsMapUnitScale& QgsMarkerSymbolLayer::offsetMapUnitScale ( ) const
inline

Returns the map unit scale for the symbol's offset.

See also
setOffsetMapUnitScale()
offset()
offsetUnit()

Definition at line 779 of file qgssymbollayer.h.

◆ offsetUnit()

QgsUnitTypes::RenderUnit QgsMarkerSymbolLayer::offsetUnit ( ) const
inline

Returns the units for the symbol's offset.

See also
setOffsetUnit()
offset()
offsetMapUnitScale()

Definition at line 762 of file qgssymbollayer.h.

◆ operator=()

QgsMarkerSymbolLayer& QgsMarkerSymbolLayer::operator= ( const QgsMarkerSymbolLayer other)
delete

QgsMarkerSymbolLayer cannot be copied.

◆ outputUnit()

QgsUnitTypes::RenderUnit QgsMarkerSymbolLayer::outputUnit ( ) const
overridevirtual

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

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

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

Reimplemented from QgsSymbolLayer.

Reimplemented in QgsVectorFieldSymbolLayer.

Definition at line 626 of file qgssymbollayer.cpp.

◆ renderPoint()

virtual void QgsMarkerSymbolLayer::renderPoint ( QPointF  point,
QgsSymbolRenderContext context 
)
pure virtual

Renders a marker at the specified point.

Derived classes must implement this to handle drawing the point.

Parameters
pointposition at which to render point, in painter units
contextsymbol render context

Implemented in QgsVectorFieldSymbolLayer, QgsMaskMarkerSymbolLayer, QgsFontMarkerSymbolLayer, QgsRasterMarkerSymbolLayer, QgsSvgMarkerSymbolLayer, QgsSimpleMarkerSymbolLayer, QgsSimpleMarkerSymbolLayerBase, and QgsEllipseSymbolLayer.

◆ scaleMethod()

QgsSymbol::ScaleMethod QgsMarkerSymbolLayer::scaleMethod ( ) const
inline

Returns the method to use for scaling the marker's size.

See also
setScaleMethod()

Definition at line 726 of file qgssymbollayer.h.

◆ setAngle()

void QgsMarkerSymbolLayer::setAngle ( double  angle)
inline

Sets the rotation angle for the marker.

Parameters
angleangle in degrees clockwise from north.
See also
angle()
setLineAngle()

Definition at line 645 of file qgssymbollayer.h.

◆ setHorizontalAnchorPoint()

void QgsMarkerSymbolLayer::setHorizontalAnchorPoint ( HorizontalAnchorPoint  h)
inline

Sets the horizontal anchor point for positioning the symbol.

Parameters
hanchor point. Symbol will be drawn so that the horizontal anchor point is aligned with the marker's desired location.
See also
horizontalAnchorPoint()
setVerticalAnchorPoint()

Definition at line 788 of file qgssymbollayer.h.

◆ setLineAngle()

void QgsMarkerSymbolLayer::setLineAngle ( double  lineAngle)
inline

Sets the line angle modification for the symbol's angle.

This angle is added to the marker's rotation and data defined rotation before rendering the symbol, and is usually used for orienting symbols to match a line's angle.

Parameters
lineAngleAngle in degrees clockwise from north, valid values are between 0 and 360
See also
setAngle()
angle()
Since
QGIS 2.9

Definition at line 662 of file qgssymbollayer.h.

◆ setMapUnitScale()

void QgsMarkerSymbolLayer::setMapUnitScale ( const QgsMapUnitScale scale)
overridevirtual

Reimplemented from QgsSymbolLayer.

Reimplemented in QgsVectorFieldSymbolLayer.

Definition at line 635 of file qgssymbollayer.cpp.

◆ setOffset()

void QgsMarkerSymbolLayer::setOffset ( QPointF  offset)
inline

Sets the marker's offset, which is the horizontal and vertical displacement which the rendered marker should have from the original feature's geometry.

Parameters
offsetmarker offset. Units are specified by offsetUnit()
See also
offset()
setOffsetUnit()
setOffsetMapUnitScale()

Definition at line 736 of file qgssymbollayer.h.

◆ setOffsetMapUnitScale()

void QgsMarkerSymbolLayer::setOffsetMapUnitScale ( const QgsMapUnitScale scale)
inline

Sets the map unit scale for the symbol's offset.

Parameters
scaleoffset map unit scale
See also
offsetMapUnitScale()
setOffset()
setOffsetUnit()

Definition at line 771 of file qgssymbollayer.h.

◆ setOffsetUnit()

void QgsMarkerSymbolLayer::setOffsetUnit ( QgsUnitTypes::RenderUnit  unit)
inline

Sets the units for the symbol's offset.

Parameters
unitoffset units
See also
offsetUnit()
setOffset()
setOffsetMapUnitScale()

Definition at line 754 of file qgssymbollayer.h.

◆ setOutputUnit()

void QgsMarkerSymbolLayer::setOutputUnit ( QgsUnitTypes::RenderUnit  unit)
overridevirtual

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

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

Parameters
unitoutput units
See also
outputUnit()

Reimplemented from QgsSymbolLayer.

Reimplemented in QgsVectorFieldSymbolLayer.

Definition at line 620 of file qgssymbollayer.cpp.

◆ setScaleMethod()

void QgsMarkerSymbolLayer::setScaleMethod ( QgsSymbol::ScaleMethod  scaleMethod)
inline

Sets the method to use for scaling the marker's size.

Parameters
scaleMethodscale method
See also
scaleMethod()

Definition at line 720 of file qgssymbollayer.h.

◆ setSize()

virtual void QgsMarkerSymbolLayer::setSize ( double  size)
inlinevirtual

Sets the symbol size.

Parameters
sizesymbol size. Units are specified by sizeUnit().
See also
size()
setSizeUnit()
setSizeMapUnitScale()

Reimplemented in QgsEllipseSymbolLayer.

Definition at line 671 of file qgssymbollayer.h.

◆ setSizeMapUnitScale()

void QgsMarkerSymbolLayer::setSizeMapUnitScale ( const QgsMapUnitScale scale)
inline

Sets the map unit scale for the symbol's size.

Parameters
scalesize map unit scale
See also
sizeMapUnitScale()
setSize()
setSizeUnit()

Definition at line 705 of file qgssymbollayer.h.

◆ setSizeUnit()

void QgsMarkerSymbolLayer::setSizeUnit ( QgsUnitTypes::RenderUnit  unit)
inline

Sets the units for the symbol's size.

Parameters
unitsize units
See also
sizeUnit()
setSize()
setSizeMapUnitScale()

Definition at line 688 of file qgssymbollayer.h.

◆ setVerticalAnchorPoint()

void QgsMarkerSymbolLayer::setVerticalAnchorPoint ( VerticalAnchorPoint  v)
inline

Sets the vertical anchor point for positioning the symbol.

Parameters
vanchor point. Symbol will be drawn so that the vertical anchor point is aligned with the marker's desired location.
See also
verticalAnchorPoint()
setHorizontalAnchorPoint()

Definition at line 805 of file qgssymbollayer.h.

◆ size()

double QgsMarkerSymbolLayer::size ( ) const
inline

Returns the symbol size.

Units are specified by sizeUnit().

See also
setSize()
sizeUnit()
sizeMapUnitScale()

Definition at line 679 of file qgssymbollayer.h.

◆ sizeMapUnitScale()

const QgsMapUnitScale& QgsMarkerSymbolLayer::sizeMapUnitScale ( ) const
inline

Returns the map unit scale for the symbol's size.

See also
setSizeMapUnitScale()
size()
sizeUnit()

Definition at line 713 of file qgssymbollayer.h.

◆ sizeUnit()

QgsUnitTypes::RenderUnit QgsMarkerSymbolLayer::sizeUnit ( ) const
inline

Returns the units for the symbol's size.

See also
setSizeUnit()
size()
sizeMapUnitScale()

Definition at line 696 of file qgssymbollayer.h.

◆ startRender()

void QgsMarkerSymbolLayer::startRender ( QgsSymbolRenderContext context)
overridevirtual

Called before a set of rendering operations commences on the supplied render context.

This is always followed by a call to stopRender() after all rendering operations have been completed.

Subclasses can use this method to prepare for a set of rendering operations, e.g. by pre-evaluating paths or images to render, and performing other one-time optimisations.

See also
startFeatureRender()
stopRender()

Implements QgsSymbolLayer.

Reimplemented in QgsVectorFieldSymbolLayer.

Definition at line 457 of file qgssymbollayer.cpp.

◆ stopRender()

void QgsMarkerSymbolLayer::stopRender ( QgsSymbolRenderContext context)
overridevirtual

Called after a set of rendering operations has finished on the supplied render context.

This is always preceded by a call to startRender() before all rendering operations are commenced.

Subclasses can use this method to cleanup after a set of rendering operations.

See also
startRender()
stopFeatureRender()

Implements QgsSymbolLayer.

Reimplemented in QgsVectorFieldSymbolLayer.

Definition at line 462 of file qgssymbollayer.cpp.

◆ toSld()

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

Saves the symbol layer as SLD.

Reimplemented from QgsSymbolLayer.

Reimplemented in QgsVectorFieldSymbolLayer.

Definition at line 801 of file qgssymbollayer.cpp.

◆ verticalAnchorPoint()

VerticalAnchorPoint QgsMarkerSymbolLayer::verticalAnchorPoint ( ) const
inline

Returns the vertical anchor point for positioning the symbol.

The symbol will be drawn so that the vertical anchor point is aligned with the marker's desired location.

See also
setVerticalAnchorPoint()
horizontalAnchorPoint()

Definition at line 813 of file qgssymbollayer.h.

◆ writeSldMarker()

virtual void QgsMarkerSymbolLayer::writeSldMarker ( QDomDocument &  doc,
QDomElement &  element,
const QVariantMap &  props 
) const
inlinevirtual

Writes the symbol layer definition as a SLD XML element.

Parameters
docXML document
elementparent XML element
propssymbol layer definition (see properties())

Reimplemented in QgsFontMarkerSymbolLayer, QgsSvgMarkerSymbolLayer, QgsSimpleMarkerSymbolLayer, and QgsEllipseSymbolLayer.

Definition at line 823 of file qgssymbollayer.h.

Member Data Documentation

◆ mAngle

double QgsMarkerSymbolLayer::mAngle = 0
protected

Marker rotation angle, in degrees clockwise from north.

Definition at line 883 of file qgssymbollayer.h.

◆ mHorizontalAnchorPoint

HorizontalAnchorPoint QgsMarkerSymbolLayer::mHorizontalAnchorPoint = HCenter
protected

Horizontal anchor point.

Definition at line 901 of file qgssymbollayer.h.

◆ mLineAngle

double QgsMarkerSymbolLayer::mLineAngle = 0
protected

Line rotation angle (see setLineAngle() for details)

Definition at line 885 of file qgssymbollayer.h.

◆ mOffset

QPointF QgsMarkerSymbolLayer::mOffset
protected

Marker offset.

Definition at line 893 of file qgssymbollayer.h.

◆ mOffsetMapUnitScale

QgsMapUnitScale QgsMarkerSymbolLayer::mOffsetMapUnitScale
protected

Offset map unit scale.

Definition at line 897 of file qgssymbollayer.h.

◆ mOffsetUnit

QgsUnitTypes::RenderUnit QgsMarkerSymbolLayer::mOffsetUnit = QgsUnitTypes::RenderMillimeters
protected

Offset units.

Definition at line 895 of file qgssymbollayer.h.

◆ mScaleMethod

QgsSymbol::ScaleMethod QgsMarkerSymbolLayer::mScaleMethod = QgsSymbol::ScaleDiameter
protected

Marker size scaling method.

Definition at line 899 of file qgssymbollayer.h.

◆ mSize

double QgsMarkerSymbolLayer::mSize = 2.0
protected

Marker size.

Definition at line 887 of file qgssymbollayer.h.

◆ mSizeMapUnitScale

QgsMapUnitScale QgsMarkerSymbolLayer::mSizeMapUnitScale
protected

Marker size map unit scale.

Definition at line 891 of file qgssymbollayer.h.

◆ mSizeUnit

QgsUnitTypes::RenderUnit QgsMarkerSymbolLayer::mSizeUnit = QgsUnitTypes::RenderMillimeters
protected

Marker size unit.

Definition at line 889 of file qgssymbollayer.h.

◆ mVerticalAnchorPoint

VerticalAnchorPoint QgsMarkerSymbolLayer::mVerticalAnchorPoint = VCenter
protected

Vertical anchor point.

Definition at line 903 of file qgssymbollayer.h.


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