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

Simple marker symbol layer, consisting of a rendered shape with solid fill color and an stroke. More...

#include <qgsmarkersymbollayer.h>

Inheritance diagram for QgsSimpleMarkerSymbolLayer:
Inheritance graph
[legend]

Public Member Functions

 QgsSimpleMarkerSymbolLayer (QgsSimpleMarkerSymbolLayerBase::Shape shape=Circle, double size=DEFAULT_SIMPLEMARKER_SIZE, double angle=DEFAULT_SIMPLEMARKER_ANGLE, QgsSymbol::ScaleMethod scaleMethod=DEFAULT_SCALE_METHOD, const QColor &color=DEFAULT_SIMPLEMARKER_COLOR, const QColor &strokeColor=DEFAULT_SIMPLEMARKER_BORDERCOLOR, Qt::PenJoinStyle penJoinStyle=DEFAULT_SIMPLEMARKER_JOINSTYLE)
 Constructor for QgsSimpleMarkerSymbolLayer. More...
 
QRectF bounds (QPointF point, QgsSymbolRenderContext &context) override
 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...
 
QgsSimpleMarkerSymbolLayerclone () const override
 Shall be reimplemented by subclasses to create a deep copy of the instance. More...
 
QColor color () const override
 The fill color. More...
 
QColor fillColor () const override
 Gets fill color. More...
 
QString layerType () const override
 Returns a string that represents this layer type. More...
 
QgsMapUnitScale mapUnitScale () const override
 
QString ogrFeatureStyle (double mmScaleFactor, double mapUnitScaleFactor) const override
 
QgsUnitTypes::RenderUnit outputUnit () const override
 Returns the units to use for sizes and widths within the symbol layer. More...
 
Qt::PenJoinStyle penJoinStyle () const
 Returns the marker's stroke join style (e.g., miter, bevel, etc). More...
 
QVariantMap properties () const override
 Should be reimplemented by subclasses to return a string map that contains the configuration information for the symbol layer. More...
 
void renderPoint (QPointF point, QgsSymbolRenderContext &context) override
 Renders a marker at the specified point. More...
 
void setColor (const QColor &color) override
 The fill color. More...
 
void setFillColor (const QColor &color) override
 Set fill color. More...
 
void setMapUnitScale (const QgsMapUnitScale &scale) override
 
void setOutputUnit (QgsUnitTypes::RenderUnit unit) override
 Sets the units to use for sizes and widths within the symbol layer. More...
 
void setPenJoinStyle (Qt::PenJoinStyle style)
 Sets the marker's stroke join style (e.g., miter, bevel, etc). More...
 
void setStrokeColor (const QColor &color) override
 Sets the marker's stroke color. More...
 
void setStrokeStyle (Qt::PenStyle strokeStyle)
 Sets the marker's stroke style (e.g., solid, dashed, etc) More...
 
void setStrokeWidth (double w)
 Sets the width of the marker's stroke. More...
 
void setStrokeWidthMapUnitScale (const QgsMapUnitScale &scale)
 Sets the map scale for the width of the marker's stroke. More...
 
void setStrokeWidthUnit (QgsUnitTypes::RenderUnit u)
 Sets the unit for the width of the marker's stroke. More...
 
void startRender (QgsSymbolRenderContext &context) override
 Called before a set of rendering operations commences on the supplied render context. More...
 
QColor strokeColor () const override
 Returns the marker's stroke color. More...
 
Qt::PenStyle strokeStyle () const
 Returns the marker's stroke style (e.g., solid, dashed, etc) More...
 
double strokeWidth () const
 Returns the width of the marker's stroke. More...
 
const QgsMapUnitScalestrokeWidthMapUnitScale () const
 Returns the map scale for the width of the marker's stroke. More...
 
QgsUnitTypes::RenderUnit strokeWidthUnit () const
 Returns the unit for the width of the marker's stroke. More...
 
