QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
QgsSimpleMarkerSymbolLayerBase Class Referenceabstract

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

#include <qgsmarkersymbollayer.h>

Inheritance diagram for QgsSimpleMarkerSymbolLayerBase:
Inheritance graph
[legend]

Public Types

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
}
 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...
 

Public Member Functions

 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...
 
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...
 
void renderPoint (QPointF point, QgsSymbolRenderContext &context) override
 Renders a marker at the specified point. 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 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...
 
- 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 QgsStringMap &props) const override
 
VerticalAnchorPoint verticalAnchorPoint () const
 Returns the vertical anchor point for positioning the symbol. More...
 
virtual void writeSldMarker (QDomDocument &doc, QDomElement &element, const QgsStringMap &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 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 QgsStringMap 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 writeDxf (QgsDxfExport &e, double mmMapUnitScaleFactor, const QString &layerName, QgsSymbolRenderContext &context, QPointF shift=QPointF(0.0, 0.0)) const
 write as DXF More...
 

Static Public Member Functions

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 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 QgsStringMap &stringMap)
 Restores older data defined properties from string map. More...
 

Protected Attributes

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
 

Additional Inherited Members

- Static Protected Member Functions inherited from QgsMarkerSymbolLayer
static QPointF _rotatedOffset (QPointF offset, double angle)
 Adjusts a marker offset to account for rotation. 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 simple marker symbol layers.

Handles creation of the symbol shapes but leaves the actual drawing of the symbols to subclasses.

Since
QGIS 2.16

Definition at line 43 of file qgsmarkersymbollayer.h.

Member Enumeration Documentation

◆ Shape

Marker symbol shapes.

Enumerator
Square 

Square.

Diamond 

Diamond.

Pentagon 

Pentagon.

Hexagon 

Hexagon.

Triangle 

Triangle.

EquilateralTriangle 

Equilateral triangle.

Star 

Star.

Arrow 

Arrow.

Circle 

Circle.

Cross 

Cross (lines only)

CrossFill 

Solid filled cross.

Cross2 

Rotated cross (lines only), "x" shape.

Line 

Vertical line.

ArrowHead 

Right facing arrow head (unfilled, lines only)

ArrowHeadFilled 

Right facing filled arrow head.

SemiCircle 

Semi circle (top half)

ThirdCircle 

One third circle (top left third)

QuarterCircle 

Quarter circle (top left quarter)

QuarterSquare 

Quarter square (top left quarter)

HalfSquare 

Half square (left half)

DiagonalHalfSquare 

Diagonal half square (bottom left half)

RightHalfTriangle 

Right half of triangle.

LeftHalfTriangle 

Left half of triangle.

Definition at line 48 of file qgsmarkersymbollayer.h.

Constructor & Destructor Documentation

◆ QgsSimpleMarkerSymbolLayerBase()

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.

Parameters
shapesymbol shape for markers
sizesymbol size (in mm)
anglesymbol rotation angle
scaleMethodscaling method for data defined scaling

Definition at line 89 of file qgsmarkersymbollayer.cpp.

Member Function Documentation

◆ availableShapes()

QList< QgsSimpleMarkerSymbolLayerBase::Shape > QgsSimpleMarkerSymbolLayerBase::availableShapes ( )
static

Returns a list of all available shape types.

Definition at line 60 of file qgsmarkersymbollayer.cpp.

◆ bounds()

QRectF QgsSimpleMarkerSymbolLayerBase::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

Implements QgsMarkerSymbolLayer.

Reimplemented in QgsSimpleMarkerSymbolLayer.

Definition at line 268 of file qgsmarkersymbollayer.cpp.

◆ calculateOffsetAndRotation()

void QgsSimpleMarkerSymbolLayerBase::calculateOffsetAndRotation ( QgsSymbolRenderContext context,
double  scaledSize,
bool &  hasDataDefinedRotation,
QPointF &  offset,
double &  angle 
) const
protected

Calculates the marker offset and rotation.

Parameters
contextsymbol render context
scaledSizesize of symbol to render
hasDataDefinedRotationwill be set to true if marker has data defined rotation
offsetwill be set to calculated marker offset (in painter units)
anglewill be set to calculated marker angle

Definition at line 656 of file qgsmarkersymbollayer.cpp.

◆ calculateSize()

double QgsSimpleMarkerSymbolLayerBase::calculateSize ( QgsSymbolRenderContext context,
bool &  hasDataDefinedSize 
) const
protected

Calculates the desired size of the marker, considering data defined size overrides.

