QGIS API Documentation 3.41.0-Master (af5edcb665c)
Loading...
Searching...
No Matches
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 class  Property : int {
  Size = 0 , Angle , Name , FillColor ,
  StrokeColor , StrokeWidth , StrokeStyle , Offset ,
  Character , Width , Height , PreserveAspectRatio ,
  FillStyle , JoinStyle , SecondaryColor , LineAngle ,
  LineDistance , GradientType , CoordinateMode , GradientSpread ,
  GradientReference1X , GradientReference1Y , GradientReference2X , GradientReference2Y ,
  GradientReference1IsCentroid , GradientReference2IsCentroid , BlurRadius , ShapeburstUseWholeShape ,
  ShapeburstMaxDistance , ShapeburstIgnoreRings , File , DistanceX ,
  DistanceY , DisplacementX , DisplacementY , Opacity ,
  CustomDash , CapStyle , Placement , Interval ,
  OffsetAlongLine , AverageAngleLength , HorizontalAnchor , VerticalAnchor ,
  LayerEnabled , ArrowWidth , ArrowStartWidth , ArrowHeadLength ,
  ArrowHeadThickness , ArrowHeadType , ArrowType , OffsetX ,
  OffsetY , PointCount , RandomSeed , ClipPoints ,
  DensityArea , FontFamily , FontStyle , DashPatternOffset ,
  TrimStart , TrimEnd , LineStartWidthValue , LineEndWidthValue ,
  LineStartColorValue , LineEndColorValue , MarkerClipping , RandomOffsetX ,
  RandomOffsetY , LineClipping , SkipMultiples , ShowMarker
}
 Data definable properties. More...
 

Public Member Functions

double angle () const
 Returns the rotation angle for the marker, in degrees clockwise from north.
 
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.
 
void drawPreviewIcon (QgsSymbolRenderContext &context, QSize size) override
 
virtual double dxfAngle (QgsSymbolRenderContext &context) const override
 Gets angle.
 
virtual double dxfSize (const QgsDxfExport &e, QgsSymbolRenderContext &context) const override
 Gets marker size.
 
HorizontalAnchorPoint horizontalAnchorPoint () const
 Returns the horizontal anchor point for positioning the symbol.
 
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.
 
const QgsMapUnitScaleoffsetMapUnitScale () const
 Returns the map unit scale for the symbol's offset.
 
Qgis::RenderUnit offsetUnit () const
 Returns the units for the symbol's offset.
 
QgsMarkerSymbolLayeroperator= (const QgsMarkerSymbolLayer &other)=delete
 
Qgis::RenderUnit outputUnit () const override
 Returns the units to use for sizes and widths within the symbol layer.
 
virtual void renderPoint (QPointF point, QgsSymbolRenderContext &context)=0
 Renders a marker at the specified point.
 
Qgis::ScaleMethod scaleMethod () const
 Returns the method to use for scaling the marker's size.
 
void setAngle (double angle)
 Sets the rotation angle for the marker.
 
void setHorizontalAnchorPoint (HorizontalAnchorPoint h)
 Sets the horizontal anchor point for positioning the symbol.
 
void setLineAngle (double lineAngle)
 Sets the line angle modification for the symbol's angle.
 
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.
 
void setOffsetMapUnitScale (const QgsMapUnitScale &scale)
 Sets the map unit scale for the symbol's offset.
 
void setOffsetUnit (Qgis::RenderUnit unit)
 Sets the units for the symbol's offset.
 
void setOutputUnit (Qgis::RenderUnit unit) override
 Sets the units to use for sizes and widths within the symbol layer.
 
void setScaleMethod (Qgis::ScaleMethod scaleMethod)
 Sets the method to use for scaling the marker's size.
 
virtual void setSize (double size)
 Sets the symbol size.
 
void setSizeMapUnitScale (const QgsMapUnitScale &scale)
 Sets the map unit scale for the symbol's size.
 