bool usesMapUnits () const override
 Returns true if the symbol layer has any components which use map unit based sizes. More...
 
bool writeDxf (QgsDxfExport &e, double mmMapUnitScaleFactor, const QString &layerName, QgsSymbolRenderContext &context, QPointF shift=QPointF(0.0, 0.0)) const override
 write as DXF More...
 
void writeSldMarker (QDomDocument &doc, QDomElement &element, const QVariantMap &props) const override
 Writes the symbol layer definition as a SLD XML element. More...
 
- Public Member Functions inherited from QgsSimpleMarkerSymbolLayerBase
 QgsSimpleMarkerSymbolLayerBase (QgsSimpleMarkerSymbolLayerBase::Shape shape=Circle, double size=DEFAULT_SIMPLEMARKER_SIZE, double angle=DEFAULT_SIMPLEMARKER_ANGLE, QgsSymbol::ScaleMethod scaleMethod=DEFAULT_SCALE_METHOD)
 Constructor for QgsSimpleMarkerSymbolLayerBase. More...
 
void setShape (QgsSimpleMarkerSymbolLayerBase::Shape shape)
 Sets the rendered marker shape. More...
 
QgsSimpleMarkerSymbolLayerBase::Shape shape () const
 Returns the shape for the rendered marker symbol. More...
 
void stopRender (QgsSymbolRenderContext &context) override
 Called after a set of rendering operations has finished on the supplied render context. More...
 
- Public Member Functions inherited from QgsMarkerSymbolLayer
 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...
 
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...
 
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...
 
- 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...
 
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 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 QgsSymbolLayerReferenceList masks () const
 Returns masks defined by this symbol layer. More...
 
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...
 
int renderingPass () const
 Specifies the rendering pass in which this symbol layer should be rendered. 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...
 
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 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 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...
 

Static Public Member Functions

static QgsSymbolLayercreate (const QVariantMap &properties=QVariantMap())
 Creates a new QgsSimpleMarkerSymbolLayer. More...
 
static QgsSymbolLayercreateFromSld (QDomElement &element)
 Creates a new QgsSimpleMarkerSymbolLayer from an SLD XML element. More...
 
- Static Public Member Functions inherited from QgsSimpleMarkerSymbolLayerBase
static QList< QgsSimpleMarkerSymbolLayerBase::ShapeavailableShapes ()
 Returns a list of all available shape types. More...
 
static QgsSimpleMarkerSymbolLayerBase::Shape decodeShape (const QString &name, bool *ok=nullptr)
 Attempts to decode a string representation of a shape name to the corresponding shape. More...
 
static QString encodeShape (QgsSimpleMarkerSymbolLayerBase::Shape shape)
 Encodes a shape to its string representation. More...
 
static bool shapeIsFilled (QgsSimpleMarkerSymbolLayerBase::Shape shape)
 Returns true if a symbol shape has a fill. More...
 
- Static Public Member Functions inherited from QgsSymbolLayer
static const QgsPropertiesDefinitionpropertyDefinitions ()
 Returns the symbol layer property definitions. More...
 

Protected Member Functions

void drawMarker (QPainter *p, QgsSymbolRenderContext &context)
 Draws the marker shape in the specified painter. More...
 
bool prepareCache (QgsSymbolRenderContext &context)
 Prepares cache image. More...
 
- Protected Member Functions inherited from QgsSimpleMarkerSymbolLayerBase
void calculateOffsetAndRotation (QgsSymbolRenderContext &context, double scaledSize, bool &hasDataDefinedRotation, QPointF &offset, double &angle) const
 Calculates the marker offset and rotation. More...
 
double calculateSize (QgsSymbolRenderContext &context, bool &hasDataDefinedSize) const
 Calculates the desired size of the marker, considering data defined size overrides. More...
 
bool prepareMarkerPath (Shape symbol)
 Prepares the layer for drawing the specified shape (QPainterPath version) More...
 