Parameters
contextsymbol render context
hasDataDefinedSizewill be set to true if marker uses data defined sizes
Returns
marker size, in original size units

Definition at line 628 of file qgsmarkersymbollayer.cpp.

◆ decodeShape()

QgsSimpleMarkerSymbolLayerBase::Shape QgsSimpleMarkerSymbolLayerBase::decodeShape ( const QString &  name,
bool *  ok = nullptr 
)
static

Attempts to decode a string representation of a shape name to the corresponding shape.

Parameters
nameencoded shape name
okif specified, will be set to true if shape was successfully decoded
Returns
decoded name
See also
encodeShape()

Definition at line 294 of file qgsmarkersymbollayer.cpp.

◆ encodeShape()

QString QgsSimpleMarkerSymbolLayerBase::encodeShape ( QgsSimpleMarkerSymbolLayerBase::Shape  shape)
static

Encodes a shape to its string representation.

Parameters
shapeshape to encode
Returns
encoded string
See also
decodeShape()

Definition at line 352 of file qgsmarkersymbollayer.cpp.

◆ prepareMarkerPath()

bool QgsSimpleMarkerSymbolLayerBase::prepareMarkerPath ( QgsSimpleMarkerSymbolLayerBase::Shape  symbol)
protected

Prepares the layer for drawing the specified shape (QPainterPath version)

Definition at line 557 of file qgsmarkersymbollayer.cpp.

◆ prepareMarkerShape()

bool QgsSimpleMarkerSymbolLayerBase::prepareMarkerShape ( QgsSimpleMarkerSymbolLayerBase::Shape  shape)
protected

Prepares the layer for drawing the specified shape (QPolygonF version)

Definition at line 406 of file qgsmarkersymbollayer.cpp.

◆ renderPoint()

void QgsSimpleMarkerSymbolLayerBase::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

Implements QgsMarkerSymbolLayer.

Reimplemented in QgsSimpleMarkerSymbolLayer.

Definition at line 182 of file qgsmarkersymbollayer.cpp.

◆ setShape()

void QgsSimpleMarkerSymbolLayerBase::setShape ( QgsSimpleMarkerSymbolLayerBase::Shape  shape)
inline

Sets the rendered marker shape.

Parameters
shapenew marker shape
See also
shape()

Definition at line 108 of file qgsmarkersymbollayer.h.

◆ shape()

QgsSimpleMarkerSymbolLayerBase::Shape QgsSimpleMarkerSymbolLayerBase::shape ( ) const
inline

Returns the shape for the rendered marker symbol.

See also
setShape()

Definition at line 101 of file qgsmarkersymbollayer.h.

◆ shapeIsFilled()

bool QgsSimpleMarkerSymbolLayerBase::shapeIsFilled ( QgsSimpleMarkerSymbolLayerBase::Shape  shape)
static

Returns true if a symbol shape has a fill.

Parameters
shapeshape to test
Returns
true if shape uses a fill, or false if shape uses lines only

Definition at line 100 of file qgsmarkersymbollayer.cpp.

◆ shapeToPolygon()

bool QgsSimpleMarkerSymbolLayerBase::shapeToPolygon ( QgsSimpleMarkerSymbolLayerBase::Shape  shape,
QPolygonF &  polygon 
) const
protected

Creates a polygon representing the specified shape.

Parameters
shapeshape to create
polygondestination polygon for shape
Returns
true if shape was successfully stored in polygon

Definition at line 411 of file qgsmarkersymbollayer.cpp.

◆ startRender()

void QgsSimpleMarkerSymbolLayerBase::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 QgsFilledMarkerSymbolLayer, and QgsSimpleMarkerSymbolLayer.

Definition at line 134 of file qgsmarkersymbollayer.cpp.

◆ stopRender()

void QgsSimpleMarkerSymbolLayerBase::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 QgsFilledMarkerSymbolLayer.

Definition at line 177 of file qgsmarkersymbollayer.cpp.

Member Data Documentation

◆ mPath

QPainterPath QgsSimpleMarkerSymbolLayerBase::mPath
protected

Painter path representing shape. If mPolygon is empty then the shape is stored in mPath.

Definition at line 175 of file qgsmarkersymbollayer.h.

◆ mPolygon

QPolygonF QgsSimpleMarkerSymbolLayerBase::mPolygon
protected

Polygon of points in shape. If polygon is empty then shape is using mPath.

Definition at line 172 of file qgsmarkersymbollayer.h.

◆ mShape

Shape QgsSimpleMarkerSymbolLayerBase::mShape
protected

Symbol shape.

Definition at line 178 of file qgsmarkersymbollayer.h.


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