void setSizeUnit (Qgis::RenderUnit unit)
 Sets the units for the symbol's size.
 
void setVerticalAnchorPoint (VerticalAnchorPoint v)
 Sets the vertical anchor point for positioning the symbol.
 
double size () const
 Returns the symbol size.
 
const QgsMapUnitScalesizeMapUnitScale () const
 Returns the map unit scale for the symbol's size.
 
Qgis::RenderUnit sizeUnit () const
 Returns the units for the symbol's size.
 
void startRender (QgsSymbolRenderContext &context) override
 Called before a set of rendering operations commences on the supplied render context.
 
void stopRender (QgsSymbolRenderContext &context) override
 Called after a set of rendering operations has finished on the supplied render context.
 
void toSld (QDomDocument &doc, QDomElement &element, const QVariantMap &props) const override
 Saves the symbol layer as SLD.
 
VerticalAnchorPoint verticalAnchorPoint () const
 Returns the vertical anchor point for positioning the symbol.
 
virtual void writeSldMarker (QDomDocument &doc, QDomElement &element, const QVariantMap &props) const
 Writes the symbol layer definition as a SLD XML element.
 
- Public Member Functions inherited from QgsSymbolLayer
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.
 
virtual QgsSymbolLayerclone () const =0
 Shall be reimplemented by subclasses to create a deep copy of the instance.
 
virtual QColor color () const
 Returns the "representative" color of the symbol layer.
 
QgsPropertyCollectiondataDefinedProperties ()
 Returns a reference to the symbol layer's property collection, used for data defined overrides.
 
const QgsPropertyCollectiondataDefinedProperties () const
 Returns a reference to the symbol layer's property collection, used for data defined overrides.
 
virtual QColor dxfBrushColor (QgsSymbolRenderContext &context) const
 Gets brush/fill color.
 
virtual Qt::BrushStyle dxfBrushStyle () const
 Gets brush/fill style.
 
virtual QColor dxfColor (QgsSymbolRenderContext &context) const
 Gets color.
 
virtual QVector< qreal > dxfCustomDashPattern (Qgis::RenderUnit &unit) const
 Gets dash pattern.
 
virtual double dxfOffset (const QgsDxfExport &e, QgsSymbolRenderContext &context) const
 Gets offset.
 
virtual Qt::PenStyle dxfPenStyle () const
 Gets pen style.
 
virtual double dxfWidth (const QgsDxfExport &e, QgsSymbolRenderContext &context) const
 Gets line width.
 
bool enabled () const
 Returns true if symbol layer is enabled and will be drawn.
 
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.
 
virtual QColor fillColor () const
 Returns the fill color for the symbol layer.
 
virtual Qgis::SymbolLayerFlags flags () const
 Returns flags which control the symbol layer's behavior.
 
virtual bool hasDataDefinedProperties () const
 Returns true if the symbol layer (or any of its sub-symbols) contains data defined properties.
 
QString id () const
 Returns symbol layer identifier This id is unique in the whole project.
 
bool installMasks (QgsRenderContext &context, bool recursive, const QRectF &rect=QRectF())
 When rendering, install masks on context painter.
 
virtual bool isCompatibleWithSymbol (QgsSymbol *symbol) const
 Returns if the layer can be used below the specified symbol.
 
bool isLocked () const
 Returns true if the symbol layer colors are locked and the layer will ignore any symbol-level color changes.
 
virtual QString layerType () const =0
 Returns a string that represents this layer type.
 
virtual QList< QgsSymbolLayerReferencemasks () const
 Returns masks defined by this symbol layer.
 
virtual QString ogrFeatureStyle (double mmScaleFactor, double mapUnitScaleFactor) const
 
QgsSymbolLayeroperator= (const QgsSymbolLayer &other)=delete
 
QgsPaintEffectpaintEffect () const
 Returns the current paint effect for the layer.
 
virtual void prepareExpressions (const QgsSymbolRenderContext &context)
 Prepares all data defined property expressions for evaluation.
 