bool prepareMarkerShape (Shape shape)
 Prepares the layer for drawing the specified shape (QPolygonF version) More...
 
bool shapeToPolygon (Shape shape, QPolygonF &polygon) const
 Creates a polygon representing the specified shape. More...
 
- Protected Member Functions inherited from QgsMarkerSymbolLayer
 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...
 

Protected Attributes

QBrush mBrush
 QBrush corresponding to marker's fill style. More...
 
QImage mCache
 Cached image of marker, if using cached version. More...
 
QPen mPen
 QPen corresponding to marker's stroke style. More...
 
Qt::PenJoinStyle mPenJoinStyle
 Stroke pen join style. More...
 
QBrush mSelBrush
 QBrush to use as fill of selected symbols. More...
 
QImage mSelCache
 Cached image of selected marker, if using cached version. More...
 
QPen mSelPen
 QPen to use as stroke of selected symbols. More...
 
QColor mStrokeColor
 Stroke color. More...
 
Qt::PenStyle mStrokeStyle = Qt::SolidLine
 Stroke style. More...
 
double mStrokeWidth = 0
 Stroke width. More...
 
QgsMapUnitScale mStrokeWidthMapUnitScale
 Stroke width map unit scale. More...
 
QgsUnitTypes::RenderUnit mStrokeWidthUnit = QgsUnitTypes::RenderMillimeters
 Stroke width units. More...
 
bool mUsingCache = false
 true if using cached images of markers for drawing. More...
 
- Protected Attributes inherited from QgsSimpleMarkerSymbolLayerBase
QPainterPath mPath
 Painter path representing shape. If mPolygon is empty then the shape is stored in mPath. More...
 
QPolygonF mPolygon
 Polygon of points in shape. If polygon is empty then shape is using mPath. More...
 
Shape mShape
 Symbol shape. More...
 
- Protected Attributes inherited from QgsMarkerSymbolLayer
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
 

Static Protected Attributes

static const int MAXIMUM_CACHE_WIDTH = 3000
 Maximum width/height of cache image. 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...
 

Additional Inherited Members

- Public Types inherited from QgsSimpleMarkerSymbolLayerBase
enum  Shape {
  Square , Diamond , Pentagon , Hexagon ,
  Triangle , EquilateralTriangle , Star , Arrow ,
  Circle , Cross , CrossFill , Cross2 ,
  Line , ArrowHead , ArrowHeadFilled , SemiCircle ,
  ThirdCircle , QuarterCircle , QuarterSquare , HalfSquare ,
  DiagonalHalfSquare , RightHalfTriangle , LeftHalfTriangle , Octagon ,
  SquareWithCorners , AsteriskFill
}
 Marker symbol shapes. More...
 
- Public Types inherited from QgsMarkerSymbolLayer
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...
 
- Static Protected Member Functions inherited from QgsMarkerSymbolLayer
static QPointF _rotatedOffset (QPointF offset, double angle)
 Adjusts a marker offset to account for rotation. More...
 

Detailed Description

Simple marker symbol layer, consisting of a rendered shape with solid fill color and an stroke.

Definition at line 202 of file qgsmarkersymbollayer.h.

Constructor & Destructor Documentation

◆ QgsSimpleMarkerSymbolLayer()

QgsSimpleMarkerSymbolLayer::QgsSimpleMarkerSymbolLayer ( QgsSimpleMarkerSymbolLayerBase::Shape  shape = Circle,
double  size = DEFAULT_SIMPLEMARKER_SIZE,
double  angle = DEFAULT_SIMPLEMARKER_ANGLE,
QgsSymbol::ScaleMethod  scaleMethod = DEFAULT_SCALE_METHOD,
const QColor &  color = DEFAULT_SIMPLEMARKER_COLOR,
const QColor &  strokeColor = DEFAULT_SIMPLEMARKER_BORDERCOLOR,
Qt::PenJoinStyle  penJoinStyle = DEFAULT_SIMPLEMARKER_JOINSTYLE 
)

