QGIS API Documentation  3.26.3-Buenos Aires (65e4edfdad)
qgssymbollayer.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgssymbollayer.h
3  ---------------------
4  begin : November 2009
5  copyright : (C) 2009 by Martin Dobias
6  email : wonder dot sk at gmail dot com
7  ***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 #ifndef QGSSYMBOLLAYER_H
16 #define QGSSYMBOLLAYER_H
17 
18 #define DEG2RAD(x) ((x)*M_PI/180)
19 #define DEFAULT_SCALE_METHOD Qgis::ScaleMethod::ScaleDiameter
20 
21 #include "qgis_core.h"
22 #include "qgis.h"
23 #include "qgsfields.h"
24 #include "qgspropertycollection.h"
25 #include "qgssymbolrendercontext.h"
26 
27 #include <QColor>
28 #include <QMap>
29 #include <QPointF>
30 #include <QSet>
31 #include <QDomDocument>
32 #include <QDomElement>
33 #include <QPainterPath>
34 #include <QImage>
35 
36 class QPainter;
37 class QSize;
38 class QPolygonF;
39 
40 class QgsDxfExport;
41 class QgsExpression;
42 class QgsRenderContext;
43 class QgsPaintEffect;
45 
46 #ifndef SIP_RUN
47 typedef QMap<QString, QString> QgsStringMap;
48 #endif
49 
54 class CORE_EXPORT QgsSymbolLayer
55 {
56 #ifdef SIP_RUN
57 #include <qgslinesymbollayer.h>
58 #endif
59 
60 
61 #ifdef SIP_RUN
63  switch ( sipCpp->type() )
64  {
66  if ( sipCpp->layerType() == "EllipseMarker" )
67  sipType = sipType_QgsEllipseSymbolLayer;
68  else if ( sipCpp->layerType() == "FontMarker" )
69  sipType = sipType_QgsFontMarkerSymbolLayer;
70  else if ( sipCpp->layerType() == "SimpleMarker" )
71  sipType = sipType_QgsSimpleMarkerSymbolLayer;
72  else if ( sipCpp->layerType() == "FilledMarker" )
73  sipType = sipType_QgsFilledMarkerSymbolLayer;
74  else if ( sipCpp->layerType() == "SvgMarker" )
75  sipType = sipType_QgsSvgMarkerSymbolLayer;
76  else if ( sipCpp->layerType() == "RasterMarker" )
77  sipType = sipType_QgsRasterMarkerSymbolLayer;
78  else if ( sipCpp->layerType() == "AnimatedMarker" )
79  sipType = sipType_QgsAnimatedMarkerSymbolLayer;
80  else if ( sipCpp->layerType() == "VectorField" )
81  sipType = sipType_QgsVectorFieldSymbolLayer;
82  else if ( sipCpp->layerType() == "MaskMarker" )
83  sipType = sipType_QgsMaskMarkerSymbolLayer;
84  else
85  sipType = sipType_QgsMarkerSymbolLayer;
86  break;
87 
89  if ( sipCpp->layerType() == "MarkerLine" )
90  sipType = sipType_QgsMarkerLineSymbolLayer;
91  else if ( sipCpp->layerType() == "SimpleLine" )
92  sipType = sipType_QgsSimpleLineSymbolLayer;
93  else if ( sipCpp->layerType() == "HashLine" )
94  sipType = sipType_QgsHashedLineSymbolLayer;
95  else if ( sipCpp->layerType() == "ArrowLine" )
96  sipType = sipType_QgsArrowSymbolLayer;
97  else if ( sipCpp->layerType() == "InterpolatedLine" )
98  sipType = sipType_QgsInterpolatedLineSymbolLayer;
99  else if ( sipCpp->layerType() == "RasterLine" )
100  sipType = sipType_QgsRasterLineSymbolLayer;
101  else if ( sipCpp->layerType() == "Lineburst" )
102  sipType = sipType_QgsLineburstSymbolLayer;
103  else
104  sipType = sipType_QgsLineSymbolLayer;
105  break;
106 
108  if ( sipCpp->layerType() == "SimpleFill" )
109  sipType = sipType_QgsSimpleFillSymbolLayer;
110  else if ( sipCpp->layerType() == "LinePatternFill" )
111  sipType = sipType_QgsLinePatternFillSymbolLayer;
112  else if ( sipCpp->layerType() == "PointPatternFill" )
113  sipType = sipType_QgsPointPatternFillSymbolLayer;
114  else if ( sipCpp->layerType() == "SVGFill" )
115  sipType = sipType_QgsSVGFillSymbolLayer;
116  else if ( sipCpp->layerType() == "RasterFill" )
117  sipType = sipType_QgsRasterFillSymbolLayer;
118  else if ( sipCpp->layerType() == "CentroidFill" )
119  sipType = sipType_QgsCentroidFillSymbolLayer;
120  else if ( sipCpp->layerType() == "GradientFill" )
121  sipType = sipType_QgsGradientFillSymbolLayer;
122  else if ( sipCpp->layerType() == "ShapeburstFill" )
123  sipType = sipType_QgsShapeburstFillSymbolLayer;
124  else if ( sipCpp->layerType() == "RandomMarkerFill" )
125  sipType = sipType_QgsRandomMarkerFillSymbolLayer;
126  else
127  sipType = sipType_QgsFillSymbolLayer;
128  break;
129 
131  sipType = sipType_QgsGeometryGeneratorSymbolLayer;
132  break;
133  }
134  SIP_END
135 #endif
136  public:
137 
142  enum Property
143  {
144  PropertySize = 0,
214  };
215 
220  static const QgsPropertiesDefinition &propertyDefinitions();
221 
222  virtual ~QgsSymbolLayer();
223 
225  QgsSymbolLayer( const QgsSymbolLayer &other ) = delete;
226 
228  QgsSymbolLayer &operator=( const QgsSymbolLayer &other ) = delete;
229 
235  virtual Qgis::SymbolLayerFlags flags() const;
236 
242  bool enabled() const { return mEnabled; }
243 
251  void setEnabled( bool enabled ) { mEnabled = enabled; }
252 
267  virtual QColor color() const;
268 
280  virtual void setColor( const QColor &color );
281 
293  virtual void setStrokeColor( const QColor &color );
294 
307  virtual QColor strokeColor() const;
308 
320  virtual void setFillColor( const QColor &color );
321 
334  virtual QColor fillColor() const;
335 
340  virtual QString layerType() const = 0;
341 
354  virtual void startRender( QgsSymbolRenderContext &context ) = 0;
355 
367  virtual void stopRender( QgsSymbolRenderContext &context ) = 0;
368 
387  virtual void startFeatureRender( const QgsFeature &feature, QgsRenderContext &context );
388 
407  virtual void stopFeatureRender( const QgsFeature &feature, QgsRenderContext &context );
408 
412  virtual QgsSymbolLayer *clone() const = 0 SIP_FACTORY;
413 
415  virtual void toSld( QDomDocument &doc, QDomElement &element, const QVariantMap &props ) const
416  { Q_UNUSED( props ) element.appendChild( doc.createComment( QStringLiteral( "SymbolLayerV2 %1 not implemented yet" ).arg( layerType() ) ) ); }
417 
418  virtual QString ogrFeatureStyle( double mmScaleFactor, double mapUnitScaleFactor ) const { Q_UNUSED( mmScaleFactor ) Q_UNUSED( mapUnitScaleFactor ); return QString(); }
419 
425  virtual QVariantMap properties() const = 0;
426 
427  virtual void drawPreviewIcon( QgsSymbolRenderContext &context, QSize size ) = 0;
428 
432  virtual QgsSymbol *subSymbol();
433 
435  virtual bool setSubSymbol( QgsSymbol *symbol SIP_TRANSFER );
436 
437  Qgis::SymbolType type() const { return mType; }
438 
440  virtual bool isCompatibleWithSymbol( QgsSymbol *symbol ) const;
441 
450  virtual bool canCauseArtifactsBetweenAdjacentTiles() const;
451 
459  void setLocked( bool locked ) { mLocked = locked; }
460 
466  bool isLocked() const { return mLocked; }
467 
475  virtual double estimateMaxBleed( const QgsRenderContext &context ) const { Q_UNUSED( context ) return 0; }
476 
485  virtual void setOutputUnit( QgsUnitTypes::RenderUnit unit ) { Q_UNUSED( unit ) }
486 
496 
502  virtual bool usesMapUnits() const;
503 
504  virtual void setMapUnitScale( const QgsMapUnitScale &scale ) { Q_UNUSED( scale ) }
505  virtual QgsMapUnitScale mapUnitScale() const { return QgsMapUnitScale(); }
506 
513  void setRenderingPass( int renderingPass );
514 
521  int renderingPass() const;
522 
527  virtual QSet<QString> usedAttributes( const QgsRenderContext &context ) const;
528 
536  virtual void setDataDefinedProperty( Property key, const QgsProperty &property );
537 
539  virtual bool writeDxf( QgsDxfExport &e, double mmMapUnitScaleFactor, const QString &layerName, QgsSymbolRenderContext &context, QPointF shift = QPointF( 0.0, 0.0 ) ) const;
540 
542  virtual double dxfWidth( const QgsDxfExport &e, QgsSymbolRenderContext &context ) const;
543 
545  virtual double dxfOffset( const QgsDxfExport &e, QgsSymbolRenderContext &context ) const;
546 
548  virtual QColor dxfColor( QgsSymbolRenderContext &context ) const;
549 
551  virtual double dxfAngle( QgsSymbolRenderContext &context ) const;
552 
554  virtual QVector<qreal> dxfCustomDashPattern( QgsUnitTypes::RenderUnit &unit ) const;
555 
557  virtual Qt::PenStyle dxfPenStyle() const;
558 
560  virtual QColor dxfBrushColor( QgsSymbolRenderContext &context ) const;
561 
563  virtual Qt::BrushStyle dxfBrushStyle() const;
564 
571  QgsPaintEffect *paintEffect() const;
572 
579  void setPaintEffect( QgsPaintEffect *effect SIP_TRANSFER );
580 
587  virtual void prepareExpressions( const QgsSymbolRenderContext &context );
588 
595  QgsPropertyCollection &dataDefinedProperties() { return mDataDefinedProperties; }
596 
602  const QgsPropertyCollection &dataDefinedProperties() const { return mDataDefinedProperties; } SIP_SKIP
603 
610  void setDataDefinedProperties( const QgsPropertyCollection &collection ) { mDataDefinedProperties = collection; }
611 
617  virtual bool hasDataDefinedProperties() const;
618 
624  virtual QList<QgsSymbolLayerReference> masks() const;
625 
631  virtual void prepareMasks( const QgsSymbolRenderContext &context );
632 
633  protected:
634 
640  QgsSymbolLayer( Qgis::SymbolType type, bool locked = false );
641 
643 
645  bool mEnabled = true;
646 
647  bool mLocked = false;
648  QColor mColor;
649  int mRenderingPass = 0;
650 
652 
653  std::unique_ptr< QgsPaintEffect > mPaintEffect;
655 
656  // clip path to be used during rendering
657  QPainterPath mClipPath;
658 
659  // Configuration of selected symbology implementation
661  static const bool SELECTION_IS_OPAQUE = true;
663  static const bool SELECT_FILL_BORDER = false;
665  static const bool SELECT_FILL_STYLE = false;
666 
671  void restoreOldDataDefinedProperties( const QVariantMap &stringMap );
672 
677  void copyDataDefinedProperties( QgsSymbolLayer *destLayer ) const;
678 
684  void copyPaintEffect( QgsSymbolLayer *destLayer ) const;
685 
686  private:
687  static void initPropertyDefinitions();
688 
690  static QgsPropertiesDefinition sPropertyDefinitions;
691 
692 #ifdef SIP_RUN
693  QgsSymbolLayer( const QgsSymbolLayer &other );
694 #endif
695 
696 };
697 
699 
705 class CORE_EXPORT QgsMarkerSymbolLayer : public QgsSymbolLayer
706 {
707  public:
708 
711  {
715  };
716 
719  {
720  Top,
723  };
724 
726  QgsMarkerSymbolLayer( const QgsMarkerSymbolLayer &other ) = delete;
727 
729  QgsMarkerSymbolLayer &operator=( const QgsMarkerSymbolLayer &other ) = delete;
730 
731  void startRender( QgsSymbolRenderContext &context ) override;
732 
733  void stopRender( QgsSymbolRenderContext &context ) override;
734 
741  virtual void renderPoint( QPointF point, QgsSymbolRenderContext &context ) = 0;
742 
743  void drawPreviewIcon( QgsSymbolRenderContext &context, QSize size ) override;
744 
751  void setAngle( double angle ) { mAngle = angle; }
752 
757  double angle() const { return mAngle; }
758 
768  void setLineAngle( double lineAngle ) { mLineAngle = lineAngle; }
769 
777  virtual void setSize( double size ) { mSize = size; }
778 
785  double size() const { return mSize; }
786 
794  void setSizeUnit( QgsUnitTypes::RenderUnit unit ) { mSizeUnit = unit; }
795 
802  QgsUnitTypes::RenderUnit sizeUnit() const { return mSizeUnit; }
803 
811  void setSizeMapUnitScale( const QgsMapUnitScale &scale ) { mSizeMapUnitScale = scale; }
812 
819  const QgsMapUnitScale &sizeMapUnitScale() const { return mSizeMapUnitScale; }
820 
826  void setScaleMethod( Qgis::ScaleMethod scaleMethod ) { mScaleMethod = scaleMethod; }
827 
832  Qgis::ScaleMethod scaleMethod() const { return mScaleMethod; }
833 
842  void setOffset( QPointF offset ) { mOffset = offset; }
843 
851  QPointF offset() const { return mOffset; }
852 
860  void setOffsetUnit( QgsUnitTypes::RenderUnit unit ) { mOffsetUnit = unit; }
861 
868  QgsUnitTypes::RenderUnit offsetUnit() const { return mOffsetUnit; }
869 
877  void setOffsetMapUnitScale( const QgsMapUnitScale &scale ) { mOffsetMapUnitScale = scale; }
878 
885  const QgsMapUnitScale &offsetMapUnitScale() const { return mOffsetMapUnitScale; }
886 
894  void setHorizontalAnchorPoint( HorizontalAnchorPoint h ) { mHorizontalAnchorPoint = h; }
895 
902  HorizontalAnchorPoint horizontalAnchorPoint() const { return mHorizontalAnchorPoint; }
903 
911  void setVerticalAnchorPoint( VerticalAnchorPoint v ) { mVerticalAnchorPoint = v; }
912 
919  VerticalAnchorPoint verticalAnchorPoint() const { return mVerticalAnchorPoint; }
920 
921  void toSld( QDomDocument &doc, QDomElement &element, const QVariantMap &props ) const override;
922 
929  virtual void writeSldMarker( QDomDocument &doc, QDomElement &element, const QVariantMap &props ) const
930  { Q_UNUSED( props ) element.appendChild( doc.createComment( QStringLiteral( "QgsMarkerSymbolLayer %1 not implemented yet" ).arg( layerType() ) ) ); }
931 
932  void setOutputUnit( QgsUnitTypes::RenderUnit unit ) override;
933  QgsUnitTypes::RenderUnit outputUnit() const override;
934  void setMapUnitScale( const QgsMapUnitScale &scale ) override;
935  QgsMapUnitScale mapUnitScale() const override;
936 
943  virtual QRectF bounds( QPointF point, QgsSymbolRenderContext &context ) = 0;
944 
945  protected:
946 
951  QgsMarkerSymbolLayer( bool locked = false );
952 
960  void markerOffset( QgsSymbolRenderContext &context, double &offsetX, double &offsetY ) const;
961 
972  void markerOffset( QgsSymbolRenderContext &context, double width, double height, double &offsetX, double &offsetY ) const SIP_PYNAME( markerOffsetWithWidthAndHeight );
973 
975  void markerOffset( QgsSymbolRenderContext &context, double width, double height,
977  double &offsetX, double &offsetY,
978  const QgsMapUnitScale &widthMapUnitScale, const QgsMapUnitScale &heightMapUnitScale ) const SIP_PYNAME( markerOffset2 );
979 
986  static QPointF _rotatedOffset( QPointF offset, double angle );
987 
989  double mAngle = 0;
991  double mLineAngle = 0;
993  double mSize = 2.0;
999  QPointF mOffset;
1007  HorizontalAnchorPoint mHorizontalAnchorPoint = HCenter;
1009  VerticalAnchorPoint mVerticalAnchorPoint = VCenter;
1010 
1011  private:
1012  static QgsMarkerSymbolLayer::HorizontalAnchorPoint decodeHorizontalAnchorPoint( const QString &str );
1013  static QgsMarkerSymbolLayer::VerticalAnchorPoint decodeVerticalAnchorPoint( const QString &str );
1014 
1015 #ifdef SIP_RUN
1017 #endif
1018 };
1019 
1024 class CORE_EXPORT QgsLineSymbolLayer : public QgsSymbolLayer
1025 {
1026  public:
1027 
1030  {
1034  };
1035 
1037  QgsLineSymbolLayer( const QgsLineSymbolLayer &other ) = delete;
1038 
1040  QgsLineSymbolLayer &operator=( const QgsLineSymbolLayer &other ) = delete;
1041 
1042  void setOutputUnit( QgsUnitTypes::RenderUnit unit ) override;
1043  QgsUnitTypes::RenderUnit outputUnit() const override;
1044  void setMapUnitScale( const QgsMapUnitScale &scale ) override;
1045  QgsMapUnitScale mapUnitScale() const override;
1046  void drawPreviewIcon( QgsSymbolRenderContext &context, QSize size ) override;
1047  double dxfWidth( const QgsDxfExport &e, QgsSymbolRenderContext &context ) const override;
1048 
1053  virtual void renderPolyline( const QPolygonF &points, QgsSymbolRenderContext &context ) = 0;
1054 
1063  virtual void renderPolygonStroke( const QPolygonF &points, const QVector<QPolygonF> *rings, QgsSymbolRenderContext &context );
1064 
1078  virtual void setWidth( double width ) { mWidth = width; }
1079 
1089  virtual double width() const { return mWidth; }
1090 
1101  virtual double width( const QgsRenderContext &context ) const;
1102 
1112  double offset() const { return mOffset; }
1113 
1123  void setOffset( double offset ) { mOffset = offset; }
1124 
1131  void setOffsetUnit( QgsUnitTypes::RenderUnit unit ) { mOffsetUnit = unit; }
1132 
1139  QgsUnitTypes::RenderUnit offsetUnit() const { return mOffsetUnit; }
1140 
1147  void setOffsetMapUnitScale( const QgsMapUnitScale &scale ) { mOffsetMapUnitScale = scale; }
1148 
1155  const QgsMapUnitScale &offsetMapUnitScale() const { return mOffsetMapUnitScale; }
1156 
1157  // TODO QGIS 4.0 - setWidthUnit(), widthUnit(), setWidthUnitScale(), widthUnitScale()
1158  // only apply to simple line symbol layers and do not belong here.
1159 
1165  void setWidthUnit( QgsUnitTypes::RenderUnit unit ) { mWidthUnit = unit; }
1166 
1171  QgsUnitTypes::RenderUnit widthUnit() const { return mWidthUnit; }
1172 
1173  void setWidthMapUnitScale( const QgsMapUnitScale &scale ) { mWidthMapUnitScale = scale; }
1174  const QgsMapUnitScale &widthMapUnitScale() const { return mWidthMapUnitScale; }
1175 
1186  RenderRingFilter ringFilter() const;
1187 
1198  void setRingFilter( QgsLineSymbolLayer::RenderRingFilter filter );
1199 
1200  protected:
1201  QgsLineSymbolLayer( bool locked = false );
1202 
1203  double mWidth = 0;
1206  double mOffset = 0;
1209 
1210  RenderRingFilter mRingFilter = AllRings;
1211 
1212  private:
1213 #ifdef SIP_RUN
1214  QgsLineSymbolLayer( const QgsLineSymbolLayer &other );
1215 #endif
1216 };
1217 
1222 class CORE_EXPORT QgsFillSymbolLayer : public QgsSymbolLayer
1223 {
1224  public:
1225 
1227  QgsFillSymbolLayer( const QgsFillSymbolLayer &other ) = delete;
1228 
1230  QgsFillSymbolLayer &operator=( const QgsFillSymbolLayer &other ) = delete;
1231 
1237  virtual void renderPolygon( const QPolygonF &points, const QVector<QPolygonF> *rings, QgsSymbolRenderContext &context ) = 0;
1238 
1239  void drawPreviewIcon( QgsSymbolRenderContext &context, QSize size ) override;
1240 
1241  void setAngle( double angle ) { mAngle = angle; }
1242  double angle() const { return mAngle; }
1243 
1244  protected:
1245  QgsFillSymbolLayer( bool locked = false );
1247  void _renderPolygon( QPainter *p, const QPolygonF &points, const QVector<QPolygonF> *rings, QgsSymbolRenderContext &context );
1248 
1249  double mAngle = 0.0;
1250 
1251  private:
1252 #ifdef SIP_RUN
1253  QgsFillSymbolLayer( const QgsFillSymbolLayer &other );
1254 #endif
1255 };
1256 
1257 class QgsSymbolLayerWidget; // why does SIP fail, when this isn't here
1258 
1259 #endif
QgsSymbolLayer::PropertyDashPatternOffset
@ PropertyDashPatternOffset
Dash pattern offset,.
Definition: qgssymbollayer.h:203
QgsLineSymbolLayer
Definition: qgssymbollayer.h:1024
QgsSymbolLayer::PropertyArrowHeadType
@ PropertyArrowHeadType
Arrow head type.
Definition: qgssymbollayer.h:193
QgsSymbolLayer::setEnabled
void setEnabled(bool enabled)
Sets whether symbol layer is enabled and should be drawn.
Definition: qgssymbollayer.h:251
QgsSymbolLayer::mapUnitScale
virtual QgsMapUnitScale mapUnitScale() const
Definition: qgssymbollayer.h:505
QgsSymbolLayer::enabled
bool enabled() const
Returns true if symbol layer is enabled and will be drawn.
Definition: qgssymbollayer.h:242
QgsMarkerSymbolLayer::Right
@ Right
Align to right side of symbol.
Definition: qgssymbollayer.h:714
SIP_PYNAME
#define SIP_PYNAME(name)
Definition: qgis_sip.h:81
QgsSymbolLayer::PropertyHorizontalAnchor
@ PropertyHorizontalAnchor
Horizontal anchor point.
Definition: qgssymbollayer.h:186
qgsfields.h
QgsMarkerSymbolLayer::setSizeUnit
void setSizeUnit(QgsUnitTypes::RenderUnit unit)
Sets the units for the symbol's size.
Definition: qgssymbollayer.h:794
QgsLineSymbolLayer::setWidthUnit
void setWidthUnit(QgsUnitTypes::RenderUnit unit)
Sets the units for the line's width.
Definition: qgssymbollayer.h:1165
QgsSymbolLayer::mClipPath
QPainterPath mClipPath
Definition: qgssymbollayer.h:657
QgsSymbolLayer::PropertyBlurRadius
@ PropertyBlurRadius
Shapeburst blur radius.
Definition: qgssymbollayer.h:170
QgsMarkerSymbolLayer::setHorizontalAnchorPoint
void setHorizontalAnchorPoint(HorizontalAnchorPoint h)
Sets the horizontal anchor point for positioning the symbol.
Definition: qgssymbollayer.h:894
QgsMarkerSymbolLayer::VerticalAnchorPoint
VerticalAnchorPoint
Symbol vertical anchor points.
Definition: qgssymbollayer.h:718
QgsSymbolLayer::PropertyArrowHeadThickness
@ PropertyArrowHeadThickness
Arrow head thickness.
Definition: qgssymbollayer.h:192
QgsLineSymbolLayer::RenderRingFilter
RenderRingFilter
Options for filtering rings when the line symbol layer is being used to render a polygon's rings.
Definition: qgssymbollayer.h:1029
QgsSymbolLayer::PropertyLineDistance
@ PropertyLineDistance
Distance between lines, or length of lines for hash line symbols.
Definition: qgssymbollayer.h:160
QgsSymbolLayer::mColor
QColor mColor
Definition: qgssymbollayer.h:648
QgsSymbolLayer::PropertyShapeburstUseWholeShape
@ PropertyShapeburstUseWholeShape
Shapeburst use whole shape.
Definition: qgssymbollayer.h:171
QgsMarkerSymbolLayer::size
double size() const
Returns the symbol size.
Definition: qgssymbollayer.h:785
QgsSymbolLayer::dataDefinedProperties
QgsPropertyCollection & dataDefinedProperties()
Returns a reference to the symbol layer's property collection, used for data defined overrides.
Definition: qgssymbollayer.h:595
QgsProperty
A store for object properties.
Definition: qgsproperty.h:230
QgsSymbolLayer::PropertyClipPoints
@ PropertyClipPoints
Whether markers should be clipped to polygon boundaries.
Definition: qgssymbollayer.h:199
QgsSymbolLayer::PropertyGradientReference2IsCentroid
@ PropertyGradientReference2IsCentroid
Gradient reference point 2 is centroid.
Definition: qgssymbollayer.h:169
QgsUnitTypes::RenderUnit
RenderUnit
Rendering size units.
Definition: qgsunittypes.h:167
QgsMarkerSymbolLayer::mSizeMapUnitScale
QgsMapUnitScale mSizeMapUnitScale
Marker size map unit scale.
Definition: qgssymbollayer.h:997
QgsDxfExport
Exports QGIS layers to the DXF format.
Definition: qgsdxfexport.h:64
Qgis::SymbolType::Fill
@ Fill
Fill symbol.
Qgis::SymbolType::Line
@ Line
Line symbol.
QgsLineSymbolLayer::widthMapUnitScale
const QgsMapUnitScale & widthMapUnitScale() const
Definition: qgssymbollayer.h:1174
QgsSymbolLayer::PropertyAverageAngleLength
@ PropertyAverageAngleLength
Length to average symbol angles over.
Definition: qgssymbollayer.h:185
QgsLineSymbolLayer::width
virtual double width() const
Returns the estimated width for the line symbol layer.
Definition: qgssymbollayer.h:1089
QgsSymbolLayer::PropertyArrowStartWidth
@ PropertyArrowStartWidth
Arrow tail start width.
Definition: qgssymbollayer.h:190
QgsSymbolLayer::PropertyFontFamily
@ PropertyFontFamily
Font family.
Definition: qgssymbollayer.h:201
QgsSymbolLayer::PropertyFillStyle
@ PropertyFillStyle
Fill style (eg solid, dots)
Definition: qgssymbollayer.h:156
QgsSymbolLayer::PropertyGradientReference2Y
@ PropertyGradientReference2Y
Gradient reference point 2 y.
Definition: qgssymbollayer.h:167
QgsSymbolLayer::PropertyFillColor
@ PropertyFillColor
Fill color.
Definition: qgssymbollayer.h:147
QgsLineSymbolLayer::setWidth
virtual void setWidth(double width)
Sets the width of the line symbol layer.
Definition: qgssymbollayer.h:1078
QgsLineSymbolLayer::mWidthMapUnitScale
QgsMapUnitScale mWidthMapUnitScale
Definition: qgssymbollayer.h:1205
QgsSymbolLayerReference
Type used to refer to a specific symbol layer in a symbol of a layer.
Definition: qgssymbollayerreference.h:133
QgsMarkerSymbolLayer::setAngle
void setAngle(double angle)
Sets the rotation angle for the marker.
Definition: qgssymbollayer.h:751
QgsFields
Container of fields for a vector layer.
Definition: qgsfields.h:44
QgsSymbolLayer::mPaintEffect
std::unique_ptr< QgsPaintEffect > mPaintEffect
Definition: qgssymbollayer.h:653
QgsSymbolLayerWidget
Definition: qgssymbollayerwidget.h:37
QgsSymbolLayer::PropertyLineEndColorValue
@ PropertyLineEndColorValue
End line color for interpolated line renderer (since QGIS 3.22)
Definition: qgssymbollayer.h:209
QgsSymbolLayer::PropertyGradientReference1IsCentroid
@ PropertyGradientReference1IsCentroid
Gradient reference point 1 is centroid.
Definition: qgssymbollayer.h:168
QgsSymbolLayer::isLocked
bool isLocked() const
Returns true if the symbol layer colors are locked and the layer will ignore any symbol-level color c...
Definition: qgssymbollayer.h:466
QgsSymbolLayer::PropertyDisplacementX
@ PropertyDisplacementX
Horizontal displacement.
Definition: qgssymbollayer.h:177
qgis.h
QgsLineSymbolLayer::offsetUnit
QgsUnitTypes::RenderUnit offsetUnit() const
Returns the units for the line's offset.
Definition: qgssymbollayer.h:1139
QgsRenderContext
Contains information about the context of a rendering operation.
Definition: qgsrendercontext.h:59
QgsMarkerSymbolLayer::setScaleMethod
void setScaleMethod(Qgis::ScaleMethod scaleMethod)
Sets the method to use for scaling the marker's size.
Definition: qgssymbollayer.h:826
QgsUnitTypes::RenderMillimeters
@ RenderMillimeters
Millimeters.
Definition: qgsunittypes.h:169
QgsMarkerSymbolLayer
Abstract base class for marker symbol layers.
Definition: qgssymbollayer.h:705
QgsSymbolLayer::drawPreviewIcon
virtual void drawPreviewIcon(QgsSymbolRenderContext &context, QSize size)=0
QgsSymbolLayer::PropertyInterval
@ PropertyInterval
Line marker interval.
Definition: qgssymbollayer.h:183
QgsSymbolLayer::estimateMaxBleed
virtual double estimateMaxBleed(const QgsRenderContext &context) const
Returns the estimated maximum distance which the layer style will bleed outside the drawn shape when ...
Definition: qgssymbollayer.h:475
QgsSymbolLayer::PropertyCapStyle
@ PropertyCapStyle
Line cap style.
Definition: qgssymbollayer.h:181
QgsSymbol
Abstract base class for all rendered symbols.
Definition: qgssymbol.h:92
QgsSymbolLayer::PropertyStrokeColor
@ PropertyStrokeColor
Stroke color.
Definition: qgssymbollayer.h:148
QgsSymbolLayer::ogrFeatureStyle
virtual QString ogrFeatureStyle(double mmScaleFactor, double mapUnitScaleFactor) const
Definition: qgssymbollayer.h:418
QgsStringMap
QMap< QString, QString > QgsStringMap
Definition: qgssymbollayer.h:44
Qgis::ScaleMethod::ScaleDiameter
@ ScaleDiameter
Calculate scale by the diameter.
QgsLineSymbolLayer::setOffset
void setOffset(double offset)
Sets the line's offset.
Definition: qgssymbollayer.h:1123
QgsLineSymbolLayer::setOffsetMapUnitScale
void setOffsetMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the line's offset.
Definition: qgssymbollayer.h:1147
qgssymbolrendercontext.h
SIP_FACTORY
#define SIP_FACTORY
Definition: qgis_sip.h:76
Qgis::ScaleMethod
ScaleMethod
Scale methods.
Definition: qgis.h:219
QgsSymbolLayer::PropertyFontStyle
@ PropertyFontStyle
Font style.
Definition: qgssymbollayer.h:202
QgsMarkerSymbolLayer::sizeUnit
QgsUnitTypes::RenderUnit sizeUnit() const
Returns the units for the symbol's size.
Definition: qgssymbollayer.h:802
QgsSymbolLayer::PropertyArrowHeadLength
@ PropertyArrowHeadLength
Arrow head length.
Definition: qgssymbollayer.h:191
QgsSymbolLayer::PropertyGradientSpread
@ PropertyGradientSpread
Gradient spread mode.
Definition: qgssymbollayer.h:163
QgsSymbolRenderContext
Definition: qgssymbolrendercontext.h:35
QgsMarkerSymbolLayer::HorizontalAnchorPoint
HorizontalAnchorPoint
Symbol horizontal anchor points.
Definition: qgssymbollayer.h:710
SIP_CONVERT_TO_SUBCLASS_CODE
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Definition: qgis_sip.h:186
QgsMarkerSymbolLayer::scaleMethod
Qgis::ScaleMethod scaleMethod() const
Returns the method to use for scaling the marker's size.
Definition: qgssymbollayer.h:832
QgsPropertiesDefinition
QMap< int, QgsPropertyDefinition > QgsPropertiesDefinition
Definition of available properties.
Definition: qgspropertycollection.h:29
QgsMarkerSymbolLayer::writeSldMarker
virtual void writeSldMarker(QDomDocument &doc, QDomElement &element, const QVariantMap &props) const
Writes the symbol layer definition as a SLD XML element.
Definition: qgssymbollayer.h:929
QgsSymbolLayer::PropertyLineStartWidthValue
@ PropertyLineStartWidthValue
Start line width for interpolated line renderer (since QGIS 3.22)
Definition: qgssymbollayer.h:206
QgsSymbolLayer::PropertyOffset
@ PropertyOffset
Symbol offset.
Definition: qgssymbollayer.h:151
QgsSymbolLayer::PropertyCharacter
@ PropertyCharacter
Character, eg for font marker symbol layers.
Definition: qgssymbollayer.h:152
QgsSymbolLayer::mType
Qgis::SymbolType mType
Definition: qgssymbollayer.h:642
QgsSymbolLayer
Definition: qgssymbollayer.h:54
SIP_SKIP
#define SIP_SKIP
Definition: qgis_sip.h:126
QgsSymbolLayer::PropertyMarkerClipping
@ PropertyMarkerClipping
Marker clipping mode (since QGIS 3.24)
Definition: qgssymbollayer.h:210
QgsSymbolLayer::PropertyGradientType
@ PropertyGradientType
Gradient fill type.
Definition: qgssymbollayer.h:161
QgsSymbolLayer::PropertyArrowWidth
@ PropertyArrowWidth
Arrow tail width.
Definition: qgssymbollayer.h:189
QgsMarkerSymbolLayer::Top
@ Top
Align to top of symbol.
Definition: qgssymbollayer.h:720
Qgis::SymbolType
SymbolType
Symbol types.
Definition: qgis.h:205
QgsSymbolLayer::PropertyRandomSeed
@ PropertyRandomSeed
Random number seed.
Definition: qgssymbollayer.h:198
QgsSymbolLayer::toSld
virtual void toSld(QDomDocument &doc, QDomElement &element, const QVariantMap &props) const
Saves the symbol layer as SLD.
Definition: qgssymbollayer.h:415
QgsMarkerSymbolLayer::HCenter
@ HCenter
Align to horizontal center of symbol.
Definition: qgssymbollayer.h:713
QgsSymbolLayer::PropertyVerticalAnchor
@ PropertyVerticalAnchor
Vertical anchor point.
Definition: qgssymbollayer.h:187
QgsLineSymbolLayer::setOffsetUnit
void setOffsetUnit(QgsUnitTypes::RenderUnit unit)
Sets the unit for the line's offset.
Definition: qgssymbollayer.h:1131
QgsSymbolLayer::PropertyGradientReference1Y
@ PropertyGradientReference1Y
Gradient reference point 1 y.
Definition: qgssymbollayer.h:165
QgsSymbolLayer::dataDefinedProperties
const QgsPropertyCollection & dataDefinedProperties() const
Returns a reference to the symbol layer's property collection, used for data defined overrides.
Definition: qgssymbollayer.h:602
QgsSymbolLayer::PropertyStrokeStyle
@ PropertyStrokeStyle
Stroke style (eg solid, dashed)
Definition: qgssymbollayer.h:150
QgsSymbolLayer::setOutputUnit
virtual void setOutputUnit(QgsUnitTypes::RenderUnit unit)
Sets the units to use for sizes and widths within the symbol layer.
Definition: qgssymbollayer.h:485
QgsSymbolLayer::PropertyRandomOffsetX
@ PropertyRandomOffsetX
Random offset X (since QGIS 3.24)
Definition: qgssymbollayer.h:211
SIP_TRANSFER
#define SIP_TRANSFER
Definition: qgis_sip.h:36
QgsMarkerSymbolLayer::verticalAnchorPoint
VerticalAnchorPoint verticalAnchorPoint() const
Returns the vertical anchor point for positioning the symbol.
Definition: qgssymbollayer.h:919
QgsSymbolLayer::PropertyLineClipping
@ PropertyLineClipping
Line clipping mode (since QGIS 3.24)
Definition: qgssymbollayer.h:213
QgsMarkerSymbolLayer::Bottom
@ Bottom
Align to bottom of symbol.
Definition: qgssymbollayer.h:722
QgsSymbolLayer::PropertyDensityArea
@ PropertyDensityArea
Density area.
Definition: qgssymbollayer.h:200
QgsSymbolLayer::PropertyTrimEnd
@ PropertyTrimEnd
Trim distance from end of line (since QGIS 3.20)
Definition: qgssymbollayer.h:205
QgsSymbolLayer::mFields
QgsFields mFields
Definition: qgssymbollayer.h:654
QgsMarkerSymbolLayer::Left
@ Left
Align to left side of symbol.
Definition: qgssymbollayer.h:712
QgsSymbolLayer::PropertyName
@ PropertyName
Name, eg shape name for simple markers.
Definition: qgssymbollayer.h:146
QgsMarkerSymbolLayer::setOffset
void setOffset(QPointF offset)
Sets the marker's offset, which is the horizontal and vertical displacement which the rendered marker...
Definition: qgssymbollayer.h:842
QgsMapUnitScale
Struct for storing maximum and minimum scales for measurements in map units.
Definition: qgsmapunitscale.h:36
QgsSymbolLayer::PropertyPointCount
@ PropertyPointCount
Point count.
Definition: qgssymbollayer.h:197
QgsSymbolLayer::mDataDefinedProperties
QgsPropertyCollection mDataDefinedProperties
Definition: qgssymbollayer.h:651
QgsSymbolLayer::PropertyStrokeWidth
@ PropertyStrokeWidth
Stroke width.
Definition: qgssymbollayer.h:149
QgsMarkerSymbolLayer::setOffsetUnit
void setOffsetUnit(QgsUnitTypes::RenderUnit unit)
Sets the units for the symbol's offset.
Definition: qgssymbollayer.h:860
QgsSymbolLayer::PropertyShapeburstIgnoreRings
@ PropertyShapeburstIgnoreRings
Shapeburst ignore rings.
Definition: qgssymbollayer.h:173
QgsMarkerSymbolLayer::VCenter
@ VCenter
Align to vertical center of symbol.
Definition: qgssymbollayer.h:721
QgsMarkerSymbolLayer::setLineAngle
void setLineAngle(double lineAngle)
Sets the line angle modification for the symbol's angle.
Definition: qgssymbollayer.h:768
QgsLineSymbolLayer::InteriorRingsOnly
@ InteriorRingsOnly
Render the interior rings only.
Definition: qgssymbollayer.h:1033
QgsSymbolLayer::PropertyLayerEnabled
@ PropertyLayerEnabled
Whether symbol layer is enabled.
Definition: qgssymbollayer.h:188
QgsSymbolLayer::PropertyOffsetY
@ PropertyOffsetY
Vertical offset.
Definition: qgssymbollayer.h:196
QgsSymbolLayer::PropertyOffsetAlongLine
@ PropertyOffsetAlongLine
Offset along line.
Definition: qgssymbollayer.h:184
QgsSymbolLayer::outputUnit
virtual QgsUnitTypes::RenderUnit outputUnit() const
Returns the units to use for sizes and widths within the symbol layer.
Definition: qgssymbollayer.h:495
QgsPropertyCollection
A grouped map of multiple QgsProperty objects, each referenced by a integer key value.
Definition: qgspropertycollection.h:318
Qgis::SymbolType::Hybrid
@ Hybrid
Hybrid symbol.
QgsMarkerSymbolLayer::setOffsetMapUnitScale
void setOffsetMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the symbol's offset.
Definition: qgssymbollayer.h:877
QgsMarkerSymbolLayer::mOffset
QPointF mOffset
Marker offset.
Definition: qgssymbollayer.h:999
QgsSymbolLayer::setDataDefinedProperties
void setDataDefinedProperties(const QgsPropertyCollection &collection)
Sets the symbol layer's property collection, used for data defined overrides.
Definition: qgssymbollayer.h:610
QgsSymbolLayer::PropertyGradientReference2X
@ PropertyGradientReference2X
Gradient reference point 2 x.
Definition: qgssymbollayer.h:166
QgsLineSymbolLayer::offsetMapUnitScale
const QgsMapUnitScale & offsetMapUnitScale() const
Returns the map unit scale for the line's offset.
Definition: qgssymbollayer.h:1155
qgslinesymbollayer.h
QgsSymbolLayer::PropertyCoordinateMode
@ PropertyCoordinateMode
Gradient coordinate mode.
Definition: qgssymbollayer.h:162
QgsSymbolLayer::type
Qgis::SymbolType type() const
Definition: qgssymbollayer.h:437
QgsFillSymbolLayer::angle
double angle() const
Definition: qgssymbollayer.h:1242
str
#define str(x)
Definition: qgis.cpp:37
QgsSymbolLayer::PropertyDistanceY
@ PropertyDistanceY
Vertical distance between points.
Definition: qgssymbollayer.h:176
QgsLineSymbolLayer::mOffsetMapUnitScale
QgsMapUnitScale mOffsetMapUnitScale
Definition: qgssymbollayer.h:1208
QgsSymbolLayer::PropertyDistanceX
@ PropertyDistanceX
Horizontal distance between points.
Definition: qgssymbollayer.h:175
QgsFillSymbolLayer
Definition: qgssymbollayer.h:1222
QgsSymbolLayer::operator=
QgsSymbolLayer & operator=(const QgsSymbolLayer &other)=delete
QgsSymbolLayer cannot be copied.
QgsSymbolLayer::PropertyFile
@ PropertyFile
Filename, eg for svg files.
Definition: qgssymbollayer.h:174
QgsSymbolLayer::PropertyCustomDash
@ PropertyCustomDash
Custom dash pattern.
Definition: qgssymbollayer.h:180
QgsPaintEffect
Base class for visual effects which can be applied to QPicture drawings.
Definition: qgspainteffect.h:52
QgsSymbolLayer::PropertyAngle
@ PropertyAngle
Symbol angle.
Definition: qgssymbollayer.h:145
QgsSymbolLayer::setLocked
void setLocked(bool locked)
Sets whether the layer's colors are locked.
Definition: qgssymbollayer.h:459
QgsSymbolLayer::PropertyArrowType
@ PropertyArrowType
Arrow type.
Definition: qgssymbollayer.h:194
QgsUnitTypes::RenderUnknownUnit
@ RenderUnknownUnit
Mixed or unknown units.
Definition: qgsunittypes.h:175
QgsLineSymbolLayer::AllRings
@ AllRings
Render both exterior and interior rings.
Definition: qgssymbollayer.h:1031
QgsSymbolLayer::stopRender
virtual void stopRender(QgsSymbolRenderContext &context)=0
Called after a set of rendering operations has finished on the supplied render context.
qgspropertycollection.h
QgsSymbolLayer::PropertyShapeburstMaxDistance
@ PropertyShapeburstMaxDistance
Shapeburst fill from edge distance.
Definition: qgssymbollayer.h:172
QgsMarkerSymbolLayer::horizontalAnchorPoint
HorizontalAnchorPoint horizontalAnchorPoint() const
Returns the horizontal anchor point for positioning the symbol.
Definition: qgssymbollayer.h:902
QgsSymbolLayer::setMapUnitScale
virtual void setMapUnitScale(const QgsMapUnitScale &scale)
Definition: qgssymbollayer.h:504
QgsSymbolLayer::Property
Property
Data definable properties.
Definition: qgssymbollayer.h:142
QgsSymbolLayer::PropertyRandomOffsetY
@ PropertyRandomOffsetY
Random offset Y (since QGIS 3.24)
Definition: qgssymbollayer.h:212
QgsMarkerSymbolLayer::setSize
virtual void setSize(double size)
Sets the symbol size.
Definition: qgssymbollayer.h:777
QgsMarkerSymbolLayer::offset
QPointF offset() const
Returns the marker's offset, which is the horizontal and vertical displacement which the rendered mar...
Definition: qgssymbollayer.h:851
QgsMarkerSymbolLayer::setSizeMapUnitScale
void setSizeMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the symbol's size.
Definition: qgssymbollayer.h:811
QgsMarkerSymbolLayer::setVerticalAnchorPoint
void setVerticalAnchorPoint(VerticalAnchorPoint v)
Sets the vertical anchor point for positioning the symbol.
Definition: qgssymbollayer.h:911
QgsSymbolLayer::layerType
virtual QString layerType() const =0
Returns a string that represents this layer type.
QgsSymbolLayer::PropertyGradientReference1X
@ PropertyGradientReference1X
Gradient reference point 1 x.
Definition: qgssymbollayer.h:164
QgsFeature
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Definition: qgsfeature.h:55
QgsSymbolLayer::PropertyOpacity
@ PropertyOpacity
Opacity.
Definition: qgssymbollayer.h:179
QgsLineSymbolLayer::setWidthMapUnitScale
void setWidthMapUnitScale(const QgsMapUnitScale &scale)
Definition: qgssymbollayer.h:1173
QgsLineSymbolLayer::offset
double offset() const
Returns the line's offset.
Definition: qgssymbollayer.h:1112
QgsSymbolLayer::PropertyTrimStart
@ PropertyTrimStart
Trim distance from start of line (since QGIS 3.20)
Definition: qgssymbollayer.h:204
QgsMarkerSymbolLayer::offsetMapUnitScale
const QgsMapUnitScale & offsetMapUnitScale() const
Returns the map unit scale for the symbol's offset.
Definition: qgssymbollayer.h:885
QgsSymbolLayer::PropertyHeight
@ PropertyHeight
Symbol height.
Definition: qgssymbollayer.h:154
QgsSymbolLayer::startRender
virtual void startRender(QgsSymbolRenderContext &context)=0
Called before a set of rendering operations commences on the supplied render context.
QgsLineSymbolLayer::widthUnit
QgsUnitTypes::RenderUnit widthUnit() const
Returns the units for the line's width.
Definition: qgssymbollayer.h:1171
QgsLineSymbolLayer::ExteriorRingOnly
@ ExteriorRingOnly
Render the exterior ring only.
Definition: qgssymbollayer.h:1032
QgsSymbolLayer::PropertyOffsetX
@ PropertyOffsetX
Horizontal offset.
Definition: qgssymbollayer.h:195
QgsExpression
Class for parsing and evaluation of expressions (formerly called "search strings")....
Definition: qgsexpression.h:102
QgsSymbolLayer::PropertyLineEndWidthValue
@ PropertyLineEndWidthValue
End line width for interpolated line renderer (since QGIS 3.22)
Definition: qgssymbollayer.h:207
QgsSymbolLayer::PropertyLineStartColorValue
@ PropertyLineStartColorValue
Start line color for interpolated line renderer (since QGIS 3.22)
Definition: qgssymbollayer.h:208
QgsSymbolLayer::dxfWidth
virtual double dxfWidth(const QgsDxfExport &e, QgsSymbolRenderContext &context) const
Gets line width.
Definition: qgssymbollayer.cpp:175
QgsMarkerSymbolLayer::mOffsetMapUnitScale
QgsMapUnitScale mOffsetMapUnitScale
Offset map unit scale.
Definition: qgssymbollayer.h:1003
QgsSymbolLayer::PropertyDisplacementY
@ PropertyDisplacementY
Vertical displacement.
Definition: qgssymbollayer.h:178
MathUtils::angle
double ANALYSIS_EXPORT angle(QgsPoint *p1, QgsPoint *p2, QgsPoint *p3, QgsPoint *p4)
Calculates the angle between two segments (in 2 dimension, z-values are ignored)
Definition: MathUtils.cpp:786
SIP_END
#define SIP_END
Definition: qgis_sip.h:203
QgsFillSymbolLayer::setAngle
void setAngle(double angle)
Definition: qgssymbollayer.h:1241
QgsSymbolLayer::PropertyPlacement
@ PropertyPlacement
Line marker placement.
Definition: qgssymbollayer.h:182
QgsSymbolLayer::PropertyPreserveAspectRatio
@ PropertyPreserveAspectRatio
Preserve aspect ratio between width and height.
Definition: qgssymbollayer.h:155
QgsSymbolLayer::PropertyLineAngle
@ PropertyLineAngle
Line angle, or angle of hash lines for hash line symbols.
Definition: qgssymbollayer.h:159
QgsMarkerSymbolLayer::offsetUnit
QgsUnitTypes::RenderUnit offsetUnit() const
Returns the units for the symbol's offset.
Definition: qgssymbollayer.h:868
QgsMarkerSymbolLayer::angle
double angle() const
Returns the rotation angle for the marker, in degrees clockwise from north.
Definition: qgssymbollayer.h:757
QgsSymbolLayer::PropertySecondaryColor
@ PropertySecondaryColor
Secondary color (eg for gradient fills)
Definition: qgssymbollayer.h:158
Qgis::SymbolType::Marker
@ Marker
Marker symbol.
QgsSymbolLayer::PropertyJoinStyle
@ PropertyJoinStyle
Line join style.
Definition: qgssymbollayer.h:157
QgsSymbolLayer::PropertyWidth
@ PropertyWidth
Symbol width.
Definition: qgssymbollayer.h:153
QgsMarkerSymbolLayer::sizeMapUnitScale
const QgsMapUnitScale & sizeMapUnitScale() const
Returns the map unit scale for the symbol's size.
Definition: qgssymbollayer.h:819