virtual void prepareMasks (const QgsSymbolRenderContext &context)
 Prepares all mask internal objects according to what is defined in context This should be called prior to calling startRender() method.
 
virtual QVariantMap properties () const =0
 Should be reimplemented by subclasses to return a string map that contains the configuration information for the symbol layer.
 
int renderingPass () const
 Specifies the rendering pass in which this symbol layer should be rendered.
 
virtual void setColor (const QColor &color)
 Sets the "representative" color for the symbol layer.
 
void setDataDefinedProperties (const QgsPropertyCollection &collection)
 Sets the symbol layer's property collection, used for data defined overrides.
 
virtual void setDataDefinedProperty (Property key, const QgsProperty &property)
 Sets a data defined property for the layer.
 
void setEnabled (bool enabled)
 Sets whether symbol layer is enabled and should be drawn.
 
virtual void setFillColor (const QColor &color)
 Sets the fill color for the symbol layer.
 
void setId (const QString &id)
 Set symbol layer identifier This id has to be unique in the whole project.
 
void setLocked (bool locked)
 Sets whether the layer's colors are locked.
 
void setPaintEffect (QgsPaintEffect *effect)
 Sets the current paint effect for the layer.
 
void setRenderingPass (int renderingPass)
 Specifies the rendering pass in which this symbol layer should be rendered.
 
virtual void setStrokeColor (const QColor &color)
 Sets the stroke color for the symbol layer.
 
virtual bool setSubSymbol (QgsSymbol *symbol)
 Sets layer's subsymbol. takes ownership of the passed symbol.
 
void setUserFlags (Qgis::SymbolLayerUserFlags flags)
 Sets user-controlled flags which control the symbol layer's behavior.
 
virtual void startFeatureRender (const QgsFeature &feature, QgsRenderContext &context)
 Called before the layer will be rendered for a particular feature.
 
virtual void stopFeatureRender (const QgsFeature &feature, QgsRenderContext &context)
 Called after the layer has been rendered for a particular feature.
 
virtual QColor strokeColor () const
 Returns the stroke color for the symbol layer.
 
virtual QgsSymbolsubSymbol ()
 Returns the symbol's sub symbol, if present.
 
Qgis::SymbolType type () const
 
virtual QSet< QString > usedAttributes (const QgsRenderContext &context) const
 Returns the set of attributes referenced by the layer.
 
Qgis::SymbolLayerUserFlags userFlags () const
 Returns user-controlled flags which control the symbol layer's behavior.
 
virtual bool usesMapUnits () const
 Returns true if the symbol layer has any components which use map unit based sizes.
 
virtual bool writeDxf (QgsDxfExport &e, double mmMapUnitScaleFactor, const QString &layerName, QgsSymbolRenderContext &context, QPointF shift=QPointF(0.0, 0.0)) const
 write as DXF
 

Protected Member Functions

 QgsMarkerSymbolLayer (bool locked=false)
 Constructor for QgsMarkerSymbolLayer.
 
 QgsMarkerSymbolLayer (const QgsMarkerSymbolLayer &other)
 
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.
 
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.
 
void markerOffset (QgsSymbolRenderContext &context, double width, double height, Qgis::RenderUnit widthUnit, Qgis::RenderUnit heightUnit, double &offsetX, double &offsetY, const QgsMapUnitScale &widthMapUnitScale, const QgsMapUnitScale &heightMapUnitScale) const
 
- Protected Member Functions inherited from QgsSymbolLayer
 QgsSymbolLayer (const QgsSymbolLayer &other)
 
 QgsSymbolLayer (Qgis::SymbolType type, bool locked=false)
 Constructor for QgsSymbolLayer.
 
void copyDataDefinedProperties (QgsSymbolLayer *destLayer) const
 Copies all data defined properties of this layer to another symbol layer.
 
void copyPaintEffect (QgsSymbolLayer *destLayer) const
 Copies paint effect of this layer to another symbol layer.
 