Constructor for QgsSimpleMarkerSymbolLayer.

Parameters
shapesymbol shape
sizesymbol size (in mm)
anglesymbol rotation angle
scaleMethodscaling method for data defined scaling
colorfill color for symbol
strokeColorstroke color for symbol
penJoinStylejoin style for stroke pen

Definition at line 799 of file qgsmarkersymbollayer.cpp.

Member Function Documentation

◆ bounds()

QRectF QgsSimpleMarkerSymbolLayer::bounds ( QPointF  point,
QgsSymbolRenderContext context 
)
overridevirtual

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

Reimplemented from QgsSimpleMarkerSymbolLayerBase.

Definition at line 1591 of file qgsmarkersymbollayer.cpp.

◆ clone()

QgsSimpleMarkerSymbolLayer * QgsSimpleMarkerSymbolLayer::clone ( ) const
overridevirtual

Shall be reimplemented by subclasses to create a deep copy of the instance.

Implements QgsSymbolLayer.

Definition at line 1191 of file qgsmarkersymbollayer.cpp.

◆ color()

QColor QgsSimpleMarkerSymbolLayer::color ( ) const
overridevirtual

The fill color.

Reimplemented from QgsSymbolLayer.

Definition at line 1642 of file qgsmarkersymbollayer.cpp.

◆ create()

QgsSymbolLayer * QgsSimpleMarkerSymbolLayer::create ( const QVariantMap &  properties = QVariantMap())
static

Creates a new QgsSimpleMarkerSymbolLayer.

Parameters
propertiesa property map containing symbol properties (see properties())
Returns
new QgsSimpleMarkerSymbolLayer

Definition at line 807 of file qgsmarkersymbollayer.cpp.

◆ createFromSld()

QgsSymbolLayer * QgsSimpleMarkerSymbolLayer::createFromSld ( QDomElement &  element)
static

Creates a new QgsSimpleMarkerSymbolLayer from an SLD XML element.

Parameters
elementXML element containing SLD definition of symbol
Returns
new QgsSimpleMarkerSymbolLayer

Definition at line 1301 of file qgsmarkersymbollayer.cpp.

◆ drawMarker()

void QgsSimpleMarkerSymbolLayer::drawMarker ( QPainter *  p,
QgsSymbolRenderContext context 
)
protected

Draws the marker shape in the specified painter.

Parameters
pdestination QPainter
contextsymbol context
Note
this method does not handle setting the painter pen or brush to match the symbol's fill or stroke

Definition at line 1348 of file qgsmarkersymbollayer.cpp.

◆ fillColor()

QColor QgsSimpleMarkerSymbolLayer::fillColor ( ) const
inlineoverridevirtual

Gets fill color.

Supported by marker and fill layers.

Since
QGIS 2.1

Reimplemented from QgsSymbolLayer.

Definition at line 256 of file qgsmarkersymbollayer.h.

◆ layerType()

QString QgsSimpleMarkerSymbolLayer::layerType ( ) const
overridevirtual

Returns a string that represents this layer type.

Used for serialization. Should match with the string used to register this symbol layer in the registry.

Implements QgsSymbolLayer.

Definition at line 903 of file qgsmarkersymbollayer.cpp.

◆ mapUnitScale()

QgsMapUnitScale QgsSimpleMarkerSymbolLayer::mapUnitScale ( ) const
overridevirtual

Reimplemented from QgsSymbolLayer.

Definition at line 1575 of file qgsmarkersymbollayer.cpp.

◆ ogrFeatureStyle()

QString QgsSimpleMarkerSymbolLayer::ogrFeatureStyle ( double  mmScaleFactor,
double  mapUnitScaleFactor 
) const
overridevirtual

Reimplemented from QgsSymbolLayer.

