QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
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 QgsSymbol::ScaleDiameter
20 
21 #include "qgis_core.h"
22 // #include "qgis.h"
23 #include <QColor>
24 #include <QMap>
25 #include <QPointF>
26 #include <QSet>
27 #include <QDomDocument>
28 #include <QDomElement>
29 #include <QPainterPath>
30 
31 #include "qgssymbol.h"
32 #include "qgsfields.h"
33 #include "qgspropertycollection.h"
34 #include "qgspainteffect.h"
35 
36 class QPainter;
37 class QSize;
38 class QPolygonF;
39 
40 class QgsDxfExport;
41 class QgsExpression;
42 class QgsRenderContext;
43 
44 #ifndef SIP_RUN
45 typedef QMap<QString, QString> QgsStringMap;
46 #endif
47 
52 class CORE_EXPORT QgsSymbolLayer
53 {
54 #ifdef SIP_RUN
55 #include <qgslinesymbollayer.h>
56 #endif
57 
58 
59 #ifdef SIP_RUN
61  switch ( sipCpp->type() )
62  {
63  case QgsSymbol::Marker:
64  if ( sipCpp->layerType() == "EllipseMarker" )
65  sipType = sipType_QgsEllipseSymbolLayer;
66  else if ( sipCpp->layerType() == "FontMarker" )
67  sipType = sipType_QgsFontMarkerSymbolLayer;
68  else if ( sipCpp->layerType() == "SimpleMarker" )
69  sipType = sipType_QgsSimpleMarkerSymbolLayer;
70  else if ( sipCpp->layerType() == "FilledMarker" )
71  sipType = sipType_QgsFilledMarkerSymbolLayer;
72  else if ( sipCpp->layerType() == "SvgMarker" )
73  sipType = sipType_QgsSvgMarkerSymbolLayer;
74  else if ( sipCpp->layerType() == "RasterMarker" )
75  sipType = sipType_QgsRasterMarkerSymbolLayer;
76  else if ( sipCpp->layerType() == "VectorField" )
77  sipType = sipType_QgsVectorFieldSymbolLayer;
78  else if ( sipCpp->layerType() == "MaskMarker" )
79  sipType = sipType_QgsMaskMarkerSymbolLayer;
80  else
81  sipType = sipType_QgsMarkerSymbolLayer;
82  break;
83 
84  case QgsSymbol::Line:
85  if ( sipCpp->layerType() == "MarkerLine" )
86  sipType = sipType_QgsMarkerLineSymbolLayer;
87  else if ( sipCpp->layerType() == "SimpleLine" )
88  sipType = sipType_QgsSimpleLineSymbolLayer;
89  else if ( sipCpp->layerType() == "ArrowLine" )
90  sipType = sipType_QgsArrowSymbolLayer;
91  else
92  sipType = sipType_QgsLineSymbolLayer;
93  break;
94 
95  case QgsSymbol::Fill:
96  if ( sipCpp->layerType() == "SimpleFill" )
97  sipType = sipType_QgsSimpleFillSymbolLayer;
98  else if ( sipCpp->layerType() == "LinePatternFill" )
99  sipType = sipType_QgsLinePatternFillSymbolLayer;
100  else if ( sipCpp->layerType() == "PointPatternFill" )
101  sipType = sipType_QgsPointPatternFillSymbolLayer;
102  else if ( sipCpp->layerType() == "SVGFill" )
103  sipType = sipType_QgsSVGFillSymbolLayer;
104  else if ( sipCpp->layerType() == "RasterFill" )
105  sipType = sipType_QgsRasterFillSymbolLayer;
106  else if ( sipCpp->layerType() == "CentroidFill" )
107  sipType = sipType_QgsCentroidFillSymbolLayer;
108  else if ( sipCpp->layerType() == "GradientFill" )
109  sipType = sipType_QgsGradientFillSymbolLayer;
110  else if ( sipCpp->layerType() == "ShapeburstFill" )
111  sipType = sipType_QgsShapeburstFillSymbolLayer;
112  else if ( sipCpp->layerType() == "RandomMarkerFill" )
113  sipType = sipType_QgsRandomMarkerFillSymbolLayer;
114  else
115  sipType = sipType_QgsFillSymbolLayer;
116  break;
117 
118  case QgsSymbol::Hybrid:
119  sipType = sipType_QgsGeometryGeneratorSymbolLayer;
120  break;
121  }
122  SIP_END
123 #endif
124  public:
125 
130  enum Property
131  {
132  PropertySize = 0,
192  };
193 
198  static const QgsPropertiesDefinition &propertyDefinitions();
199 
200  virtual ~QgsSymbolLayer();
201 
203  QgsSymbolLayer( const QgsSymbolLayer &other ) = delete;
204 
206  QgsSymbolLayer &operator=( const QgsSymbolLayer &other ) = delete;
207 
213  bool enabled() const { return mEnabled; }
214 
222  void setEnabled( bool enabled ) { mEnabled = enabled; }
223 
227  virtual QColor color() const { return mColor; }
228 
232  virtual void setColor( const QColor &color ) { mColor = color; }
233 
238  virtual void setStrokeColor( const QColor &color ) { Q_UNUSED( color ) }
239 
244  virtual QColor strokeColor() const { return QColor(); }
245 
250  virtual void setFillColor( const QColor &color ) { Q_UNUSED( color ) }
251 
256  virtual QColor fillColor() const { return QColor(); }
257 
262  virtual QString layerType() const = 0;
263 
276  virtual void startRender( QgsSymbolRenderContext &context ) = 0;
277 
289  virtual void stopRender( QgsSymbolRenderContext &context ) = 0;
290 
309  virtual void startFeatureRender( const QgsFeature &feature, QgsRenderContext &context );
310 
329  virtual void stopFeatureRender( const QgsFeature &feature, QgsRenderContext &context );
330 
334  virtual QgsSymbolLayer *clone() const = 0 SIP_FACTORY;
335 
336  virtual void toSld( QDomDocument &doc, QDomElement &element, const QgsStringMap &props ) const
337  { Q_UNUSED( props ) element.appendChild( doc.createComment( QStringLiteral( "SymbolLayerV2 %1 not implemented yet" ).arg( layerType() ) ) ); }
338 
339  virtual QString ogrFeatureStyle( double mmScaleFactor, double mapUnitScaleFactor ) const { Q_UNUSED( mmScaleFactor ) Q_UNUSED( mapUnitScaleFactor ); return QString(); }
340 
346  virtual QgsStringMap properties() const = 0;
347 
348  virtual void drawPreviewIcon( QgsSymbolRenderContext &context, QSize size ) = 0;
349 
353  virtual QgsSymbol *subSymbol() { return nullptr; }
354 
356  virtual bool setSubSymbol( QgsSymbol *symbol SIP_TRANSFER ) { delete symbol; return false; }
357 
358  QgsSymbol::SymbolType type() const { return mType; }
359 
361  virtual bool isCompatibleWithSymbol( QgsSymbol *symbol ) const;
362 
363  void setLocked( bool locked ) { mLocked = locked; }
364  bool isLocked() const { return mLocked; }
365 
373  virtual double estimateMaxBleed( const QgsRenderContext &context ) const { Q_UNUSED( context ) return 0; }
374 
383  virtual void setOutputUnit( QgsUnitTypes::RenderUnit unit ) { Q_UNUSED( unit ) }
384 
394 
395  virtual void setMapUnitScale( const QgsMapUnitScale &scale ) { Q_UNUSED( scale ) }
396  virtual QgsMapUnitScale mapUnitScale() const { return QgsMapUnitScale(); }
397 
404  void setRenderingPass( int renderingPass );
405 
412  int renderingPass() const;
413 
418  virtual QSet<QString> usedAttributes( const QgsRenderContext &context ) const;
419 
427  virtual void setDataDefinedProperty( Property key, const QgsProperty &property );
428 
430  virtual bool writeDxf( QgsDxfExport &e, double mmMapUnitScaleFactor, const QString &layerName, QgsSymbolRenderContext &context, QPointF shift = QPointF( 0.0, 0.0 ) ) const;
431 
433  virtual double dxfWidth( const QgsDxfExport &e, QgsSymbolRenderContext &context ) const;
434 
436  virtual double dxfOffset( const QgsDxfExport &e, QgsSymbolRenderContext &context ) const;
437 
439  virtual QColor dxfColor( QgsSymbolRenderContext &context ) const;
440 
442  virtual double dxfAngle( QgsSymbolRenderContext &context ) const;
443 
445  virtual QVector<qreal> dxfCustomDashPattern( QgsUnitTypes::RenderUnit &unit ) const;
446 
448  virtual Qt::PenStyle dxfPenStyle() const;
449 
451  virtual QColor dxfBrushColor( QgsSymbolRenderContext &context ) const;
452 
454  virtual Qt::BrushStyle dxfBrushStyle() const;
455 
462  QgsPaintEffect *paintEffect() const;
463 
470  void setPaintEffect( QgsPaintEffect *effect SIP_TRANSFER );
471 
478  virtual void prepareExpressions( const QgsSymbolRenderContext &context );
479 
486  QgsPropertyCollection &dataDefinedProperties() { return mDataDefinedProperties; }
487 
493  const QgsPropertyCollection &dataDefinedProperties() const { return mDataDefinedProperties; } SIP_SKIP
494 
501  void setDataDefinedProperties( const QgsPropertyCollection &collection ) { mDataDefinedProperties = collection; }
502 
508  virtual bool hasDataDefinedProperties() const;
509 
515  virtual QgsSymbolLayerReferenceList masks() const;
516 
517  protected:
518 
519  QgsSymbolLayer( QgsSymbol::SymbolType type, bool locked = false );
520 
522 
524  bool mEnabled = true;
525 
526  bool mLocked = false;
527  QColor mColor;
528  int mRenderingPass = 0;
529 
531 
532  std::unique_ptr< QgsPaintEffect > mPaintEffect;
534 
535  // Configuration of selected symbology implementation
537  static const bool SELECTION_IS_OPAQUE = true;
539  static const bool SELECT_FILL_BORDER = false;
541  static const bool SELECT_FILL_STYLE = false;
542 
547  void restoreOldDataDefinedProperties( const QgsStringMap &stringMap );
548 
553  void copyDataDefinedProperties( QgsSymbolLayer *destLayer ) const;
554 
560  void copyPaintEffect( QgsSymbolLayer *destLayer ) const;
561 
562  private:
563  static void initPropertyDefinitions();
564 
566  static QgsPropertiesDefinition sPropertyDefinitions;
567 
568 #ifdef SIP_RUN
569  QgsSymbolLayer( const QgsSymbolLayer &other );
570 #endif
571 
572 };
573 
575 
581 class CORE_EXPORT QgsMarkerSymbolLayer : public QgsSymbolLayer
582 {
583  public:
584 
587  {
591  };
592 
595  {
596  Top,
599  };
600 
602  QgsMarkerSymbolLayer( const QgsMarkerSymbolLayer &other ) = delete;
603 
606 
607  void startRender( QgsSymbolRenderContext &context ) override;
608 
609  void stopRender( QgsSymbolRenderContext &context ) override;
610 
617  virtual void renderPoint( QPointF point, QgsSymbolRenderContext &context ) = 0;
618 
619  void drawPreviewIcon( QgsSymbolRenderContext &context, QSize size ) override;
620 
627  void setAngle( double angle ) { mAngle = angle; }
628 
633  double angle() const { return mAngle; }
634 
644  void setLineAngle( double lineAngle ) { mLineAngle = lineAngle; }
645 
653  virtual void setSize( double size ) { mSize = size; }
654 
661  double size() const { return mSize; }
662 
670  void setSizeUnit( QgsUnitTypes::RenderUnit unit ) { mSizeUnit = unit; }
671 
678  QgsUnitTypes::RenderUnit sizeUnit() const { return mSizeUnit; }
679 
687  void setSizeMapUnitScale( const QgsMapUnitScale &scale ) { mSizeMapUnitScale = scale; }
688 
695  const QgsMapUnitScale &sizeMapUnitScale() const { return mSizeMapUnitScale; }
696 
702  void setScaleMethod( QgsSymbol::ScaleMethod scaleMethod ) { mScaleMethod = scaleMethod; }
703 
708  QgsSymbol::ScaleMethod scaleMethod() const { return mScaleMethod; }
709 
718  void setOffset( QPointF offset ) { mOffset = offset; }
719 
727  QPointF offset() const { return mOffset; }
728 
736  void setOffsetUnit( QgsUnitTypes::RenderUnit unit ) { mOffsetUnit = unit; }
737 
744  QgsUnitTypes::RenderUnit offsetUnit() const { return mOffsetUnit; }
745 
753  void setOffsetMapUnitScale( const QgsMapUnitScale &scale ) { mOffsetMapUnitScale = scale; }
754 
761  const QgsMapUnitScale &offsetMapUnitScale() const { return mOffsetMapUnitScale; }
762 
770  void setHorizontalAnchorPoint( HorizontalAnchorPoint h ) { mHorizontalAnchorPoint = h; }
771 
778  HorizontalAnchorPoint horizontalAnchorPoint() const { return mHorizontalAnchorPoint; }
779 
787  void setVerticalAnchorPoint( VerticalAnchorPoint v ) { mVerticalAnchorPoint = v; }
788 
795  VerticalAnchorPoint verticalAnchorPoint() const { return mVerticalAnchorPoint; }
796 
797  void toSld( QDomDocument &doc, QDomElement &element, const QgsStringMap &props ) const override;
798 
805  virtual void writeSldMarker( QDomDocument &doc, QDomElement &element, const QgsStringMap &props ) const
806  { Q_UNUSED( props ) element.appendChild( doc.createComment( QStringLiteral( "QgsMarkerSymbolLayer %1 not implemented yet" ).arg( layerType() ) ) ); }
807 
808  void setOutputUnit( QgsUnitTypes::RenderUnit unit ) override;
809  QgsUnitTypes::RenderUnit outputUnit() const override;
810  void setMapUnitScale( const QgsMapUnitScale &scale ) override;
811  QgsMapUnitScale mapUnitScale() const override;
812 
819  virtual QRectF bounds( QPointF point, QgsSymbolRenderContext &context ) = 0;
820 
821  protected:
822 
827  QgsMarkerSymbolLayer( bool locked = false );
828 
836  void markerOffset( QgsSymbolRenderContext &context, double &offsetX, double &offsetY ) const;
837 
848  void markerOffset( QgsSymbolRenderContext &context, double width, double height, double &offsetX, double &offsetY ) const SIP_PYNAME( markerOffsetWithWidthAndHeight );
849 
851  void markerOffset( QgsSymbolRenderContext &context, double width, double height,
853  double &offsetX, double &offsetY,
854  const QgsMapUnitScale &widthMapUnitScale, const QgsMapUnitScale &heightMapUnitScale ) const SIP_PYNAME( markerOffset2 );
855 
862  static QPointF _rotatedOffset( QPointF offset, double angle );
863 
865  double mAngle = 0;
867  double mLineAngle = 0;
869  double mSize = 2.0;
875  QPointF mOffset;
883  HorizontalAnchorPoint mHorizontalAnchorPoint = HCenter;
885  VerticalAnchorPoint mVerticalAnchorPoint = VCenter;
886 
887  private:
888  static QgsMarkerSymbolLayer::HorizontalAnchorPoint decodeHorizontalAnchorPoint( const QString &str );
889  static QgsMarkerSymbolLayer::VerticalAnchorPoint decodeVerticalAnchorPoint( const QString &str );
890 
891 #ifdef SIP_RUN
893 #endif
894 };
895 
900 class CORE_EXPORT QgsLineSymbolLayer : public QgsSymbolLayer
901 {
902  public:
903 
906  {
910  };
911 
913  QgsLineSymbolLayer( const QgsLineSymbolLayer &other ) = delete;
914 
917 
918  void setOutputUnit( QgsUnitTypes::RenderUnit unit ) override;
919  QgsUnitTypes::RenderUnit outputUnit() const override;
920  void setMapUnitScale( const QgsMapUnitScale &scale ) override;
921  QgsMapUnitScale mapUnitScale() const override;
922  void drawPreviewIcon( QgsSymbolRenderContext &context, QSize size ) override;
923  double dxfWidth( const QgsDxfExport &e, QgsSymbolRenderContext &context ) const override;
924 
929  virtual void renderPolyline( const QPolygonF &points, QgsSymbolRenderContext &context ) = 0;
930 
939  virtual void renderPolygonStroke( const QPolygonF &points, const QVector<QPolygonF> *rings, QgsSymbolRenderContext &context );
940 
954  virtual void setWidth( double width ) { mWidth = width; }
955 
965  virtual double width() const { return mWidth; }
966 
977  virtual double width( const QgsRenderContext &context ) const;
978 
988  double offset() const { return mOffset; }
989 
999  void setOffset( double offset ) { mOffset = offset; }
1000 
1007  void setOffsetUnit( QgsUnitTypes::RenderUnit unit ) { mOffsetUnit = unit; }
1008 
1015  QgsUnitTypes::RenderUnit offsetUnit() const { return mOffsetUnit; }
1016 
1023  void setOffsetMapUnitScale( const QgsMapUnitScale &scale ) { mOffsetMapUnitScale = scale; }
1024 
1031  const QgsMapUnitScale &offsetMapUnitScale() const { return mOffsetMapUnitScale; }
1032 
1033  // TODO QGIS 4.0 - setWidthUnit(), widthUnit(), setWidthUnitScale(), widthUnitScale()
1034  // only apply to simple line symbol layers and do not belong here.
1035 
1041  void setWidthUnit( QgsUnitTypes::RenderUnit unit ) { mWidthUnit = unit; }
1042 
1047  QgsUnitTypes::RenderUnit widthUnit() const { return mWidthUnit; }
1048 
1049  void setWidthMapUnitScale( const QgsMapUnitScale &scale ) { mWidthMapUnitScale = scale; }
1050  const QgsMapUnitScale &widthMapUnitScale() const { return mWidthMapUnitScale; }
1051 
1062  RenderRingFilter ringFilter() const;
1063 
1074  void setRingFilter( QgsLineSymbolLayer::RenderRingFilter filter );
1075 
1076  protected:
1077  QgsLineSymbolLayer( bool locked = false );
1078 
1079  double mWidth = 0;
1082  double mOffset = 0;
1085 
1086  RenderRingFilter mRingFilter = AllRings;
1087 
1088  private:
1089 #ifdef SIP_RUN
1090  QgsLineSymbolLayer( const QgsLineSymbolLayer &other );
1091 #endif
1092 };
1093 
1098 class CORE_EXPORT QgsFillSymbolLayer : public QgsSymbolLayer
1099 {
1100  public:
1101 
1103  QgsFillSymbolLayer( const QgsFillSymbolLayer &other ) = delete;
1104 
1107 
1113  virtual void renderPolygon( const QPolygonF &points, const QVector<QPolygonF> *rings, QgsSymbolRenderContext &context ) = 0;
1114 
1115  void drawPreviewIcon( QgsSymbolRenderContext &context, QSize size ) override;
1116 
1117  void setAngle( double angle ) { mAngle = angle; }
1118  double angle() const { return mAngle; }
1119 
1120  protected:
1121  QgsFillSymbolLayer( bool locked = false );
1123  void _renderPolygon( QPainter *p, const QPolygonF &points, const QVector<QPolygonF> *rings, QgsSymbolRenderContext &context );
1124 
1125  double mAngle = 0.0;
1126 
1127  private:
1128 #ifdef SIP_RUN
1129  QgsFillSymbolLayer( const QgsFillSymbolLayer &other );
1130 #endif
1131 };
1132 
1133 class QgsSymbolLayerWidget; // why does SIP fail, when this isn't here
1134 
1135 #endif
1136 
1137 
QgsSymbolLayer::PropertyDashPatternOffset
@ PropertyDashPatternOffset
Dash pattern offset.
Definition: qgssymbollayer.h:191
QgsLineSymbolLayer
Definition: qgssymbollayer.h:901
QgsSymbolLayer::PropertyArrowHeadType
@ PropertyArrowHeadType
Arrow head type.
Definition: qgssymbollayer.h:181
QgsSymbolLayer::setEnabled
void setEnabled(bool enabled)
Sets whether symbol layer is enabled and should be drawn.
Definition: qgssymbollayer.h:222
QgsSymbolLayer::mapUnitScale
virtual QgsMapUnitScale mapUnitScale() const
Definition: qgssymbollayer.h:396
QgsSymbolLayer::enabled
bool enabled() const
Returns true if symbol layer is enabled and will be drawn.
Definition: qgssymbollayer.h:213
QgsMarkerSymbolLayer::Right
@ Right
Align to right side of symbol.
Definition: qgssymbollayer.h:590
SIP_PYNAME
#define SIP_PYNAME(name)
Definition: qgis_sip.h:81
QgsSymbolLayer::PropertyHorizontalAnchor
@ PropertyHorizontalAnchor
Horizontal anchor point.
Definition: qgssymbollayer.h:174
qgsfields.h
QgsMarkerSymbolLayer::setSizeUnit
void setSizeUnit(QgsUnitTypes::RenderUnit unit)
Sets the units for the symbol's size.
Definition: qgssymbollayer.h:670
QgsSymbolLayer::setSubSymbol
virtual bool setSubSymbol(QgsSymbol *symbol)
Sets layer's subsymbol. takes ownership of the passed symbol.
Definition: qgssymbollayer.h:356
QgsLineSymbolLayer::setWidthUnit
void setWidthUnit(QgsUnitTypes::RenderUnit unit)
Sets the units for the line's width.
Definition: qgssymbollayer.h:1041
QgsSymbolLayer::PropertyBlurRadius
@ PropertyBlurRadius
Shapeburst blur radius.
Definition: qgssymbollayer.h:158
QgsMarkerSymbolLayer::setHorizontalAnchorPoint
void setHorizontalAnchorPoint(HorizontalAnchorPoint h)
Sets the horizontal anchor point for positioning the symbol.
Definition: qgssymbollayer.h:770
QgsMarkerSymbolLayer::VerticalAnchorPoint
VerticalAnchorPoint
Symbol vertical anchor points.
Definition: qgssymbollayer.h:595
QgsSymbolLayer::PropertyArrowHeadThickness
@ PropertyArrowHeadThickness
Arrow head thickness.
Definition: qgssymbollayer.h:180
QgsLineSymbolLayer::RenderRingFilter
RenderRingFilter
Options for filtering rings when the line symbol layer is being used to render a polygon's rings.
Definition: qgssymbollayer.h:906
QgsSymbolLayer::PropertyLineDistance
@ PropertyLineDistance
Distance between lines, or length of lines for hash line symbols.
Definition: qgssymbollayer.h:148
QgsSymbolLayer::mColor
QColor mColor
Definition: qgssymbollayer.h:527
QgsSymbolLayer::PropertyShapeburstUseWholeShape
@ PropertyShapeburstUseWholeShape
Shapeburst use whole shape.
Definition: qgssymbollayer.h:159
QgsMarkerSymbolLayer::size
double size() const
Returns the symbol size.
Definition: qgssymbollayer.h:661
QgsSymbolLayer::dataDefinedProperties
QgsPropertyCollection & dataDefinedProperties()
Returns a reference to the symbol layer's property collection, used for data defined overrides.
Definition: qgssymbollayer.h:486
QgsProperty
A store for object properties.
Definition: qgsproperty.h:232
QgsSymbolLayer::PropertyClipPoints
@ PropertyClipPoints
Whether markers should be clipped to polygon boundaries.
Definition: qgssymbollayer.h:187
QgsSymbolLayer::PropertyGradientReference2IsCentroid
@ PropertyGradientReference2IsCentroid
Gradient reference point 2 is centroid.
Definition: qgssymbollayer.h:157
QgsUnitTypes::RenderUnit
RenderUnit
Rendering size units.
Definition: qgsunittypes.h:167
QgsMarkerSymbolLayer::mSizeMapUnitScale
QgsMapUnitScale mSizeMapUnitScale
Marker size map unit scale.
Definition: qgssymbollayer.h:873
QgsDxfExport
Definition: qgsdxfexport.h:63
QgsLineSymbolLayer::renderPolyline
virtual void renderPolyline(const QPolygonF &points, QgsSymbolRenderContext &context)=0
Renders the line symbol layer along the line joining points, using the given render context.
QgsLineSymbolLayer::widthMapUnitScale
const QgsMapUnitScale & widthMapUnitScale() const
Definition: qgssymbollayer.h:1050
QgsSymbolLayer::PropertyAverageAngleLength
@ PropertyAverageAngleLength
Length to average symbol angles over.
Definition: qgssymbollayer.h:173
QgsLineSymbolLayer::width
virtual double width() const
Returns the estimated width for the line symbol layer.
Definition: qgssymbollayer.h:965
QgsSymbolLayer::PropertyArrowStartWidth
@ PropertyArrowStartWidth
Arrow tail start width.
Definition: qgssymbollayer.h:178
QgsMarkerSymbolLayer::QgsMarkerSymbolLayer
QgsMarkerSymbolLayer(const QgsMarkerSymbolLayer &other)=delete
QgsMarkerSymbolLayer cannot be copied.
QgsSymbolLayer::mType
QgsSymbol::SymbolType mType
Definition: qgssymbollayer.h:521
QgsSymbolLayer::PropertyFontFamily
@ PropertyFontFamily
Font family.
Definition: qgssymbollayer.h:189
QgsSymbolLayer::setColor
virtual void setColor(const QColor &color)
The fill color.
Definition: qgssymbollayer.h:232
QgsSymbolLayer::PropertyFillStyle
@ PropertyFillStyle
Fill style (eg solid, dots)
Definition: qgssymbollayer.h:144
QgsSymbolLayer::PropertyGradientReference2Y
@ PropertyGradientReference2Y
Gradient reference point 2 y.
Definition: qgssymbollayer.h:155
QgsSymbolLayer::color
virtual QColor color() const
The fill color.
Definition: qgssymbollayer.h:227
QgsSymbolLayer::PropertyFillColor
@ PropertyFillColor
Fill color.
Definition: qgssymbollayer.h:135
QgsLineSymbolLayer::setWidth
virtual void setWidth(double width)
Sets the width of the line symbol layer.
Definition: qgssymbollayer.h:954
QgsLineSymbolLayer::mWidthMapUnitScale
QgsMapUnitScale mWidthMapUnitScale
Definition: qgssymbollayer.h:1081
QgsMarkerSymbolLayer::setAngle
void setAngle(double angle)
Sets the rotation angle for the marker.
Definition: qgssymbollayer.h:627
QgsFields
Container of fields for a vector layer.
Definition: qgsfields.h:45
QgsSymbolLayer::mPaintEffect
std::unique_ptr< QgsPaintEffect > mPaintEffect
Definition: qgssymbollayer.h:532
QgsSymbolLayerWidget
Definition: qgssymbollayerwidget.h:35
QgsMarkerSymbolLayer::scaleMethod
QgsSymbol::ScaleMethod scaleMethod() const
Returns the method to use for scaling the marker's size.
Definition: qgssymbollayer.h:708
QgsSymbolLayer::PropertyGradientReference1IsCentroid
@ PropertyGradientReference1IsCentroid
Gradient reference point 1 is centroid.
Definition: qgssymbollayer.h:156
QgsSymbolLayer::QgsSymbolLayer
QgsSymbolLayer(const QgsSymbolLayer &other)=delete
QgsSymbolLayer cannot be copied.
QgsSymbolLayer::isLocked
bool isLocked() const
Definition: qgssymbollayer.h:364
QgsSymbolLayer::PropertyDisplacementX
@ PropertyDisplacementX
Horizontal displacement.
Definition: qgssymbollayer.h:165
QgsLineSymbolLayer::offsetUnit
QgsUnitTypes::RenderUnit offsetUnit() const
Returns the units for the line's offset.
Definition: qgssymbollayer.h:1015
QgsSymbol::ScaleDiameter
@ ScaleDiameter
Calculate scale by the diameter.
Definition: qgssymbol.h:99
QgsRenderContext
Contains information about the context of a rendering operation.
Definition: qgsrendercontext.h:58
QgsUnitTypes::RenderMillimeters
@ RenderMillimeters
Millimeters.
Definition: qgsunittypes.h:168
QgsMarkerSymbolLayer
Abstract base class for marker symbol layers.
Definition: qgssymbollayer.h:582
QgsSymbolLayer::drawPreviewIcon
virtual void drawPreviewIcon(QgsSymbolRenderContext &context, QSize size)=0
QgsSymbolLayer::PropertyInterval
@ PropertyInterval
Line marker interval.
Definition: qgssymbollayer.h:171
QgsSymbolLayer::~QgsSymbolLayer
virtual ~QgsSymbolLayer()
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:373
QgsSymbol::ScaleMethod
ScaleMethod
Scale method.
Definition: qgssymbol.h:97
QgsSymbolLayer::PropertyCapStyle
@ PropertyCapStyle
Line cap style.
Definition: qgssymbollayer.h:169
QgsSymbol
Abstract base class for all rendered symbols.
Definition: qgssymbol.h:64
qgspainteffect.h
QgsSymbolLayer::PropertyStrokeColor
@ PropertyStrokeColor
Stroke color.
Definition: qgssymbollayer.h:136
QgsSymbolLayer::ogrFeatureStyle
virtual QString ogrFeatureStyle(double mmScaleFactor, double mapUnitScaleFactor) const
Definition: qgssymbollayer.h:339
QgsStringMap
QMap< QString, QString > QgsStringMap
Definition: qgssymbollayer.h:42
QgsFillSymbolLayer::renderPolygon
virtual void renderPolygon(const QPolygonF &points, const QVector< QPolygonF > *rings, QgsSymbolRenderContext &context)=0
Renders the fill symbol layer for the polygon whose outer ring is defined by points,...
QgsLineSymbolLayer::setOffset
void setOffset(double offset)
Sets the line's offset.
Definition: qgssymbollayer.h:999
QgsSymbolLayer::properties
virtual QgsStringMap properties() const =0
Should be reimplemented by subclasses to return a string map that contains the configuration informat...
QgsLineSymbolLayer::setOffsetMapUnitScale
void setOffsetMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the line's offset.
Definition: qgssymbollayer.h:1023
SIP_FACTORY
#define SIP_FACTORY
Definition: qgis_sip.h:76
QgsSymbolLayer::PropertyFontStyle
@ PropertyFontStyle
Font style.
Definition: qgssymbollayer.h:190
QgsMarkerSymbolLayer::sizeUnit
QgsUnitTypes::RenderUnit sizeUnit() const
Returns the units for the symbol's size.
Definition: qgssymbollayer.h:678
QgsSymbolLayer::PropertyArrowHeadLength
@ PropertyArrowHeadLength
Arrow head length.
Definition: qgssymbollayer.h:179
QgsSymbolLayer::PropertyGradientSpread
@ PropertyGradientSpread
Gradient spread mode.
Definition: qgssymbollayer.h:151
QgsSymbolRenderContext
Definition: qgssymbol.h:695
QgsMarkerSymbolLayer::HorizontalAnchorPoint
HorizontalAnchorPoint
Symbol horizontal anchor points.
Definition: qgssymbollayer.h:587
QgsSymbolLayer::setFillColor
virtual void setFillColor(const QColor &color)
Set fill color.
Definition: qgssymbollayer.h:250
QgsSymbolLayer::clone
virtual QgsSymbolLayer * clone() const =0
Shall be reimplemented by subclasses to create a deep copy of the instance.
SIP_CONVERT_TO_SUBCLASS_CODE
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Definition: qgis_sip.h:177
QgsPropertiesDefinition
QMap< int, QgsPropertyDefinition > QgsPropertiesDefinition
Definition of available properties.
Definition: qgspropertycollection.h:29
QgsSymbolLayer::PropertyOffset
@ PropertyOffset
Symbol offset.
Definition: qgssymbollayer.h:139
QgsSymbolLayer::PropertyCharacter
@ PropertyCharacter
Character, eg for font marker symbol layers.
Definition: qgssymbollayer.h:140
QgsSymbolLayer
Definition: qgssymbollayer.h:53
SIP_SKIP
#define SIP_SKIP
Definition: qgis_sip.h:126
QgsSymbolLayer::PropertyGradientType
@ PropertyGradientType
Gradient fill type.
Definition: qgssymbollayer.h:149
QgsSymbolLayer::PropertyArrowWidth
@ PropertyArrowWidth
Arrow tail width.
Definition: qgssymbollayer.h:177
QgsFillSymbolLayer::QgsFillSymbolLayer
QgsFillSymbolLayer(const QgsFillSymbolLayer &other)=delete
QgsFillSymbolLayer cannot be copied.
QgsMarkerSymbolLayer::Top
@ Top
Align to top of symbol.
Definition: qgssymbollayer.h:596
QgsSymbolLayer::PropertyRandomSeed
@ PropertyRandomSeed
Random number seed.
Definition: qgssymbollayer.h:186
QgsMarkerSymbolLayer::HCenter
@ HCenter
Align to horizontal center of symbol.
Definition: qgssymbollayer.h:589
QgsSymbolLayer::PropertyVerticalAnchor
@ PropertyVerticalAnchor
Vertical anchor point.
Definition: qgssymbollayer.h:175
QgsLineSymbolLayer::setOffsetUnit
void setOffsetUnit(QgsUnitTypes::RenderUnit unit)
Sets the unit for the line's offset.
Definition: qgssymbollayer.h:1007
QgsSymbolLayer::PropertyGradientReference1Y
@ PropertyGradientReference1Y
Gradient reference point 1 y.
Definition: qgssymbollayer.h:153
QgsSymbolLayer::dataDefinedProperties
const QgsPropertyCollection & dataDefinedProperties() const
Returns a reference to the symbol layer's property collection, used for data defined overrides.
Definition: qgssymbollayer.h:493
QgsSymbolLayer::PropertyStrokeStyle
@ PropertyStrokeStyle
Stroke style (eg solid, dashed)
Definition: qgssymbollayer.h:138
QgsSymbolLayer::setOutputUnit
virtual void setOutputUnit(QgsUnitTypes::RenderUnit unit)
Sets the units to use for sizes and widths within the symbol layer.
Definition: qgssymbollayer.h:383
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:795
QgsMarkerSymbolLayer::Bottom
@ Bottom
Align to bottom of symbol.
Definition: qgssymbollayer.h:598
QgsSymbolLayer::PropertyDensityArea
@ PropertyDensityArea
Density area.
Definition: qgssymbollayer.h:188
QgsSymbolLayer::mFields
QgsFields mFields
Definition: qgssymbollayer.h:533
QgsMarkerSymbolLayer::Left
@ Left
Align to left side of symbol.
Definition: qgssymbollayer.h:588
QgsSymbolLayer::PropertyName
@ PropertyName
Name, eg shape name for simple markers.
Definition: qgssymbollayer.h:134
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:718
QgsSymbol::Fill
@ Fill
Fill symbol.
Definition: qgssymbol.h:89
QgsMapUnitScale
Struct for storing maximum and minimum scales for measurements in map units.
Definition: qgsmapunitscale.h:38
QgsSymbolLayer::PropertyPointCount
@ PropertyPointCount
Point count.
Definition: qgssymbollayer.h:185
QgsSymbolLayer::mDataDefinedProperties
QgsPropertyCollection mDataDefinedProperties
Definition: qgssymbollayer.h:530
QgsSymbolLayer::PropertyStrokeWidth
@ PropertyStrokeWidth
Stroke width.
Definition: qgssymbollayer.h:137
QgsMarkerSymbolLayer::setOffsetUnit
void setOffsetUnit(QgsUnitTypes::RenderUnit unit)
Sets the units for the symbol's offset.
Definition: qgssymbollayer.h:736
QgsSymbolLayer::PropertyShapeburstIgnoreRings
@ PropertyShapeburstIgnoreRings
Shapeburst ignore rings.
Definition: qgssymbollayer.h:161
QgsSymbolLayer::fillColor
virtual QColor fillColor() const
Gets fill color.
Definition: qgssymbollayer.h:256
QgsMarkerSymbolLayer::VCenter
@ VCenter
Align to vertical center of symbol.
Definition: qgssymbollayer.h:597
QgsMarkerSymbolLayer::setLineAngle
void setLineAngle(double lineAngle)
Sets the line angle modification for the symbol's angle.
Definition: qgssymbollayer.h:644
QgsSymbolLayer::subSymbol
virtual QgsSymbol * subSymbol()
Returns the symbol's sub symbol, if present.
Definition: qgssymbollayer.h:353
QgsLineSymbolLayer::InteriorRingsOnly
@ InteriorRingsOnly
Render the interior rings only.
Definition: qgssymbollayer.h:909
QgsSymbolLayer::PropertyLayerEnabled
@ PropertyLayerEnabled
Whether symbol layer is enabled.
Definition: qgssymbollayer.h:176
QgsSymbolLayer::PropertyOffsetY
@ PropertyOffsetY
Vertical offset.
Definition: qgssymbollayer.h:184
QgsSymbolLayer::PropertyOffsetAlongLine
@ PropertyOffsetAlongLine
Offset along line.
Definition: qgssymbollayer.h:172
QgsSymbolLayer::outputUnit
virtual QgsUnitTypes::RenderUnit outputUnit() const
Returns the units to use for sizes and widths within the symbol layer.
Definition: qgssymbollayer.h:393
QgsPropertyCollection
A grouped map of multiple QgsProperty objects, each referenced by a integer key value.
Definition: qgspropertycollection.h:319
QgsMarkerSymbolLayer::operator=
QgsMarkerSymbolLayer & operator=(const QgsMarkerSymbolLayer &other)=delete
QgsMarkerSymbolLayer cannot be copied.
QgsMarkerSymbolLayer::setOffsetMapUnitScale
void setOffsetMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the symbol's offset.
Definition: qgssymbollayer.h:753
QgsStringMap
QMap< QString, QString > QgsStringMap
Definition: qgis.h:758
QgsMarkerSymbolLayer::mOffset
QPointF mOffset
Marker offset.
Definition: qgssymbollayer.h:875
QgsSymbolLayer::setDataDefinedProperties
void setDataDefinedProperties(const QgsPropertyCollection &collection)
Sets the symbol layer's property collection, used for data defined overrides.
Definition: qgssymbollayer.h:501
QgsSymbolLayer::PropertyGradientReference2X
@ PropertyGradientReference2X
Gradient reference point 2 x.
Definition: qgssymbollayer.h:154
QgsLineSymbolLayer::offsetMapUnitScale
const QgsMapUnitScale & offsetMapUnitScale() const
Returns the map unit scale for the line's offset.
Definition: qgssymbollayer.h:1031
qgslinesymbollayer.h
QgsLineSymbolLayer::QgsLineSymbolLayer
QgsLineSymbolLayer(const QgsLineSymbolLayer &other)=delete
QgsLineSymbolLayer cannot be copied.
QgsSymbolLayer::PropertyCoordinateMode
@ PropertyCoordinateMode
Gradient coordinate mode.
Definition: qgssymbollayer.h:150
QgsFillSymbolLayer::angle
double angle() const
Definition: qgssymbollayer.h:1118
QgsSymbolLayer::setStrokeColor
virtual void setStrokeColor(const QColor &color)
Set stroke color.
Definition: qgssymbollayer.h:238
QgsSymbolLayerReferenceList
QList< QgsSymbolLayerReference > QgsSymbolLayerReferenceList
Definition: qgssymbollayerreference.h:160
QgsFillSymbolLayer::operator=
QgsFillSymbolLayer & operator=(const QgsFillSymbolLayer &other)=delete
QgsFillSymbolLayer cannot be copied.
QgsSymbolLayer::PropertyDistanceY
@ PropertyDistanceY
Vertical distance between points.
Definition: qgssymbollayer.h:164
QgsLineSymbolLayer::mOffsetMapUnitScale
QgsMapUnitScale mOffsetMapUnitScale
Definition: qgssymbollayer.h:1084
QgsSymbolLayer::PropertyDistanceX
@ PropertyDistanceX
Horizontal distance between points.
Definition: qgssymbollayer.h:163
QgsFillSymbolLayer
Definition: qgssymbollayer.h:1099
QgsSymbolLayer::operator=
QgsSymbolLayer & operator=(const QgsSymbolLayer &other)=delete
QgsSymbolLayer cannot be copied.
QgsSymbolLayer::PropertyFile
@ PropertyFile
Filename, eg for svg files.
Definition: qgssymbollayer.h:162
QgsSymbolLayer::PropertyCustomDash
@ PropertyCustomDash
Custom dash pattern.
Definition: qgssymbollayer.h:168
QgsPaintEffect
Base class for visual effects which can be applied to QPicture drawings.
Definition: qgspainteffect.h:54
QgsSymbolLayer::PropertyAngle
@ PropertyAngle
Symbol angle.
Definition: qgssymbollayer.h:133
QgsMarkerSymbolLayer::renderPoint
virtual void renderPoint(QPointF point, QgsSymbolRenderContext &context)=0
Renders a marker at the specified point.
QgsSymbol::Line
@ Line
Line symbol.
Definition: qgssymbol.h:88
QgsSymbolLayer::setLocked
void setLocked(bool locked)
Definition: qgssymbollayer.h:363
QgsSymbolLayer::PropertyArrowType
@ PropertyArrowType
Arrow type.
Definition: qgssymbollayer.h:182
QgsUnitTypes::RenderUnknownUnit
@ RenderUnknownUnit
Mixed or unknown units.
Definition: qgsunittypes.h:174
QgsLineSymbolLayer::AllRings
@ AllRings
Render both exterior and interior rings.
Definition: qgssymbollayer.h:907
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:160
QgsMarkerSymbolLayer::horizontalAnchorPoint
HorizontalAnchorPoint horizontalAnchorPoint() const
Returns the horizontal anchor point for positioning the symbol.
Definition: qgssymbollayer.h:778
QgsSymbol::Marker
@ Marker
Marker symbol.
Definition: qgssymbol.h:87
QgsMarkerSymbolLayer::writeSldMarker
virtual void writeSldMarker(QDomDocument &doc, QDomElement &element, const QgsStringMap &props) const
Writes the symbol layer definition as a SLD XML element.
Definition: qgssymbollayer.h:805
QgsSymbolLayer::setMapUnitScale
virtual void setMapUnitScale(const QgsMapUnitScale &scale)
Definition: qgssymbollayer.h:395
QgsSymbolLayer::Property
Property
Data definable properties.
Definition: qgssymbollayer.h:131
QgsMarkerSymbolLayer::bounds
virtual QRectF bounds(QPointF point, QgsSymbolRenderContext &context)=0
Returns the approximate bounding box of the marker symbol layer, taking into account any data defined...
QgsMarkerSymbolLayer::setSize
virtual void setSize(double size)
Sets the symbol size.
Definition: qgssymbollayer.h:653
QgsMarkerSymbolLayer::offset
QPointF offset() const
Returns the marker's offset, which is the horizontal and vertical displacement which the rendered mar...
Definition: qgssymbollayer.h:727
QgsMarkerSymbolLayer::setSizeMapUnitScale
void setSizeMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the symbol's size.
Definition: qgssymbollayer.h:687
QgsMarkerSymbolLayer::setVerticalAnchorPoint
void setVerticalAnchorPoint(VerticalAnchorPoint v)
Sets the vertical anchor point for positioning the symbol.
Definition: qgssymbollayer.h:787
QgsSymbolLayer::type
QgsSymbol::SymbolType type() const
Definition: qgssymbollayer.h:358
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:152
QgsFeature
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
Definition: qgsfeature.h:56
QgsSymbolLayer::PropertyOpacity
@ PropertyOpacity
Opacity.
Definition: qgssymbollayer.h:167
QgsLineSymbolLayer::setWidthMapUnitScale
void setWidthMapUnitScale(const QgsMapUnitScale &scale)
Definition: qgssymbollayer.h:1049
QgsLineSymbolLayer::offset
double offset() const
Returns the line's offset.
Definition: qgssymbollayer.h:988
QgsMarkerSymbolLayer::offsetMapUnitScale
const QgsMapUnitScale & offsetMapUnitScale() const
Returns the map unit scale for the symbol's offset.
Definition: qgssymbollayer.h:761
QgsSymbol::SymbolType
SymbolType
Type of the symbol.
Definition: qgssymbol.h:86
QgsSymbolLayer::PropertyHeight
@ PropertyHeight
Symbol height.
Definition: qgssymbollayer.h:142
QgsSymbolLayer::toSld
virtual void toSld(QDomDocument &doc, QDomElement &element, const QgsStringMap &props) const
Definition: qgssymbollayer.h:336
QgsSymbolLayer::startRender
virtual void startRender(QgsSymbolRenderContext &context)=0
Called before a set of rendering operations commences on the supplied render context.
QgsSymbol::Hybrid
@ Hybrid
Hybrid symbol.
Definition: qgssymbol.h:90
QgsLineSymbolLayer::widthUnit
QgsUnitTypes::RenderUnit widthUnit() const
Returns the units for the line's width.
Definition: qgssymbollayer.h:1047
QgsLineSymbolLayer::ExteriorRingOnly
@ ExteriorRingOnly
Render the exterior ring only.
Definition: qgssymbollayer.h:908
QgsSymbolLayer::PropertyOffsetX
@ PropertyOffsetX
Horizontal offset.
Definition: qgssymbollayer.h:183
QgsExpression
Class for parsing and evaluation of expressions (formerly called "search strings").
Definition: qgsexpression.h:105
QgsSymbolLayer::dxfWidth
virtual double dxfWidth(const QgsDxfExport &e, QgsSymbolRenderContext &context) const
Gets line width.
Definition: qgssymbollayer.cpp:138
QgsMarkerSymbolLayer::mOffsetMapUnitScale
QgsMapUnitScale mOffsetMapUnitScale
Offset map unit scale.
Definition: qgssymbollayer.h:879
QgsSymbolLayer::PropertyDisplacementY
@ PropertyDisplacementY
Vertical displacement.
Definition: qgssymbollayer.h:166
QgsLineSymbolLayer::operator=
QgsLineSymbolLayer & operator=(const QgsLineSymbolLayer &other)=delete
QgsLineSymbolLayer cannot be copied.
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:194
QgsFillSymbolLayer::setAngle
void setAngle(double angle)
Definition: qgssymbollayer.h:1117
QgsSymbolLayer::PropertyPlacement
@ PropertyPlacement
Line marker placement.
Definition: qgssymbollayer.h:170
QgsSymbolLayer::PropertyPreserveAspectRatio
@ PropertyPreserveAspectRatio
Preserve aspect ratio between width and height.
Definition: qgssymbollayer.h:143
QgsSymbolLayer::strokeColor
virtual QColor strokeColor() const
Gets stroke color.
Definition: qgssymbollayer.h:244
qgssymbol.h
QgsSymbolLayer::PropertyLineAngle
@ PropertyLineAngle
Line angle, or angle of hash lines for hash line symbols.
Definition: qgssymbollayer.h:147
QgsMarkerSymbolLayer::offsetUnit
QgsUnitTypes::RenderUnit offsetUnit() const
Returns the units for the symbol's offset.
Definition: qgssymbollayer.h:744
QgsMarkerSymbolLayer::angle
double angle() const
Returns the rotation angle for the marker, in degrees clockwise from north.
Definition: qgssymbollayer.h:633
QgsSymbolLayer::PropertySecondaryColor
@ PropertySecondaryColor
Secondary color (eg for gradient fills)
Definition: qgssymbollayer.h:146
QgsMarkerSymbolLayer::setScaleMethod
void setScaleMethod(QgsSymbol::ScaleMethod scaleMethod)
Sets the method to use for scaling the marker's size.
Definition: qgssymbollayer.h:702
QgsSymbolLayer::PropertyJoinStyle
@ PropertyJoinStyle
Line join style.
Definition: qgssymbollayer.h:145
QgsSymbolLayer::PropertyWidth
@ PropertyWidth
Symbol width.
Definition: qgssymbollayer.h:141
QgsMarkerSymbolLayer::sizeMapUnitScale
const QgsMapUnitScale & sizeMapUnitScale() const
Returns the map unit scale for the symbol's size.
Definition: qgssymbollayer.h:695