void removeMasks (QgsRenderContext &context, bool recursive)
 When rendering, remove previously installed masks from context painter if recursive is true masks are removed recursively for all children symbol layers.
 
void restoreOldDataDefinedProperties (const QVariantMap &stringMap)
 Restores older data defined properties from string map.
 
bool shouldRenderUsingSelectionColor (const QgsSymbolRenderContext &context) const
 Returns true if the symbol layer should be rendered using the selection color from the render context.
 

Static Protected Member Functions

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

Protected Attributes

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

Additional Inherited Members

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

Detailed Description

Abstract base class for marker symbol layers.

Definition at line 764 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 769 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 777 of file qgssymbollayer.h.

Constructor & Destructor Documentation

◆ QgsMarkerSymbolLayer() [1/2]

QgsMarkerSymbolLayer::QgsMarkerSymbolLayer ( const QgsMarkerSymbolLayer other)
protected

Definition at line 552 of file qgssymbollayer.cpp.

◆ QgsMarkerSymbolLayer() [2/2]

QgsMarkerSymbolLayer::QgsMarkerSymbolLayer ( bool  locked = false)
protected

Constructor for QgsMarkerSymbolLayer.

Parameters
lockedset to true to lock symbol color

Definition at line 526 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 693 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 812 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

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

◆ drawPreviewIcon()

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

Implements QgsSymbolLayer.

Reimplemented in QgsMaskMarkerSymbolLayer, and QgsVectorFieldSymbolLayer.

Definition at line 579 of file qgssymbollayer.cpp.

◆ dxfAngle()

double QgsMarkerSymbolLayer::dxfAngle ( QgsSymbolRenderContext context) const
overridevirtual

Gets angle.

Reimplemented from QgsSymbolLayer.

Definition at line 979 of file qgssymbollayer.cpp.

◆ dxfSize()

double QgsMarkerSymbolLayer::dxfSize ( const QgsDxfExport e,
QgsSymbolRenderContext context 
) const
overridevirtual

Gets marker size.

Reimplemented from QgsSymbolLayer.

Definition at line 956 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 956 of file qgssymbollayer.h.

◆ mapUnitScale()

QgsMapUnitScale QgsMarkerSymbolLayer::mapUnitScale ( ) const
overridevirtual

◆ 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 599 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 604 of file qgssymbollayer.cpp.

◆ markerOffset() [3/3]

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

Definition at line 609 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 905 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 939 of file qgssymbollayer.h.

◆ offsetUnit()

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

Returns the units for the symbol's offset.

See also
setOffsetUnit()
offset()
offsetMapUnitScale()

Definition at line 922 of file qgssymbollayer.h.

◆ operator=()

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

◆ outputUnit()

Qgis::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 QgsSimpleMarkerSymbolLayer, QgsSvgMarkerSymbolLayer, and QgsVectorFieldSymbolLayer.

Definition at line 738 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 QgsEllipseSymbolLayer, QgsSimpleMarkerSymbolLayerBase, QgsSimpleMarkerSymbolLayer, QgsSvgMarkerSymbolLayer, QgsRasterMarkerSymbolLayer, QgsFontMarkerSymbolLayer, QgsMaskMarkerSymbolLayer, and QgsVectorFieldSymbolLayer.

◆ scaleMethod()

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

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

See also
setScaleMethod()

Definition at line 886 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 806 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 948 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()

Definition at line 822 of file qgssymbollayer.h.

◆ setMapUnitScale()

void QgsMarkerSymbolLayer::setMapUnitScale ( const QgsMapUnitScale scale)
overridevirtual

◆ 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 896 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 931 of file qgssymbollayer.h.

◆ setOffsetUnit()

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

Sets the units for the symbol's offset.

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

Definition at line 914 of file qgssymbollayer.h.

◆ setOutputUnit()