Definition at line 1239 of file qgsmarkersymbollayer.cpp.

◆ outputUnit()

QgsUnitTypes::RenderUnit QgsSimpleMarkerSymbolLayer::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.

Definition at line 1560 of file qgsmarkersymbollayer.cpp.

◆ penJoinStyle()

Qt::PenJoinStyle QgsSimpleMarkerSymbolLayer::penJoinStyle ( ) const
inline

Returns the marker's stroke join style (e.g., miter, bevel, etc).

See also
setPenJoinStyle()
strokeColor()
strokeStyle()
Since
QGIS 2.16

Definition at line 306 of file qgsmarkersymbollayer.h.

◆ prepareCache()

bool QgsSimpleMarkerSymbolLayer::prepareCache ( QgsSymbolRenderContext context)
protected

Prepares cache image.

Returns
true in case of success, false if cache image size too large

Definition at line 973 of file qgsmarkersymbollayer.cpp.

◆ properties()

QVariantMap QgsSimpleMarkerSymbolLayer::properties ( ) const
overridevirtual

Should be reimplemented by subclasses to return a string map that contains the configuration information for the symbol layer.

This is used to serialize a symbol layer perstistently.

Implements QgsSymbolLayer.

Definition at line 1167 of file qgsmarkersymbollayer.cpp.

◆ renderPoint()

void QgsSimpleMarkerSymbolLayer::renderPoint ( QPointF  point,
QgsSymbolRenderContext context 
)
overridevirtual

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

Reimplemented from QgsSimpleMarkerSymbolLayerBase.

Definition at line 1133 of file qgsmarkersymbollayer.cpp.

◆ setColor()

void QgsSimpleMarkerSymbolLayer::setColor ( const QColor &  color)
overridevirtual

The fill color.

Reimplemented from QgsSymbolLayer.

Definition at line 1630 of file qgsmarkersymbollayer.cpp.

◆ setFillColor()

void QgsSimpleMarkerSymbolLayer::setFillColor ( const QColor &  color)
inlineoverridevirtual

Set fill color.

Supported by marker and fill layers.

Since
QGIS 2.1

Reimplemented from QgsSymbolLayer.

Definition at line 257 of file qgsmarkersymbollayer.h.

◆ setMapUnitScale()

void QgsSimpleMarkerSymbolLayer::setMapUnitScale ( const QgsMapUnitScale scale)
overridevirtual

Reimplemented from QgsSymbolLayer.

Definition at line 1569 of file qgsmarkersymbollayer.cpp.

◆ setOutputUnit()

void QgsSimpleMarkerSymbolLayer::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.

Definition at line 1554 of file qgsmarkersymbollayer.cpp.

◆ setPenJoinStyle()

void QgsSimpleMarkerSymbolLayer::setPenJoinStyle ( Qt::PenJoinStyle  style)
inline

Sets the marker's stroke join style (e.g., miter, bevel, etc).

Parameters
stylejoin style
See also
penJoinStyle()
setStrokeColor()
setStrokeStyle()
Since
QGIS 2.16

Definition at line 316 of file qgsmarkersymbollayer.h.

◆ setStrokeColor()

void QgsSimpleMarkerSymbolLayer::setStrokeColor ( const QColor &  color)
inlineoverridevirtual

Sets the marker's stroke color.

Parameters
colorstroke color
See also
strokeColor()
setStrokeStyle()
setPenJoinStyle()

Reimplemented from QgsSymbolLayer.

Definition at line 278 of file qgsmarkersymbollayer.h.

◆ setStrokeStyle()

void QgsSimpleMarkerSymbolLayer::setStrokeStyle ( Qt::PenStyle  strokeStyle)
inline

Sets the marker's stroke style (e.g., solid, dashed, etc)

Parameters
strokeStylestyle
See also
strokeStyle()
setStrokeColor()
setPenJoinStyle()
Since
QGIS 2.4

Definition at line 297 of file qgsmarkersymbollayer.h.

◆ setStrokeWidth()

void QgsSimpleMarkerSymbolLayer::setStrokeWidth ( double  w)
inline

Sets the width of the marker's stroke.

Parameters
wstroke width. See strokeWidthUnit() for units.
See also
strokeWidth()
setStrokeWidthUnit()
setStrokeWidthMapUnitScale()

Definition at line 333 of file qgsmarkersymbollayer.h.

◆ setStrokeWidthMapUnitScale()

void QgsSimpleMarkerSymbolLayer::setStrokeWidthMapUnitScale ( const QgsMapUnitScale scale)
inline

Sets the map scale for the width of the marker's stroke.

Parameters
scalestroke width map unit scale
See also
strokeWidthMapUnitScale()
setStrokeWidth()
setStrokeWidthUnit()

Definition at line 359 of file qgsmarkersymbollayer.h.

◆ setStrokeWidthUnit()

void QgsSimpleMarkerSymbolLayer::setStrokeWidthUnit ( QgsUnitTypes::RenderUnit  u)
inline

Sets the unit for the width of the marker's stroke.

Parameters
ustroke width unit
See also
strokeWidthUnit()
setStrokeWidth()
setStrokeWidthMapUnitScale()

Definition at line 342 of file qgsmarkersymbollayer.h.

◆ startRender()

void QgsSimpleMarkerSymbolLayer::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()

Reimplemented from QgsSimpleMarkerSymbolLayerBase.

Definition at line 908 of file qgsmarkersymbollayer.cpp.

◆ strokeColor()

QColor QgsSimpleMarkerSymbolLayer::strokeColor ( ) const
inlineoverridevirtual

Returns the marker's stroke color.

See also
setStrokeColor()
strokeStyle()
penJoinStyle()

Reimplemented from QgsSymbolLayer.

Definition at line 269 of file qgsmarkersymbollayer.h.

◆ strokeStyle()

Qt::PenStyle QgsSimpleMarkerSymbolLayer::strokeStyle ( ) const
inline

Returns the marker's stroke style (e.g., solid, dashed, etc)

See also
setStrokeStyle()
strokeColor()
penJoinStyle()
Since
QGIS 2.4

Definition at line 287 of file qgsmarkersymbollayer.h.

◆ strokeWidth()

double QgsSimpleMarkerSymbolLayer::strokeWidth ( ) const
inline

Returns the width of the marker's stroke.

See also
setStrokeWidth()
strokeWidthUnit()
strokeWidthMapUnitScale()

Definition at line 324 of file qgsmarkersymbollayer.h.

◆ strokeWidthMapUnitScale()

const QgsMapUnitScale& QgsSimpleMarkerSymbolLayer::strokeWidthMapUnitScale ( ) const
inline

Returns the map scale for the width of the marker's stroke.

See also
setStrokeWidthMapUnitScale()
strokeWidth()
strokeWidthUnit()

Definition at line 367 of file qgsmarkersymbollayer.h.

◆ strokeWidthUnit()

QgsUnitTypes::RenderUnit QgsSimpleMarkerSymbolLayer::strokeWidthUnit ( ) const
inline

Returns the unit for the width of the marker's stroke.

See also
setStrokeWidthUnit()
strokeWidth()
strokeWidthMapUnitScale()

Definition at line 350 of file qgsmarkersymbollayer.h.

◆ usesMapUnits()

bool QgsSimpleMarkerSymbolLayer::usesMapUnits ( ) const
overridevirtual

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

Since
QGIS 3.18

Reimplemented from QgsSymbolLayer.

Definition at line 1584 of file qgsmarkersymbollayer.cpp.

◆ writeDxf()

bool QgsSimpleMarkerSymbolLayer::writeDxf ( QgsDxfExport e,
double  mmMapUnitScaleFactor,
const QString &  layerName,
QgsSymbolRenderContext context,
QPointF  shift = QPointF( 0.0, 0.0 ) 
) const
overridevirtual