void QgsMarkerSymbolLayer::setOutputUnit ( Qgis::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 QgsSimpleMarkerSymbolLayer, QgsSvgMarkerSymbolLayer, QgsMaskMarkerSymbolLayer, and QgsVectorFieldSymbolLayer.

Definition at line 732 of file qgssymbollayer.cpp.

◆ setScaleMethod()

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

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

Parameters
scaleMethodscale method
See also
scaleMethod()

Definition at line 880 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 831 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 865 of file qgssymbollayer.h.

◆ setSizeUnit()

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

Sets the units for the symbol's size.

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

Definition at line 848 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 965 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 839 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 873 of file qgssymbollayer.h.

◆ sizeUnit()

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

Returns the units for the symbol's size.

See also
setSizeUnit()
size()
sizeMapUnitScale()

Definition at line 856 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 QgsSimpleMarkerSymbolLayerBase, QgsSimpleMarkerSymbolLayer, QgsSvgMarkerSymbolLayer, QgsMaskMarkerSymbolLayer, and QgsVectorFieldSymbolLayer.

Definition at line 569 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 QgsSimpleMarkerSymbolLayerBase, QgsSvgMarkerSymbolLayer, QgsMaskMarkerSymbolLayer, and QgsVectorFieldSymbolLayer.

Definition at line 574 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 938 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 973 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 QgsEllipseSymbolLayer, QgsSimpleMarkerSymbolLayer, QgsSvgMarkerSymbolLayer, and QgsFontMarkerSymbolLayer.

Definition at line 983 of file qgssymbollayer.h.

Member Data Documentation

◆ mAngle

double QgsMarkerSymbolLayer::mAngle = 0
protected

Marker rotation angle, in degrees clockwise from north.

Definition at line 1046 of file qgssymbollayer.h.

◆ mHorizontalAnchorPoint

HorizontalAnchorPoint QgsMarkerSymbolLayer::mHorizontalAnchorPoint = HCenter
protected

Horizontal anchor point.

Definition at line 1064 of file qgssymbollayer.h.

◆ mLineAngle

double QgsMarkerSymbolLayer::mLineAngle = 0
protected

Line rotation angle (see setLineAngle() for details)

Definition at line 1048 of file qgssymbollayer.h.

◆ mOffset

QPointF QgsMarkerSymbolLayer::mOffset
protected

Marker offset.

Definition at line 1056 of file qgssymbollayer.h.

◆ mOffsetMapUnitScale

QgsMapUnitScale QgsMarkerSymbolLayer::mOffsetMapUnitScale
protected

Offset map unit scale.

Definition at line 1060 of file qgssymbollayer.h.

◆ mOffsetUnit

Qgis::RenderUnit QgsMarkerSymbolLayer::mOffsetUnit = Qgis::RenderUnit::Millimeters
protected

Offset units.

Definition at line 1058 of file qgssymbollayer.h.

◆ mScaleMethod

Qgis::ScaleMethod QgsMarkerSymbolLayer::mScaleMethod = Qgis::ScaleMethod::ScaleDiameter
protected

Marker size scaling method.

Definition at line 1062 of file qgssymbollayer.h.

◆ mSize

double QgsMarkerSymbolLayer::mSize = 2.0
protected

Marker size.

Definition at line 1050 of file qgssymbollayer.h.

◆ mSizeMapUnitScale

QgsMapUnitScale QgsMarkerSymbolLayer::mSizeMapUnitScale
protected

Marker size map unit scale.

Definition at line 1054 of file qgssymbollayer.h.

◆ mSizeUnit

Qgis::RenderUnit QgsMarkerSymbolLayer::mSizeUnit = Qgis::RenderUnit::Millimeters
protected

Marker size unit.

Definition at line 1052 of file qgssymbollayer.h.

◆ mVerticalAnchorPoint

VerticalAnchorPoint QgsMarkerSymbolLayer::mVerticalAnchorPoint = VCenter
protected

Vertical anchor point.

Definition at line 1066 of file qgssymbollayer.h.


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