write as DXF

Reimplemented from QgsSymbolLayer.

Definition at line 1362 of file qgsmarkersymbollayer.cpp.

◆ writeSldMarker()

void QgsSimpleMarkerSymbolLayer::writeSldMarker ( QDomDocument &  doc,
QDomElement &  element,
const QVariantMap &  props 
) const
overridevirtual

Writes the symbol layer definition as a SLD XML element.

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

Reimplemented from QgsMarkerSymbolLayer.

Definition at line 1210 of file qgsmarkersymbollayer.cpp.

Member Data Documentation

◆ MAXIMUM_CACHE_WIDTH

const int QgsSimpleMarkerSymbolLayer::MAXIMUM_CACHE_WIDTH = 3000
staticprotected

Maximum width/height of cache image.

Definition at line 418 of file qgsmarkersymbollayer.h.

◆ mBrush

QBrush QgsSimpleMarkerSymbolLayer::mBrush
protected

QBrush corresponding to marker's fill style.

Definition at line 400 of file qgsmarkersymbollayer.h.

◆ mCache

QImage QgsSimpleMarkerSymbolLayer::mCache
protected

Cached image of marker, if using cached version.

Definition at line 403 of file qgsmarkersymbollayer.h.

◆ mPen

QPen QgsSimpleMarkerSymbolLayer::mPen
protected

QPen corresponding to marker's stroke style.

Definition at line 398 of file qgsmarkersymbollayer.h.

◆ mPenJoinStyle

Qt::PenJoinStyle QgsSimpleMarkerSymbolLayer::mPenJoinStyle
protected

Stroke pen join style.

Definition at line 396 of file qgsmarkersymbollayer.h.

◆ mSelBrush

QBrush QgsSimpleMarkerSymbolLayer::mSelBrush
protected

QBrush to use as fill of selected symbols.

Definition at line 407 of file qgsmarkersymbollayer.h.

◆ mSelCache

QImage QgsSimpleMarkerSymbolLayer::mSelCache
protected

Cached image of selected marker, if using cached version.

Definition at line 409 of file qgsmarkersymbollayer.h.

◆ mSelPen

QPen QgsSimpleMarkerSymbolLayer::mSelPen
protected

QPen to use as stroke of selected symbols.

Definition at line 405 of file qgsmarkersymbollayer.h.

◆ mStrokeColor

QColor QgsSimpleMarkerSymbolLayer::mStrokeColor
protected

Stroke color.

Definition at line 386 of file qgsmarkersymbollayer.h.

◆ mStrokeStyle

Qt::PenStyle QgsSimpleMarkerSymbolLayer::mStrokeStyle = Qt::SolidLine
protected

Stroke style.

Definition at line 388 of file qgsmarkersymbollayer.h.

◆ mStrokeWidth

double QgsSimpleMarkerSymbolLayer::mStrokeWidth = 0
protected

Stroke width.

Definition at line 390 of file qgsmarkersymbollayer.h.

◆ mStrokeWidthMapUnitScale

QgsMapUnitScale QgsSimpleMarkerSymbolLayer::mStrokeWidthMapUnitScale
protected

Stroke width map unit scale.

Definition at line 394 of file qgsmarkersymbollayer.h.

◆ mStrokeWidthUnit

QgsUnitTypes::RenderUnit QgsSimpleMarkerSymbolLayer::mStrokeWidthUnit = QgsUnitTypes::RenderMillimeters
protected

Stroke width units.

Definition at line 392 of file qgsmarkersymbollayer.h.

◆ mUsingCache

bool QgsSimpleMarkerSymbolLayer::mUsingCache = false
protected

true if using cached images of markers for drawing.

This is faster, but cannot be used when data defined properties are present

Definition at line 415 of file qgsmarkersymbollayer.h.


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