QGIS API Documentation 3.43.0-Master (32433f7016e)
qgsfillsymbollayer.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsfillsymbollayer.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
16#ifndef QGSFILLSYMBOLLAYER_H
17#define QGSFILLSYMBOLLAYER_H
18
19#include "qgis_core.h"
20#include "qgis.h"
21#include "qgssymbollayer.h"
22
23#define DEFAULT_SIMPLEFILL_COLOR QColor(0,0,255)
24#define DEFAULT_SIMPLEFILL_STYLE Qt::SolidPattern
25#define DEFAULT_SIMPLEFILL_BORDERCOLOR QColor( 35, 35, 35 )
26#define DEFAULT_SIMPLEFILL_BORDERSTYLE Qt::SolidLine
27#define DEFAULT_SIMPLEFILL_BORDERWIDTH Qgis::DEFAULT_LINE_WIDTH
28#define DEFAULT_SIMPLEFILL_JOINSTYLE Qt::BevelJoin
29
30#define INF 1E20
31
32#include <QPen>
33#include <QBrush>
34
35class QgsMarkerSymbol;
36class QgsLineSymbol;
37class QgsPathResolver;
38
45{
46 public:
48 Qt::BrushStyle style = DEFAULT_SIMPLEFILL_STYLE,
49 const QColor &strokeColor = DEFAULT_SIMPLEFILL_BORDERCOLOR,
50 Qt::PenStyle strokeStyle = DEFAULT_SIMPLEFILL_BORDERSTYLE,
51 double strokeWidth = DEFAULT_SIMPLEFILL_BORDERWIDTH,
52 Qt::PenJoinStyle penJoinStyle = DEFAULT_SIMPLEFILL_JOINSTYLE
53 );
54
56
57 // static stuff
58
64 static QgsSymbolLayer *create( const QVariantMap &properties = QVariantMap() ) SIP_FACTORY;
65 static QgsSymbolLayer *createFromSld( QDomElement &element ) SIP_FACTORY;
66
67 // implemented from base classes
68
69 QString layerType() const override;
70 Qgis::SymbolLayerFlags flags() const override;
71 void startRender( QgsSymbolRenderContext &context ) override;
72 void stopRender( QgsSymbolRenderContext &context ) override;
73 void renderPolygon( const QPolygonF &points, const QVector<QPolygonF> *rings, QgsSymbolRenderContext &context ) override;
74 QVariantMap properties() const override;
75 QgsSimpleFillSymbolLayer *clone() const override SIP_FACTORY;
76 void toSld( QDomDocument &doc, QDomElement &element, const QVariantMap &props ) const override;
77 QString ogrFeatureStyle( double mmScaleFactor, double mapUnitScaleFactor ) const override;
78
79 Qt::BrushStyle brushStyle() const { return mBrushStyle; }
80 void setBrushStyle( Qt::BrushStyle style ) { mBrushStyle = style; }
81
82 QColor strokeColor() const override { return mStrokeColor; }
83 void setStrokeColor( const QColor &strokeColor ) override { mStrokeColor = strokeColor; }
84 QColor fillColor() const override { return color(); }
85 void setFillColor( const QColor &color ) override { setColor( color ); }
86
87 Qt::PenStyle strokeStyle() const { return mStrokeStyle; }
88 void setStrokeStyle( Qt::PenStyle strokeStyle ) { mStrokeStyle = strokeStyle; }
89
90 double strokeWidth() const { return mStrokeWidth; }
91 void setStrokeWidth( double strokeWidth ) { mStrokeWidth = strokeWidth; }
92
93 Qt::PenJoinStyle penJoinStyle() const { return mPenJoinStyle; }
94 void setPenJoinStyle( Qt::PenJoinStyle style ) { mPenJoinStyle = style; }
95
104 void setOffset( QPointF offset ) { mOffset = offset; }
105
114 QPointF offset() const { return mOffset; }
115
121 void setStrokeWidthUnit( Qgis::RenderUnit unit ) { mStrokeWidthUnit = unit; }
122
127 Qgis::RenderUnit strokeWidthUnit() const { return mStrokeWidthUnit; }
128
129 void setStrokeWidthMapUnitScale( const QgsMapUnitScale &scale ) { mStrokeWidthMapUnitScale = scale; }
130 const QgsMapUnitScale &strokeWidthMapUnitScale() const { return mStrokeWidthMapUnitScale; }
131
137 void setOffsetUnit( Qgis::RenderUnit unit ) { mOffsetUnit = unit; }
138
144 Qgis::RenderUnit offsetUnit() const { return mOffsetUnit; }
145
151 void setOffsetMapUnitScale( const QgsMapUnitScale &scale ) { mOffsetMapUnitScale = scale; }
152
158 const QgsMapUnitScale &offsetMapUnitScale() const { return mOffsetMapUnitScale; }
159
160 void setOutputUnit( Qgis::RenderUnit unit ) override;
161 Qgis::RenderUnit outputUnit() const override;
162 bool usesMapUnits() const override;
163
164 void setMapUnitScale( const QgsMapUnitScale &scale ) override;
165 QgsMapUnitScale mapUnitScale() const override;
166
167 double estimateMaxBleed( const QgsRenderContext &context ) const override;
168
169 double dxfWidth( const QgsDxfExport &e, QgsSymbolRenderContext &context ) const override;
170 QColor dxfColor( QgsSymbolRenderContext &context ) const override;
171 double dxfAngle( QgsSymbolRenderContext &context ) const override;
172
173 Qt::PenStyle dxfPenStyle() const override;
174 QColor dxfBrushColor( QgsSymbolRenderContext &context ) const override;
175 Qt::BrushStyle dxfBrushStyle() const override;
176 QImage toTiledPatternImage( ) const override;
177
178 protected:
179 QBrush mBrush;
180 QBrush mSelBrush;
181 Qt::BrushStyle mBrushStyle;
183 Qt::PenStyle mStrokeStyle;
187 Qt::PenJoinStyle mPenJoinStyle;
188 QPen mPen;
190
191 QPointF mOffset;
194
195 private:
196 //helper functions for data defined symbology
197 void applyDataDefinedSymbology( QgsSymbolRenderContext &context, QBrush &brush, QPen &pen, QPen &selPen );
198
199};
200
201class QgsColorRamp;
202
209{
210 public:
211
216 const QColor &color2 = Qt::white,
221 );
222
224
225 // static stuff
226
232 static QgsSymbolLayer *create( const QVariantMap &properties = QVariantMap() ) SIP_FACTORY;
233
234 // implemented from base classes
235
236 Qgis::SymbolLayerFlags flags() const override;
237 QString layerType() const override;
238 void startRender( QgsSymbolRenderContext &context ) override;
239 void stopRender( QgsSymbolRenderContext &context ) override;
240 void renderPolygon( const QPolygonF &points, const QVector<QPolygonF> *rings, QgsSymbolRenderContext &context ) override;
241 QVariantMap properties() const override;
243 double estimateMaxBleed( const QgsRenderContext &context ) const override;
244 bool canCauseArtifactsBetweenAdjacentTiles() const override;
245
251 Qgis::GradientType gradientType() const { return mGradientType; }
252
258 void setGradientType( Qgis::GradientType gradientType ) { mGradientType = gradientType; }
259
265 Qgis::GradientColorSource gradientColorType() const { return mGradientColorType; }
266
272 void setGradientColorType( Qgis::GradientColorSource gradientColorType ) { mGradientColorType = gradientColorType; }
273
280 QgsColorRamp *colorRamp() { return mGradientRamp; }
281
289 void setColorRamp( QgsColorRamp *ramp SIP_TRANSFER );
290
296 QColor color2() const { return mColor2; }
297
303 void setColor2( const QColor &color2 ) { mColor2 = color2; }
304
310 Qgis::SymbolCoordinateReference coordinateMode() const { return mCoordinateMode; }
311
317 void setCoordinateMode( Qgis::SymbolCoordinateReference coordinateMode ) { mCoordinateMode = coordinateMode; }
318
324 Qgis::GradientSpread gradientSpread() const { return mGradientSpread; }
325
331 void setGradientSpread( Qgis::GradientSpread gradientSpread ) { mGradientSpread = gradientSpread; }
332
338 void setReferencePoint1( QPointF referencePoint ) { mReferencePoint1 = referencePoint; }
339
345 QPointF referencePoint1() const { return mReferencePoint1; }
346
352 void setReferencePoint1IsCentroid( bool isCentroid ) { mReferencePoint1IsCentroid = isCentroid; }
353
359 bool referencePoint1IsCentroid() const { return mReferencePoint1IsCentroid; }
360
366 void setReferencePoint2( QPointF referencePoint ) { mReferencePoint2 = referencePoint; }
367
373 QPointF referencePoint2() const { return mReferencePoint2; }
374
380 void setReferencePoint2IsCentroid( bool isCentroid ) { mReferencePoint2IsCentroid = isCentroid; }
381
382
388 bool referencePoint2IsCentroid() const { return mReferencePoint2IsCentroid; }
389
398 void setOffset( QPointF offset ) { mOffset = offset; }
399
408 QPointF offset() const { return mOffset; }
409
415 void setOffsetUnit( Qgis::RenderUnit unit ) { mOffsetUnit = unit; }
416
422 Qgis::RenderUnit offsetUnit() const { return mOffsetUnit; }
423
429 void setOffsetMapUnitScale( const QgsMapUnitScale &scale ) { mOffsetMapUnitScale = scale; }
430
436 const QgsMapUnitScale &offsetMapUnitScale() const { return mOffsetMapUnitScale; }
437
438 void setOutputUnit( Qgis::RenderUnit unit ) override;
439 Qgis::RenderUnit outputUnit() const override;
440 bool usesMapUnits() const override;
441
442 void setMapUnitScale( const QgsMapUnitScale &scale ) override;
443 QgsMapUnitScale mapUnitScale() const override;
444
445 protected:
446 QBrush mBrush;
447 QBrush mSelBrush;
448
450 QColor mColor2;
451 QgsColorRamp *mGradientRamp = nullptr;
455
457 bool mReferencePoint1IsCentroid = false;
459 bool mReferencePoint2IsCentroid = false;
460
461 QPointF mOffset;
464
465 private:
466
467 //helper functions for data defined symbology
468 void applyDataDefinedSymbology( QgsSymbolRenderContext &context, const QPolygonF &points );
469
471 void applyGradient( const QgsSymbolRenderContext &context, QBrush &brush, const QColor &color, const QColor &color2,
472 Qgis::GradientColorSource gradientColorType, QgsColorRamp *gradientRamp, Qgis::GradientType gradientType,
473 Qgis::SymbolCoordinateReference coordinateMode, Qgis::GradientSpread gradientSpread,
474 QPointF referencePoint1, QPointF referencePoint2, double angle );
475
477 QPointF rotateReferencePoint( QPointF refPoint, double angle );
478};
479
486{
487 public:
488
492 QgsShapeburstFillSymbolLayer( const QColor &color = DEFAULT_SIMPLEFILL_COLOR, const QColor &color2 = Qt::white,
494 int blurRadius = 0, bool useWholeShape = true, double maxDistance = 5 );
495
497
503
509
510 // static stuff
511
517 static QgsSymbolLayer *create( const QVariantMap &properties = QVariantMap() ) SIP_FACTORY;
518
519 // implemented from base classes
520
521 QString layerType() const override;
522 Qgis::SymbolLayerFlags flags() const override;
523 void startRender( QgsSymbolRenderContext &context ) override;
524 void stopRender( QgsSymbolRenderContext &context ) override;
525 void renderPolygon( const QPolygonF &points, const QVector<QPolygonF> *rings, QgsSymbolRenderContext &context ) override;
526 QVariantMap properties() const override;
527 QgsShapeburstFillSymbolLayer *clone() const override SIP_FACTORY;
528 double estimateMaxBleed( const QgsRenderContext &context ) const override;
529 bool canCauseArtifactsBetweenAdjacentTiles() const override;
530
536 void setBlurRadius( int blurRadius ) { mBlurRadius = blurRadius; }
537
543 int blurRadius() const { return mBlurRadius; }
544
552 void setUseWholeShape( bool useWholeShape ) { mUseWholeShape = useWholeShape; }
553
560 bool useWholeShape() const { return mUseWholeShape; }
561
569 void setMaxDistance( double maxDistance ) { mMaxDistance = maxDistance; }
570
578 double maxDistance() const { return mMaxDistance; }
579
586 void setDistanceUnit( Qgis::RenderUnit unit ) { mDistanceUnit = unit; }
587
594 Qgis::RenderUnit distanceUnit() const { return mDistanceUnit; }
595
596 void setDistanceMapUnitScale( const QgsMapUnitScale &scale ) { mDistanceMapUnitScale = scale; }
597 const QgsMapUnitScale &distanceMapUnitScale() const { return mDistanceMapUnitScale; }
598
608 void setColorType( Qgis::GradientColorSource colorType ) { mColorType = colorType; }
609
619 Qgis::GradientColorSource colorType() const { return mColorType; }
620
629 void setColorRamp( QgsColorRamp *ramp SIP_TRANSFER );
630
637 QgsColorRamp *colorRamp() { return mGradientRamp.get(); }
638
645 void setColor2( const QColor &color2 ) { mColor2 = color2; }
646
653 QColor color2() const { return mColor2; }
654
661 void setIgnoreRings( bool ignoreRings ) { mIgnoreRings = ignoreRings; }
662
668 bool ignoreRings() const { return mIgnoreRings; }
669
676 void setOffset( QPointF offset ) { mOffset = offset; }
677
684 QPointF offset() const { return mOffset; }
685
692 void setOffsetUnit( Qgis::RenderUnit unit ) { mOffsetUnit = unit; }
693
700 Qgis::RenderUnit offsetUnit() const { return mOffsetUnit; }
701
702 void setOffsetMapUnitScale( const QgsMapUnitScale &scale ) { mOffsetMapUnitScale = scale; }
703 const QgsMapUnitScale &offsetMapUnitScale() const { return mOffsetMapUnitScale; }
704
705 void setOutputUnit( Qgis::RenderUnit unit ) override;
706 Qgis::RenderUnit outputUnit() const override;
707 bool usesMapUnits() const override;
708
709 void setMapUnitScale( const QgsMapUnitScale &scale ) override;
710 QgsMapUnitScale mapUnitScale() const override;
711
712 private:
713 QBrush mBrush;
714 QBrush mSelBrush;
715
716 int mBlurRadius = 0;
717
718 bool mUseWholeShape = true;
719 double mMaxDistance = 5.0;
721 QgsMapUnitScale mDistanceMapUnitScale;
722
724 QColor mColor2;
725
726 bool mIgnoreRings = false;
727
728 QPointF mOffset;
730 QgsMapUnitScale mOffsetMapUnitScale;
731
732 std::unique_ptr< QgsColorRamp > mGradientRamp;
733
734 //helper functions for data defined symbology
735 void applyDataDefinedSymbology( QgsSymbolRenderContext &context, QColor &color, QColor &color2, int &blurRadius, bool &useWholeShape,
736 double &maxDistance, bool &ignoreRings );
737
738 /* distance transform of a 1d function using squared distance */
739 void distanceTransform1d( double *f, int n, int *v, double *z, double *d );
740 /* distance transform of 2d function using squared distance */
741 void distanceTransform2d( double *im, int width, int height, QgsRenderContext &context );
742 /* distance transform of a binary QImage */
743 double *distanceTransform( QImage *im, QgsRenderContext &context );
744
745 /* fills a QImage with values from an array of doubles containing squared distance transform values */
746 void dtArrayToQImage( double *array, QImage *im, QgsColorRamp *ramp, QgsRenderContext &context, bool useWholeShape = true, int maxPixelDistance = 0 );
747
748#ifdef SIP_RUN
750#endif
751};
752
758{
759 public:
760
763
764 void renderPolygon( const QPolygonF &points, const QVector<QPolygonF> *rings, QgsSymbolRenderContext &context ) override;
765
771 void setStrokeWidthUnit( Qgis::RenderUnit unit ) { mStrokeWidthUnit = unit; }
772
778 Qgis::RenderUnit strokeWidthUnit() const { return mStrokeWidthUnit; }
779
786 void setStrokeWidthMapUnitScale( const QgsMapUnitScale &scale ) { mStrokeWidthMapUnitScale = scale; }
787
795 const QgsMapUnitScale &strokeWidthMapUnitScale() const { return mStrokeWidthMapUnitScale; }
796
804 void setCoordinateReference( Qgis::SymbolCoordinateReference coordinateReference ) { mCoordinateReference = coordinateReference; }
805
813 Qgis::SymbolCoordinateReference coordinateReference() const { return mCoordinateReference; }
814
815 void setOutputUnit( Qgis::RenderUnit unit ) override;
816 Qgis::RenderUnit outputUnit() const override;
817 void setMapUnitScale( const QgsMapUnitScale &scale ) override;
818 QgsMapUnitScale mapUnitScale() const override;
819 double dxfWidth( const QgsDxfExport &e, QgsSymbolRenderContext &context ) const override;
820 Qt::PenStyle dxfPenStyle() const override;
821 QVariantMap properties() const override;
822
823 protected:
824 QBrush mBrush;
826 double mNextAngle = 0.0; // mAngle / data defined angle
827
829 double mStrokeWidth = 0.0;
832
836 virtual void applyDataDefinedSettings( QgsSymbolRenderContext &context ) { Q_UNUSED( context ) }
837
843 virtual bool applyBrushTransformFromContext( QgsSymbolRenderContext *context = nullptr ) const;
844
845 private:
846#ifdef SIP_RUN
848#endif
849};
850
857{
858 public:
859
864 QgsRasterFillSymbolLayer( const QString &imageFilePath = QString() );
865
867
872 static QgsSymbolLayer *create( const QVariantMap &properties = QVariantMap() ) SIP_FACTORY;
873
879 static QgsSymbolLayer *createFromSld( QDomElement &element ) SIP_FACTORY;
880
885 static void resolvePaths( QVariantMap &properties, const QgsPathResolver &pathResolver, bool saving );
886
887 // implemented from base classes
888 QString layerType() const override;
889 Qgis::SymbolLayerFlags flags() const override;
890 void renderPolygon( const QPolygonF &points, const QVector<QPolygonF> *rings, QgsSymbolRenderContext &context ) override;
891 void startRender( QgsSymbolRenderContext &context ) override;
892 void stopRender( QgsSymbolRenderContext &context ) override;
893 QVariantMap properties() const override;
894 QgsRasterFillSymbolLayer *clone() const override SIP_FACTORY;
895 double estimateMaxBleed( const QgsRenderContext &context ) const override;
896 bool usesMapUnits() const override;
897 QColor color() const override;
898 void setOutputUnit( Qgis::RenderUnit unit ) override;
899
900 //override QgsImageFillSymbolLayer's support for sub symbols
901 QgsSymbol *subSymbol() override { return nullptr; }
902 bool setSubSymbol( QgsSymbol *symbol SIP_TRANSFER ) override;
903
909 void setImageFilePath( const QString &imagePath );
910
916 QString imageFilePath() const { return mImageFilePath; }
917
924 void setCoordinateMode( Qgis::SymbolCoordinateReference mode );
925
932 Qgis::SymbolCoordinateReference coordinateMode() const { return mCoordinateMode; }
933
939 void setOpacity( double opacity );
940
946 double opacity() const { return mOpacity; }
947
955 void setOffset( QPointF offset ) { mOffset = offset; }
956
964 QPointF offset() const { return mOffset; }
965
973 void setOffsetUnit( const Qgis::RenderUnit unit ) { mOffsetUnit = unit; }
974
982 Qgis::RenderUnit offsetUnit() const { return mOffsetUnit; }
983
991 void setOffsetMapUnitScale( const QgsMapUnitScale &scale ) { mOffsetMapUnitScale = scale; }
992
1000 const QgsMapUnitScale &offsetMapUnitScale() const { return mOffsetMapUnitScale; }
1001
1013 void setWidth( double width ) { mWidth = width; }
1014
1025 double width() const { return mWidth; }
1026
1038 void setHeight( double height ) { mHeight = height; }
1039
1050 double height() const { return mHeight; }
1051
1061 Q_DECL_DEPRECATED void setWidthUnit( Qgis::RenderUnit unit ) SIP_DEPRECATED { mSizeUnit = unit; }
1062
1072 void setSizeUnit( Qgis::RenderUnit unit ) { mSizeUnit = unit; }
1073
1083 Q_DECL_DEPRECATED Qgis::RenderUnit widthUnit() const SIP_DEPRECATED { return mSizeUnit; }
1084
1095 Qgis::RenderUnit sizeUnit() const { return mSizeUnit; }
1096
1106 Q_DECL_DEPRECATED void setWidthMapUnitScale( const QgsMapUnitScale &scale ) SIP_DEPRECATED { mSizeMapUnitScale = scale; }
1107
1118 void setSizeMapUnitScale( const QgsMapUnitScale &scale ) { mSizeMapUnitScale = scale; }
1119
1129 Q_DECL_DEPRECATED const QgsMapUnitScale &widthMapUnitScale() const SIP_DEPRECATED { return mSizeMapUnitScale; }
1130
1141 const QgsMapUnitScale &sizeMapUnitScale() const { return mSizeMapUnitScale; }
1142
1143 protected:
1144
1145 void applyDataDefinedSettings( QgsSymbolRenderContext &context ) override;
1146 bool applyBrushTransformFromContext( QgsSymbolRenderContext *context = nullptr ) const override;
1147 private:
1148
1150 QString mImageFilePath;
1152 double mOpacity = 1.0;
1153
1154 QPointF mOffset;
1156 QgsMapUnitScale mOffsetMapUnitScale;
1157
1158 double mWidth = 0.0;
1160 QgsMapUnitScale mSizeMapUnitScale;
1161
1162 double mHeight = 0.0;
1163
1165 void applyPattern( QBrush &brush, const QString &imageFilePath, double width, double height, double opacity,
1166 const QgsSymbolRenderContext &context );
1167};
1168
1174{
1175 public:
1176
1180 QgsSVGFillSymbolLayer( const QString &svgFilePath, double width = 20, double rotation = 0.0 );
1181
1185 QgsSVGFillSymbolLayer( const QByteArray &svgData, double width = 20, double rotation = 0.0 );
1186
1188
1193 static QgsSymbolLayer *create( const QVariantMap &properties = QVariantMap() ) SIP_FACTORY;
1194
1199 static QgsSymbolLayer *createFromSld( QDomElement &element ) SIP_FACTORY;
1200
1205 static void resolvePaths( QVariantMap &properties, const QgsPathResolver &pathResolver, bool saving );
1206
1207 // implemented from base classes
1208
1209 QString layerType() const override;
1210 void startRender( QgsSymbolRenderContext &context ) override;
1211 void stopRender( QgsSymbolRenderContext &context ) override;
1212 void renderPolygon( const QPolygonF &points, const QVector<QPolygonF> *rings, QgsSymbolRenderContext &context ) override;
1213 QVariantMap properties() const override;
1214 QgsSVGFillSymbolLayer *clone() const override SIP_FACTORY;
1215 void toSld( QDomDocument &doc, QDomElement &element, const QVariantMap &props ) const override;
1216 bool usesMapUnits() const override;
1217 QgsSymbol *subSymbol() override;
1218 bool setSubSymbol( QgsSymbol *symbol SIP_TRANSFER ) override;
1219 double estimateMaxBleed( const QgsRenderContext &context ) const override;
1220 QColor dxfColor( QgsSymbolRenderContext &context ) const override;
1221 QSet<QString> usedAttributes( const QgsRenderContext &context ) const override;
1222 bool hasDataDefinedProperties() const override;
1223
1235 void setSvgFilePath( const QString &svgPath );
1236
1242 QString svgFilePath() const { return mSvgFilePath; }
1243
1253 void setPatternWidth( double width ) { mPatternWidth = width;}
1254
1264 double patternWidth() const { return mPatternWidth; }
1265
1275 void setSvgFillColor( const QColor &c ) { setColor( c ); }
1276
1285 QColor svgFillColor() const { return color(); }
1286
1296 void setSvgStrokeColor( const QColor &c ) { mSvgStrokeColor = c; }
1297
1306 QColor svgStrokeColor() const { return mSvgStrokeColor; }
1307
1318 void setSvgStrokeWidth( double w ) { mSvgStrokeWidth = w; }
1319
1330 double svgStrokeWidth() const { return mSvgStrokeWidth; }
1331
1339 void setPatternWidthUnit( Qgis::RenderUnit unit ) { mPatternWidthUnit = unit; }
1340
1348 Qgis::RenderUnit patternWidthUnit() const { return mPatternWidthUnit; }
1349
1357 void setPatternWidthMapUnitScale( const QgsMapUnitScale &scale ) { mPatternWidthMapUnitScale = scale; }
1358
1366 const QgsMapUnitScale &patternWidthMapUnitScale() const { return mPatternWidthMapUnitScale; }
1367
1375 void setSvgStrokeWidthUnit( Qgis::RenderUnit unit ) { mSvgStrokeWidthUnit = unit; }
1376
1384 Qgis::RenderUnit svgStrokeWidthUnit() const { return mSvgStrokeWidthUnit; }
1385
1393 void setSvgStrokeWidthMapUnitScale( const QgsMapUnitScale &scale ) { mSvgStrokeWidthMapUnitScale = scale; }
1394
1402 const QgsMapUnitScale &svgStrokeWidthMapUnitScale() const { return mSvgStrokeWidthMapUnitScale; }
1403
1404 void setOutputUnit( Qgis::RenderUnit unit ) override;
1405 Qgis::RenderUnit outputUnit() const override;
1406
1407 void setMapUnitScale( const QgsMapUnitScale &scale ) override;
1408 QgsMapUnitScale mapUnitScale() const override;
1409
1414 QMap<QString, QgsProperty> parameters() const { return mParameters; }
1415
1420 void setParameters( const QMap<QString, QgsProperty> &parameters );
1421
1422 protected:
1423
1424 void applyDataDefinedSettings( QgsSymbolRenderContext &context ) override;
1425
1426 private:
1427
1429 double mPatternWidth = 20;
1431 QgsMapUnitScale mPatternWidthMapUnitScale;
1432 QMap<QString, QgsProperty> mParameters;
1433
1435 QByteArray mSvgData;
1437 QString mSvgFilePath;
1439 QRectF mSvgViewBox;
1440
1441 //param(fill), param(stroke), param(stroke-width) are going
1442 //to be replaced in memory
1443 QColor mSvgStrokeColor = QColor( 35, 35, 35 );
1444 double mSvgStrokeWidth = 0.2;
1445 Qgis::RenderUnit mSvgStrokeWidthUnit = Qgis::RenderUnit::Millimeters;
1446 QgsMapUnitScale mSvgStrokeWidthMapUnitScale;
1447
1449 std::unique_ptr< QgsLineSymbol > mStroke;
1450
1452 void storeViewBox();
1453 void setDefaultSvgParams(); //fills mSvgFillColor, mSvgStrokeColor, mSvgStrokeWidth with default values for mSvgFilePath
1454
1456 void applyPattern( QBrush &brush, const QString &svgFilePath, double patternWidth, Qgis::RenderUnit patternWidthUnit, const QColor &svgFillColor, const QColor &svgStrokeColor,
1457 double svgStrokeWidth, Qgis::RenderUnit svgStrokeWidthUnit, const QgsSymbolRenderContext &context, const QgsMapUnitScale &patternWidthMapUnitScale, const QgsMapUnitScale &svgStrokeWidthMapUnitScale,
1458 const QgsStringMap svgParameters );
1459};
1460
1467{
1468 public:
1471
1476 static QgsSymbolLayer *create( const QVariantMap &properties = QVariantMap() ) SIP_FACTORY;
1477
1482 static QgsSymbolLayer *createFromSld( QDomElement &element ) SIP_FACTORY;
1483
1484 QString layerType() const override;
1485 void startRender( QgsSymbolRenderContext &context ) override;
1486 void stopRender( QgsSymbolRenderContext &context ) override;
1487 void renderPolygon( const QPolygonF &points, const QVector<QPolygonF> *rings, QgsSymbolRenderContext &context ) override;
1488 QVariantMap properties() const override;
1489 QgsLinePatternFillSymbolLayer *clone() const override SIP_FACTORY;
1490 void toSld( QDomDocument &doc, QDomElement &element, const QVariantMap &props ) const override;
1491 QImage toTiledPatternImage( ) const override;
1492 double estimateMaxBleed( const QgsRenderContext &context ) const override;
1493
1494 QString ogrFeatureStyleWidth( double widthScaleFactor ) const;
1495
1503 void setLineAngle( double a ) { mLineAngle = a; }
1504
1512 double lineAngle() const { return mLineAngle; }
1513
1520 void setDistance( double d ) { mDistance = d; }
1521
1527 double distance() const { return mDistance; }
1528
1535 void setLineWidth( double w );
1536
1543 double lineWidth() const { return mLineWidth; }
1544
1545 void setColor( const QColor &c ) override;
1546 QColor color() const override;
1547
1559 void setOffset( double offset ) { mOffset = offset; }
1560
1572 double offset() const { return mOffset; }
1573
1580 void setDistanceUnit( Qgis::RenderUnit unit ) { mDistanceUnit = unit; }
1581
1588 Qgis::RenderUnit distanceUnit() const { return mDistanceUnit; }
1589
1597 void setDistanceMapUnitScale( const QgsMapUnitScale &scale ) { mDistanceMapUnitScale = scale; }
1598
1606 const QgsMapUnitScale &distanceMapUnitScale() const { return mDistanceMapUnitScale; }
1607
1613 void setLineWidthUnit( Qgis::RenderUnit unit ) { mLineWidthUnit = unit; }
1614
1620 Qgis::RenderUnit lineWidthUnit() const { return mLineWidthUnit; }
1621
1629 void setLineWidthMapUnitScale( const QgsMapUnitScale &scale ) { mLineWidthMapUnitScale = scale; }
1630
1638 const QgsMapUnitScale &lineWidthMapUnitScale() const { return mLineWidthMapUnitScale; }
1639
1645 void setOffsetUnit( Qgis::RenderUnit unit ) { mOffsetUnit = unit; }
1646
1652 Qgis::RenderUnit offsetUnit() const { return mOffsetUnit; }
1653
1661 void setOffsetMapUnitScale( const QgsMapUnitScale &scale ) { mOffsetMapUnitScale = scale; }
1662
1670 const QgsMapUnitScale &offsetMapUnitScale() const { return mOffsetMapUnitScale; }
1671
1678 Qgis::LineClipMode clipMode() const { return mClipMode; }
1679
1686 void setClipMode( Qgis::LineClipMode mode ) { mClipMode = mode; }
1687
1688 void setOutputUnit( Qgis::RenderUnit unit ) override;
1689 Qgis::RenderUnit outputUnit() const override;
1690 bool usesMapUnits() const override;
1691 void setMapUnitScale( const QgsMapUnitScale &scale ) override;
1692 QgsMapUnitScale mapUnitScale() const override;
1693 bool setSubSymbol( QgsSymbol *symbol SIP_TRANSFER ) override;
1694 QgsSymbol *subSymbol() override;
1695 QSet<QString> usedAttributes( const QgsRenderContext &context ) const override;
1696 bool hasDataDefinedProperties() const override;
1697 void startFeatureRender( const QgsFeature &feature, QgsRenderContext &context ) override;
1698 void stopFeatureRender( const QgsFeature &feature, QgsRenderContext &context ) override;
1699
1700 protected:
1701
1702 void applyDataDefinedSettings( QgsSymbolRenderContext &context ) override;
1703
1704 private:
1706 double mDistance = 5.0;
1708 QgsMapUnitScale mDistanceMapUnitScale;
1710 double mLineWidth = 0;
1712 QgsMapUnitScale mLineWidthMapUnitScale;
1714 double mLineAngle = 45.0;
1716 double mOffset = 0.0;
1718 QgsMapUnitScale mOffsetMapUnitScale;
1719
1720 bool mRenderUsingLines = false;
1721
1722#ifdef SIP_RUN
1724#endif
1725
1727 bool applyPattern( const QgsSymbolRenderContext &context, QBrush &brush, double lineAngle, double distance );
1728
1730 std::unique_ptr< QgsLineSymbol > mFillLineSymbol;
1731 bool mFillLineSymbolRenderStarted = false;
1732
1734};
1735
1742{
1743 public:
1746
1752 static QgsSymbolLayer *create( const QVariantMap &properties = QVariantMap() ) SIP_FACTORY;
1753 static QgsSymbolLayer *createFromSld( QDomElement &element ) SIP_FACTORY;
1754
1755 QString layerType() const override;
1756 void startRender( QgsSymbolRenderContext &context ) override;
1757 void stopRender( QgsSymbolRenderContext &context ) override;
1758 void startFeatureRender( const QgsFeature &feature, QgsRenderContext &context ) override;
1759 void stopFeatureRender( const QgsFeature &feature, QgsRenderContext &context ) override;
1760 void renderPolygon( const QPolygonF &points, const QVector<QPolygonF> *rings, QgsSymbolRenderContext &context ) override;
1761 QVariantMap properties() const override;
1762 QgsPointPatternFillSymbolLayer *clone() const override SIP_FACTORY;
1763 void toSld( QDomDocument &doc, QDomElement &element, const QVariantMap &props ) const override;
1764 QImage toTiledPatternImage( ) const override;
1765 double estimateMaxBleed( const QgsRenderContext &context ) const override;
1766 bool setSubSymbol( QgsSymbol *symbol SIP_TRANSFER ) override;
1767 QgsSymbol *subSymbol() override;
1768 void setOutputUnit( Qgis::RenderUnit unit ) override;
1769 Qgis::RenderUnit outputUnit() const override;
1770 bool usesMapUnits() const override;
1771 void setMapUnitScale( const QgsMapUnitScale &scale ) override;
1772 QgsMapUnitScale mapUnitScale() const override;
1773 QSet<QString> usedAttributes( const QgsRenderContext &context ) const override;
1774 bool hasDataDefinedProperties() const override;
1775 void setColor( const QColor &c ) override;
1776 QColor color() const override;
1777
1787 double distanceX() const { return mDistanceX; }
1788
1798 void setDistanceX( double d ) { mDistanceX = d; }
1799
1806 void setDistanceXUnit( Qgis::RenderUnit unit ) { mDistanceXUnit = unit; }
1807
1813 Qgis::RenderUnit distanceXUnit() const { return mDistanceXUnit; }
1814
1821 void setDistanceXMapUnitScale( const QgsMapUnitScale &scale ) { mDistanceXMapUnitScale = scale; }
1822
1829 const QgsMapUnitScale &distanceXMapUnitScale() const { return mDistanceXMapUnitScale; }
1830
1840 double distanceY() const { return mDistanceY; }
1841
1851 void setDistanceY( double d ) { mDistanceY = d; }
1852
1859 void setDistanceYUnit( Qgis::RenderUnit unit ) { mDistanceYUnit = unit; }
1860
1866 Qgis::RenderUnit distanceYUnit() const { return mDistanceYUnit; }
1867
1874 void setDistanceYMapUnitScale( const QgsMapUnitScale &scale ) { mDistanceYMapUnitScale = scale; }
1875
1882 const QgsMapUnitScale &distanceYMapUnitScale() const { return mDistanceYMapUnitScale; }
1883
1893 double displacementX() const { return mDisplacementX; }
1894
1904 void setDisplacementX( double d ) { mDisplacementX = d; }
1905
1912 void setDisplacementXUnit( Qgis::RenderUnit unit ) { mDisplacementXUnit = unit; }
1913
1919 Qgis::RenderUnit displacementXUnit() const { return mDisplacementXUnit; }
1920
1927 void setDisplacementXMapUnitScale( const QgsMapUnitScale &scale ) { mDisplacementXMapUnitScale = scale; }
1928
1935 const QgsMapUnitScale &displacementXMapUnitScale() const { return mDisplacementXMapUnitScale; }
1936
1946 double displacementY() const { return mDisplacementY; }
1947
1957 void setDisplacementY( double d ) { mDisplacementY = d; }
1958
1965 void setDisplacementYUnit( Qgis::RenderUnit unit ) { mDisplacementYUnit = unit; }
1966
1972 Qgis::RenderUnit displacementYUnit() const { return mDisplacementYUnit; }
1973
1980 void setDisplacementYMapUnitScale( const QgsMapUnitScale &scale ) { mDisplacementYMapUnitScale = scale; }
1981
1988 const QgsMapUnitScale &displacementYMapUnitScale() const { return mDisplacementYMapUnitScale; }
1989
1997 void setOffsetX( double offset ) { mOffsetX = offset; }
1998
2005 double offsetX() const { return mOffsetX; }
2006
2014 void setOffsetY( double offset ) { mOffsetY = offset; }
2015
2022 double offsetY() const { return mOffsetY; }
2023
2031 void setOffsetXUnit( Qgis::RenderUnit unit ) { mOffsetXUnit = unit; }
2032
2039 Qgis::RenderUnit offsetXUnit() const { return mOffsetXUnit; }
2040
2048 void setOffsetXMapUnitScale( const QgsMapUnitScale &scale ) { mOffsetXMapUnitScale = scale; }
2049
2056 const QgsMapUnitScale &offsetXMapUnitScale() const { return mOffsetXMapUnitScale; }
2057
2065 void setOffsetYUnit( Qgis::RenderUnit unit ) { mOffsetYUnit = unit; }
2066
2073 Qgis::RenderUnit offsetYUnit() const { return mOffsetYUnit; }
2074
2082 void setOffsetYMapUnitScale( const QgsMapUnitScale &scale ) { mOffsetYMapUnitScale = scale; }
2083
2090 const QgsMapUnitScale &offsetYMapUnitScale() const { return mOffsetYMapUnitScale; }
2091
2098 Qgis::MarkerClipMode clipMode() const { return mClipMode; }
2099
2106 void setClipMode( Qgis::MarkerClipMode mode ) { mClipMode = mode; }
2107
2117 void setMaximumRandomDeviationX( double deviation ) { mRandomDeviationX = deviation; }
2118
2128 double maximumRandomDeviationX() const { return mRandomDeviationX; }
2129
2139 void setMaximumRandomDeviationY( double deviation ) { mRandomDeviationY = deviation; }
2140
2150 double maximumRandomDeviationY() const { return mRandomDeviationY; }
2151
2159 void setRandomDeviationXUnit( Qgis::RenderUnit unit ) { mRandomDeviationXUnit = unit; }
2160
2168 Qgis::RenderUnit randomDeviationXUnit() const { return mRandomDeviationXUnit; }
2169
2177 void setRandomDeviationYUnit( Qgis::RenderUnit unit ) { mRandomDeviationYUnit = unit; }
2178
2187 Qgis::RenderUnit randomDeviationYUnit() const { return mRandomDeviationYUnit; }
2188
2196 const QgsMapUnitScale &randomDeviationXMapUnitScale() const { return mRandomDeviationXMapUnitScale; }
2197
2205 const QgsMapUnitScale &randomDeviationYMapUnitScale() const { return mRandomDeviationYMapUnitScale; }
2206
2214 void setRandomDeviationXMapUnitScale( const QgsMapUnitScale &scale ) { mRandomDeviationXMapUnitScale = scale; }
2215
2223 void setRandomDeviationYMapUnitScale( const QgsMapUnitScale &scale ) { mRandomDeviationYMapUnitScale = scale; }
2224
2231 unsigned long seed() const { return mSeed; }
2232
2241 void setSeed( unsigned long seed ) { mSeed = seed; }
2242
2243 protected:
2244 std::unique_ptr< QgsMarkerSymbol > mMarkerSymbol;
2245 bool mMarkerSymbolRenderStarted = false;
2246 double mDistanceX = 15;
2249 double mDistanceY = 15;
2252 double mDisplacementX = 0;
2255 double mDisplacementY = 0;
2258 double mOffsetX = 0;
2261 double mOffsetY = 0;
2264
2265 double mRandomDeviationX = 0;
2268 double mRandomDeviationY = 0;
2271 unsigned long mSeed = 0;
2272
2273 void applyDataDefinedSettings( QgsSymbolRenderContext &context ) override;
2274
2275 private:
2276#ifdef SIP_RUN
2278#endif
2279
2280 bool applyPattern( const QgsSymbolRenderContext &context, QBrush &brush, double distanceX, double distanceY,
2281 double displacementX, double displacementY, double offsetX, double offsetY );
2282
2284
2285 bool mRenderUsingMarkers = false;
2286};
2287
2297{
2298 public:
2299
2306 QgsRandomMarkerFillSymbolLayer( int pointCount = 10, Qgis::PointCountMethod method = Qgis::PointCountMethod::Absolute, double densityArea = 250.0, unsigned long seed = 0 );
2307
2309
2315 static QgsSymbolLayer *create( const QVariantMap &properties = QVariantMap() ) SIP_FACTORY;
2316
2317 QString layerType() const override;
2318 void startRender( QgsSymbolRenderContext &context ) override;
2319 void stopRender( QgsSymbolRenderContext &context ) override;
2320 void renderPolygon( const QPolygonF &points, const QVector<QPolygonF> *rings, QgsSymbolRenderContext &context ) override;
2321 QVariantMap properties() const override;
2322 QgsRandomMarkerFillSymbolLayer *clone() const override SIP_FACTORY;
2323 bool canCauseArtifactsBetweenAdjacentTiles() const override;
2324
2325 void setColor( const QColor &color ) override;
2326 QColor color() const override;
2327
2328 QgsSymbol *subSymbol() override;
2329 bool setSubSymbol( QgsSymbol *symbol SIP_TRANSFER ) FINAL;
2330
2331 void setOutputUnit( Qgis::RenderUnit unit ) override;
2332 Qgis::RenderUnit outputUnit() const override;
2333 bool usesMapUnits() const override;
2334
2335 void setMapUnitScale( const QgsMapUnitScale &scale ) override;
2336 QgsMapUnitScale mapUnitScale() const override;
2337
2338 QSet<QString> usedAttributes( const QgsRenderContext &context ) const override;
2339 bool hasDataDefinedProperties() const override;
2340
2346 int pointCount() const;
2347
2353 void setPointCount( int count );
2354
2360 unsigned long seed() const;
2361
2369 void setSeed( unsigned long seed );
2370
2376 bool clipPoints() const;
2377
2383 void setClipPoints( bool clipped );
2384
2390 Qgis::PointCountMethod countMethod() const;
2391
2397 void setCountMethod( Qgis::PointCountMethod method );
2398
2408 double densityArea() const;
2409
2415 void setDensityArea( double area );
2416
2422 void setDensityAreaUnit( Qgis::RenderUnit unit ) { mDensityAreaUnit = unit; }
2423
2428 Qgis::RenderUnit densityAreaUnit() const { return mDensityAreaUnit; }
2429
2437 void setDensityAreaUnitScale( const QgsMapUnitScale &scale ) { mDensityAreaUnitScale = scale; }
2438
2445 const QgsMapUnitScale &densityAreaUnitScale() const { return mDensityAreaUnitScale; }
2446
2447 void startFeatureRender( const QgsFeature &feature, QgsRenderContext &context ) override;
2448 void stopFeatureRender( const QgsFeature &feature, QgsRenderContext &context ) override;
2449
2450 private:
2451#ifdef SIP_RUN
2453#endif
2454
2455 struct Part
2456 {
2457 QPolygonF exterior;
2458 QVector<QPolygonF> rings;
2459 };
2460
2461 QVector< Part > mCurrentParts;
2462
2463 void render( QgsRenderContext &context, const QVector< Part > &parts, const QgsFeature &feature, bool selected );
2464
2465 std::unique_ptr< QgsMarkerSymbol > mMarker;
2467 int mPointCount = 10;
2468 double mDensityArea = 250.0;
2470 QgsMapUnitScale mDensityAreaUnitScale;
2471 unsigned long mSeed = 0;
2472 bool mClipPoints = false;
2473
2474 bool mRenderingFeature = false;
2475 double mFeatureSymbolOpacity = 1;
2476};
2477
2478
2486{
2487 public:
2490
2491 // static stuff
2492
2498 static QgsSymbolLayer *create( const QVariantMap &properties = QVariantMap() ) SIP_FACTORY;
2499 static QgsSymbolLayer *createFromSld( QDomElement &element ) SIP_FACTORY;
2500
2501 // implemented from base classes
2502
2503 QString layerType() const override;
2504 void startRender( QgsSymbolRenderContext &context ) override;
2505 void stopRender( QgsSymbolRenderContext &context ) override;
2506 void renderPolygon( const QPolygonF &points, const QVector<QPolygonF> *rings, QgsSymbolRenderContext &context ) override;
2507 QVariantMap properties() const override;
2508 QgsCentroidFillSymbolLayer *clone() const override SIP_FACTORY;
2509 void toSld( QDomDocument &doc, QDomElement &element, const QVariantMap &props ) const override;
2510 void setColor( const QColor &color ) override;
2511 QColor color() const override;
2512 QgsSymbol *subSymbol() override;
2513 bool setSubSymbol( QgsSymbol *symbol SIP_TRANSFER ) FINAL;
2514 void setOutputUnit( Qgis::RenderUnit unit ) override;
2515 Qgis::RenderUnit outputUnit() const override;
2516 bool usesMapUnits() const override;
2517 void setMapUnitScale( const QgsMapUnitScale &scale ) override;
2518 QgsMapUnitScale mapUnitScale() const override;
2519 QSet<QString> usedAttributes( const QgsRenderContext &context ) const override;
2520 bool hasDataDefinedProperties() const override;
2521 bool canCauseArtifactsBetweenAdjacentTiles() const override;
2522
2523 void setPointOnSurface( bool pointOnSurface ) { mPointOnSurface = pointOnSurface; }
2524 bool pointOnSurface() const { return mPointOnSurface; }
2525
2530 void setPointOnAllParts( bool pointOnAllParts ) { mPointOnAllParts = pointOnAllParts; }
2531
2536 bool pointOnAllParts() const { return mPointOnAllParts; }
2537
2544 bool clipPoints() const { return mClipPoints; }
2545
2552 void setClipPoints( bool clipPoints ) { mClipPoints = clipPoints; }
2553
2560 bool clipOnCurrentPartOnly() const { return mClipOnCurrentPartOnly; }
2561
2568 void setClipOnCurrentPartOnly( bool clipOnCurrentPartOnly ) { mClipOnCurrentPartOnly = clipOnCurrentPartOnly; }
2569
2570 void startFeatureRender( const QgsFeature &feature, QgsRenderContext &context ) override;
2571 void stopFeatureRender( const QgsFeature &feature, QgsRenderContext &context ) override;
2572
2573 protected:
2574
2575 std::unique_ptr< QgsMarkerSymbol > mMarker;
2576 bool mPointOnSurface = false;
2577 bool mPointOnAllParts = true;
2578 bool mClipPoints = false;
2579 bool mClipOnCurrentPartOnly = false;
2580
2581 bool mRenderingFeature = false;
2582 double mFeatureSymbolOpacity = 1;
2583 bool mUseSelectedColor = false;
2584
2585 private:
2586#ifdef SIP_RUN
2588#endif
2589 struct Part
2590 {
2591 QPolygonF exterior;
2592 QVector<QPolygonF> rings;
2593 };
2594
2595 void render( QgsRenderContext &context, const QVector<Part> &parts, const QgsFeature &feature, bool selected );
2596 QVector<Part> mCurrentParts;
2597};
2598
2599#endif
Provides global constants and enumerations for use throughout the application.
Definition qgis.h:54
MarkerClipMode
Marker clipping modes.
Definition qgis.h:3143
@ Shape
Clip to polygon shape.
LineClipMode
Line clipping modes.
Definition qgis.h:3157
@ ClipPainterOnly
Applying clipping on the painter only (i.e. line endpoints will coincide with polygon bounding box,...
GradientColorSource
Gradient color sources.
Definition qgis.h:3072
@ SimpleTwoColor
Simple two color gradient.
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
Definition qgis.h:3116
@ Pad
Pad out gradient using colors at endpoint of gradient.
PointCountMethod
Methods which define the number of points randomly filling a polygon.
Definition qgis.h:3131
@ Absolute
The point count is used as an absolute count of markers.
QFlags< SymbolLayerFlag > SymbolLayerFlags
Symbol layer flags.
Definition qgis.h:851
RenderUnit
Rendering size units.
Definition qgis.h:5013
@ Millimeters
Millimeters.
GradientType
Gradient types.
Definition qgis.h:3086
@ Linear
Linear gradient.
SymbolCoordinateReference
Symbol coordinate reference modes.
Definition qgis.h:3101
@ Feature
Relative to feature/shape being rendered.
A fill symbol layer which renders a marker symbol at the centroid of a polygon geometry.
void setPointOnAllParts(bool pointOnAllParts)
Sets whether a point is drawn for all parts or only on the biggest part of multi-part features.
void setClipOnCurrentPartOnly(bool clipOnCurrentPartOnly)
Sets whether point markers should be clipped to the current part boundary only.
void setClipPoints(bool clipPoints)
Sets whether point markers should be clipped to the polygon boundary.
std::unique_ptr< QgsMarkerSymbol > mMarker
bool pointOnAllParts() const
Returns whether a point is drawn for all parts or only on the biggest part of multi-part features.
bool clipPoints() const
Returns true if point markers should be clipped to the polygon boundary.
~QgsCentroidFillSymbolLayer() override
bool clipOnCurrentPartOnly() const
Returns true if point markers should be clipped to the current part boundary only.
Abstract base class for color ramps.
Exports QGIS layers to the DXF format.
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Definition qgsfeature.h:58
Abstract base class for fill symbol layers.
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,...
virtual QImage toTiledPatternImage() const
Renders the symbol layer as an image that can be used as a seamless pattern fill for polygons,...
A fill symbol layer which draws a smooth color gradient over a polygon.
QColor color2() const
Returns the color for endpoint of gradient, only used if the gradient color type is set to SimpleTwoC...
void setGradientSpread(Qgis::GradientSpread gradientSpread)
Sets the gradient spread mode, which controls how the gradient behaves outside of the predefined stop...
Qgis::RenderUnit offsetUnit() const
Returns the units for the fill's offset.
Qgis::SymbolCoordinateReference coordinateMode() const
Returns the coordinate mode for gradient, which controls how the gradient stops are positioned.
bool referencePoint2IsCentroid() const
Returns whether the end point for the gradient is taken from the feature centroid.
void setGradientType(Qgis::GradientType gradientType)
Sets the type of gradient, e.g., linear or radial.
void setReferencePoint2(QPointF referencePoint)
Sets the end point of gradient fill, in the range [0,0] - [1,1].
void setOffsetUnit(Qgis::RenderUnit unit)
Sets the unit for the fill's offset.
void setCoordinateMode(Qgis::SymbolCoordinateReference coordinateMode)
Sets the coordinate mode for gradient, which controls how the gradient stops are positioned.
Qgis::SymbolCoordinateReference mCoordinateMode
Qgis::GradientSpread mGradientSpread
void setReferencePoint2IsCentroid(bool isCentroid)
Sets whether the end point for the gradient is taken from the feature centroid.
void setReferencePoint1IsCentroid(bool isCentroid)
Sets whether the starting point for the gradient is taken from the feature centroid.
void setOffset(QPointF offset)
Sets an offset by which polygons will be translated during rendering.
void setGradientColorType(Qgis::GradientColorSource gradientColorType)
Sets the gradient color mode, which controls how gradient color stops are created.
QPointF referencePoint1() const
Returns the starting point of gradient fill, in the range [0,0] - [1,1].
Qgis::GradientSpread gradientSpread() const
Returns the gradient spread mode, which controls how the gradient behaves outside of the predefined s...
QgsColorRamp * colorRamp()
Returns the color ramp used for the gradient fill.
void setReferencePoint1(QPointF referencePoint)
Sets the starting point of gradient fill, in the range [0,0] - [1,1].
void setOffsetMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the fill's offset.
const QgsMapUnitScale & offsetMapUnitScale() const
Returns the map unit scale for the fill's offset.
Qgis::GradientColorSource gradientColorType() const
Returns the gradient color mode, which controls how gradient color stops are created.
QPointF offset() const
Returns the offset by which polygons will be translated during rendering.
Qgis::GradientColorSource mGradientColorType
Qgis::GradientType gradientType() const
Returns the type of gradient, e.g., linear or radial.
bool referencePoint1IsCentroid() const
Returns whether the starting point for the gradient is taken from the feature centroid.
QPointF referencePoint2() const
Returns the end point of gradient fill, in the range [0,0] - [1,1].
void setColor2(const QColor &color2)
Sets the color for endpoint of gradient, only used if the gradient color type is set to SimpleTwoColo...
Base class for fill symbol layers which fill polygons with a repeated image.
QgsMapUnitScale mStrokeWidthMapUnitScale
void setStrokeWidthUnit(Qgis::RenderUnit unit)
Sets the units for the symbol's stroke width.
void setStrokeWidthMapUnitScale(const QgsMapUnitScale &scale)
Sets the stroke width map unit scale.
Qgis::SymbolCoordinateReference coordinateReference() const
Returns the coordinate reference mode for fill which controls how the top left corner of the image fi...
void setCoordinateReference(Qgis::SymbolCoordinateReference coordinateReference)
Sets the coordinate reference mode for fill which controls how the top left corner of the image fill ...
Qgis::RenderUnit strokeWidthUnit() const
Returns the units for the symbol's stroke width.
virtual void applyDataDefinedSettings(QgsSymbolRenderContext &context)
Applies data defined settings prior to generating the fill symbol brush.
const QgsMapUnitScale & strokeWidthMapUnitScale() const
Returns the stroke width map unit scale.
~QgsImageFillSymbolLayer() override
A symbol fill consisting of repeated parallel lines.
Qgis::RenderUnit distanceUnit() const
Returns the units for the distance between lines in the fill pattern.
void setLineWidthMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the pattern's line width.
double lineWidth() const
Returns the width of the line subsymbol used to render the parallel lines in the fill.
void setDistanceMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the pattern's line distance.
Qgis::LineClipMode clipMode() const
Returns the line clipping mode, which defines how lines are clipped at the edges of shapes.
double lineAngle() const
Returns the angle for the parallel lines used to fill the symbol.
Qgis::RenderUnit lineWidthUnit() const
Returns the units for the line's width.
void setLineWidthUnit(Qgis::RenderUnit unit)
Sets the unit for the line's width.
const QgsMapUnitScale & offsetMapUnitScale() const
Returns the map unit scale for the pattern's line offset.
void setDistance(double d)
Sets the distance between lines in the fill pattern.
const QgsMapUnitScale & lineWidthMapUnitScale() const
Returns the map unit scale for the pattern's line width.
void setClipMode(Qgis::LineClipMode mode)
Sets the line clipping mode, which defines how lines are clipped at the edges of shapes.
void setOffsetUnit(Qgis::RenderUnit unit)
Sets the unit for the line pattern's offset.
const QgsMapUnitScale & distanceMapUnitScale() const
Returns the map unit scale for the pattern's line distance.
double offset() const
Returns the offset distance for lines within the fill, which is the distance to offset the parallel l...
void setDistanceUnit(Qgis::RenderUnit unit)
Sets the unit for the distance between lines in the fill pattern.
double distance() const
Returns the distance between lines in the fill pattern.
void setOffset(double offset)
Sets the offset distance for lines within the fill, which is the distance to offset the parallel line...
Qgis::RenderUnit offsetUnit() const
Returns the units for the line pattern's offset.
void setOffsetMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the pattern's line offset.
~QgsLinePatternFillSymbolLayer() override
A line symbol type, for rendering LineString and MultiLineString geometries.
Struct for storing maximum and minimum scales for measurements in map units.
A marker symbol type, for rendering Point and MultiPoint geometries.
Resolves relative paths into absolute paths and vice versa.
A fill symbol layer which fills polygon shapes with repeating marker symbols.
const QgsMapUnitScale & distanceYMapUnitScale() const
Returns the map unit scale for the vertical distance between points in the pattern.
void setDisplacementX(double d)
Sets the horizontal displacement for odd numbered rows in the pattern.
void setOffsetXUnit(Qgis::RenderUnit unit)
Sets the units for the horizontal offset between rows in the pattern.
Qgis::RenderUnit offsetYUnit() const
Returns the units for the vertical offset for rows in the pattern.
const QgsMapUnitScale & randomDeviationXMapUnitScale() const
Returns the unit scale for the horizontal random deviation of points in the pattern.
void setOffsetX(double offset)
Sets the horizontal offset values for points in the pattern.
double maximumRandomDeviationY() const
Returns the maximum vertical random deviation of points in the pattern.
void setDistanceYUnit(Qgis::RenderUnit unit)
Sets the unit for the vertical distance between points in the pattern.
Qgis::RenderUnit randomDeviationYUnit() const
Returns the units for the vertical random deviation of points in the pattern.
double displacementY() const
Returns the vertical displacement for odd numbered columns in the pattern.
void setDisplacementYUnit(Qgis::RenderUnit unit)
Sets the units for the vertical displacement between rows in the pattern.
void setRandomDeviationYUnit(Qgis::RenderUnit unit)
Sets the unit for the vertical random deviation of points in the pattern.
const QgsMapUnitScale & distanceXMapUnitScale() const
Returns the map unit scale for the horizontal distance between points in the pattern.
void setRandomDeviationYMapUnitScale(const QgsMapUnitScale &scale)
Sets the unit scale for the vertical random deviation of points in the pattern.
unsigned long seed() const
Returns the random number seed to use when randomly shifting points, or 0 if a truly random sequence ...
Qgis::MarkerClipMode clipMode() const
Returns the marker clipping mode, which defines how markers are clipped at the edges of shapes.
void setRandomDeviationXMapUnitScale(const QgsMapUnitScale &scale)
Sets the unit scale for the horizontal random deviation of points in the pattern.
Qgis::RenderUnit distanceXUnit() const
Returns the units for the horizontal distance between points in the pattern.
double offsetY() const
Returns the vertical offset values for points in the pattern.
void setDisplacementY(double d)
Sets the vertical displacement for odd numbered columns in the pattern.
void setMaximumRandomDeviationX(double deviation)
Sets the maximum horizontal random deviation of points in the pattern.
void setDisplacementYMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the vertical displacement between odd numbered columns in the pattern.
void setSeed(unsigned long seed)
Sets the random number seed to use when randomly shifting points, or 0 if a truly random sequence wil...
void setOffsetY(double offset)
Sets the vertical offset values for points in the pattern.
const QgsMapUnitScale & offsetXMapUnitScale() const
Returns the unit scale for the horizontal offset for rows in the pattern.
const QgsMapUnitScale & displacementXMapUnitScale() const
Returns the map unit scale for the horizontal displacement between odd numbered rows in the pattern.
const QgsMapUnitScale & offsetYMapUnitScale() const
Returns the unit scale for the vertical offset between rows in the pattern.
void setDistanceXMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the horizontal distance between points in the pattern.
Qgis::RenderUnit distanceYUnit() const
Returns the units for the vertical distance between points in the pattern.
const QgsMapUnitScale & displacementYMapUnitScale() const
Returns the map unit scale for the vertical displacement between odd numbered columns in the pattern.
void setDistanceXUnit(Qgis::RenderUnit unit)
Sets the unit for the horizontal distance between points in the pattern.
void setOffsetYUnit(Qgis::RenderUnit unit)
Sets the units for the vertical offset for rows in the pattern.
const QgsMapUnitScale & randomDeviationYMapUnitScale() const
Returns the unit scale for the vertical random deviation of points in the pattern.
Qgis::RenderUnit offsetXUnit() const
Returns the units for the horizontal offset for rows in the pattern.
void setOffsetYMapUnitScale(const QgsMapUnitScale &scale)
Sets the unit scale for the vertical offset for rows in the pattern.
void setDistanceY(double d)
Sets the vertical distance between rendered markers in the fill.
Qgis::RenderUnit displacementXUnit() const
Returns the units for the horizontal displacement between rows in the pattern.
Qgis::RenderUnit randomDeviationXUnit() const
Returns the units for the horizontal random deviation of points in the pattern.
void setDisplacementXUnit(Qgis::RenderUnit unit)
Sets the units for the horizontal displacement between rows in the pattern.
void setDistanceX(double d)
Sets the horizontal distance between rendered markers in the fill.
double offsetX() const
Returns the horizontal offset values for points in the pattern.
void setRandomDeviationXUnit(Qgis::RenderUnit unit)
Sets the unit for the horizontal random deviation of points in the pattern.
double maximumRandomDeviationX() const
Returns the maximum horizontal random deviation of points in the pattern.
std::unique_ptr< QgsMarkerSymbol > mMarkerSymbol
void setDisplacementXMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the horizontal displacement between odd numbered rows in the pattern.
void setMaximumRandomDeviationY(double deviation)
Sets the maximum vertical random deviation of points in the pattern.
void setDistanceYMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the vertical distance between points in the pattern.
Qgis::RenderUnit displacementYUnit() const
Returns the units for the vertical displacement between rows in the pattern.
double displacementX() const
Returns the horizontal displacement for odd numbered rows in the pattern.
void setOffsetXMapUnitScale(const QgsMapUnitScale &scale)
Sets the unit scale for the horizontal offset for rows in the pattern.
~QgsPointPatternFillSymbolLayer() override
double distanceY() const
Returns the vertical distance between rendered markers in the fill.
void setClipMode(Qgis::MarkerClipMode mode)
Sets the marker clipping mode, which defines how markers are clipped at the edges of shapes.
A fill symbol layer which places markers at random locations within polygons.
~QgsRandomMarkerFillSymbolLayer() override
void setDensityAreaUnitScale(const QgsMapUnitScale &scale)
Sets the map scale for the density area.
Qgis::RenderUnit densityAreaUnit() const
Returns the units for the density area.
const QgsMapUnitScale & densityAreaUnitScale() const
Returns the map scale for the density area.
A fill symbol layer which fills polygons with a repeated raster image.
const QgsMapUnitScale & sizeMapUnitScale() const
Returns the map unit scale for the image's width and height.
double width() const
Returns the width used for scaling the image used in the fill.
Q_DECL_DEPRECATED void setWidthUnit(Qgis::RenderUnit unit)
Sets the unit for the image's width.
void setOffsetUnit(const Qgis::RenderUnit unit)
Sets the units for the fill's offset.
void setHeight(double height)
Sets the height for scaling the image.
Q_DECL_DEPRECATED const QgsMapUnitScale & widthMapUnitScale() const
Returns the map unit scale for the image's width.
Qgis::SymbolCoordinateReference coordinateMode() const
Coordinate mode for fill.
Qgis::RenderUnit offsetUnit() const
Returns the units for the fill's offset.
double opacity() const
Returns the opacity for the raster image used in the fill.
void setSizeUnit(Qgis::RenderUnit unit)
Sets the unit for the image's width and height.
~QgsRasterFillSymbolLayer() override
Q_DECL_DEPRECATED Qgis::RenderUnit widthUnit() const
Returns the units for the image's width.
Qgis::RenderUnit sizeUnit() const
Returns the units for the image's width and height.
void setOffsetMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the fill's offset.
QString imageFilePath() const
The path to the raster image used for the fill.
Q_DECL_DEPRECATED void setWidthMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the image's width.
double height() const
Returns the height used for scaling the image used in the fill.
void setWidth(double width)
Sets the width for scaling the image used in the fill.
void setSizeMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the image's width and height.
QPointF offset() const
Returns the offset for the fill.
const QgsMapUnitScale & offsetMapUnitScale() const
Returns the map unit scale for the fill's offset.
void setOffset(QPointF offset)
Sets the offset for the fill.
Contains information about the context of a rendering operation.
A fill symbol layer which fills polygons with a repeated SVG file.
void setSvgStrokeWidthMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the pattern's stroke.
QColor svgStrokeColor() const
Returns the stroke color used for rendering the SVG content.
void setSvgStrokeWidthUnit(Qgis::RenderUnit unit)
Sets the unit for the stroke width.
Qgis::RenderUnit patternWidthUnit() const
Returns the units for the width of the SVG images in the pattern.
void setSvgFillColor(const QColor &c)
Sets the fill color used for rendering the SVG content.
const QgsMapUnitScale & svgStrokeWidthMapUnitScale() const
Returns the map unit scale for the pattern's stroke.
double svgStrokeWidth() const
Returns the stroke width used for rendering the SVG content.
QMap< QString, QgsProperty > parameters() const
Returns the dynamic SVG parameters.
void setSvgStrokeWidth(double w)
Sets the stroke width used for rendering the SVG content.
void setPatternWidthUnit(Qgis::RenderUnit unit)
Sets the unit for the width of the SVG images in the pattern.
QColor svgFillColor() const
Returns the fill color used for rendering the SVG content.
void setSvgStrokeColor(const QColor &c)
Sets the stroke color used for rendering the SVG content.
const QgsMapUnitScale & patternWidthMapUnitScale() const
Returns the map unit scale for the pattern's width.
Qgis::RenderUnit svgStrokeWidthUnit() const
Returns the units for the stroke width.
void setPatternWidth(double width)
Sets the width to render the SVG content as within the fill (i.e.
double patternWidth() const
Returns the width of the rendered SVG content within the fill (i.e.
~QgsSVGFillSymbolLayer() override
void setPatternWidthMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the pattern's width.
A fill symbol layer which applies a gradient from the outer edges of a symbol to the inside.
~QgsShapeburstFillSymbolLayer() override
Qgis::RenderUnit offsetUnit() const
Returns the units used for the offset of the shapeburst fill.
QgsColorRamp * colorRamp()
Returns the color ramp used for the shapeburst fill.
int blurRadius() const
Returns the blur radius, which controls the amount of blurring applied to the fill.
void setOffsetMapUnitScale(const QgsMapUnitScale &scale)
void setOffsetUnit(Qgis::RenderUnit unit)
Sets the units used for the offset for the shapeburst fill.
void setOffset(QPointF offset)
Sets the offset for the shapeburst fill.
void setUseWholeShape(bool useWholeShape)
Sets whether the shapeburst fill should be drawn using the entire shape.
QColor color2() const
Returns the color used for the endpoint of the shapeburst fill.
void setIgnoreRings(bool ignoreRings)
Sets whether the shapeburst fill should ignore polygon rings when calculating the buffered shading.
void setMaxDistance(double maxDistance)
Sets the maximum distance to shape inside of the shape from the polygon's boundary.
void setColor2(const QColor &color2)
Sets the color for the endpoint of the shapeburst fill.
QgsShapeburstFillSymbolLayer & operator=(const QgsShapeburstFillSymbolLayer &other)=delete
QgsShapeburstFillSymbolLayer cannot be copied.
Qgis::RenderUnit distanceUnit() const
Returns the unit for the maximum distance to shade inside of the shape from the polygon's boundary.
QPointF offset() const
Returns the offset for the shapeburst fill.
bool useWholeShape() const
Returns whether the shapeburst fill is set to cover the entire shape.
bool ignoreRings() const
Returns whether the shapeburst fill is set to ignore polygon interior rings.
double maxDistance() const
Returns the maximum distance from the shape's boundary which is shaded.
const QgsMapUnitScale & offsetMapUnitScale() const
void setDistanceUnit(Qgis::RenderUnit unit)
Sets the unit for the maximum distance to shade inside of the shape from the polygon's boundary.
void setDistanceMapUnitScale(const QgsMapUnitScale &scale)
void setColorType(Qgis::GradientColorSource colorType)
Sets the color mode to use for the shapeburst fill.
Qgis::GradientColorSource colorType() const
Returns the color mode used for the shapeburst fill.
QgsShapeburstFillSymbolLayer(const QgsShapeburstFillSymbolLayer &other)=delete
QgsShapeburstFillSymbolLayer cannot be copied.
const QgsMapUnitScale & distanceMapUnitScale() const
Renders polygons using a single fill and stroke color.
Qgis::RenderUnit strokeWidthUnit() const
Returns the units for the width of the fill's stroke.
Qt::PenJoinStyle penJoinStyle() const
QColor strokeColor() const override
Returns the stroke color for the symbol layer.
void setBrushStyle(Qt::BrushStyle style)
void setStrokeWidthMapUnitScale(const QgsMapUnitScale &scale)
const QgsMapUnitScale & strokeWidthMapUnitScale() const
void setOffsetMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the fill's offset.
void setStrokeWidthUnit(Qgis::RenderUnit unit)
Sets the units for the width of the fill's stroke.
~QgsSimpleFillSymbolLayer() override
void setPenJoinStyle(Qt::PenJoinStyle style)
QColor fillColor() const override
Returns the fill color for the symbol layer.
Qt::PenStyle strokeStyle() const
QgsMapUnitScale mOffsetMapUnitScale
void setStrokeWidth(double strokeWidth)
QPointF offset() const
Returns the offset by which polygons will be translated during rendering.
Qgis::RenderUnit offsetUnit() const
Returns the units for the fill's offset.
void setStrokeStyle(Qt::PenStyle strokeStyle)
QgsMapUnitScale mStrokeWidthMapUnitScale
void setOffsetUnit(Qgis::RenderUnit unit)
Sets the unit for the fill's offset.
void setFillColor(const QColor &color) override
Sets the fill color for the symbol layer.
void setOffset(QPointF offset)
Sets an offset by which polygons will be translated during rendering.
void setStrokeColor(const QColor &strokeColor) override
Sets the stroke color for the symbol layer.
const QgsMapUnitScale & offsetMapUnitScale() const
Returns the map unit scale for the fill's offset.
Abstract base class for symbol layers.
virtual QgsSymbolLayer * clone() const =0
Shall be reimplemented by subclasses to create a deep copy of the instance.
virtual bool setSubSymbol(QgsSymbol *symbol)
Sets layer's subsymbol. takes ownership of the passed symbol.
virtual void startFeatureRender(const QgsFeature &feature, QgsRenderContext &context)
Called before the layer will be rendered for a particular feature.
virtual QgsMapUnitScale mapUnitScale() const
virtual QColor dxfBrushColor(QgsSymbolRenderContext &context) const
Gets brush/fill color.
virtual QSet< QString > usedAttributes(const QgsRenderContext &context) const
Returns the set of attributes referenced by the layer.
virtual double estimateMaxBleed(const QgsRenderContext &context) const
Returns the estimated maximum distance which the layer style will bleed outside the drawn shape when ...
virtual void startRender(QgsSymbolRenderContext &context)=0
Called before a set of rendering operations commences on the supplied render context.
virtual QVariantMap properties() const =0
Should be reimplemented by subclasses to return a string map that contains the configuration informat...
virtual Qt::PenStyle dxfPenStyle() const
Gets pen style.
virtual QColor dxfColor(QgsSymbolRenderContext &context) const
Gets color.
virtual QString layerType() const =0
Returns a string that represents this layer type.
virtual void stopRender(QgsSymbolRenderContext &context)=0
Called after a set of rendering operations has finished on the supplied render context.
virtual Qgis::RenderUnit outputUnit() const
Returns the units to use for sizes and widths within the symbol layer.
virtual void setColor(const QColor &color)
Sets the "representative" color for the symbol layer.
virtual QgsSymbol * subSymbol()
Returns the symbol's sub symbol, if present.
virtual QColor color() const
Returns the "representative" color of the symbol layer.
virtual void stopFeatureRender(const QgsFeature &feature, QgsRenderContext &context)
Called after the layer has been rendered for a particular feature.
virtual double dxfWidth(const QgsDxfExport &e, QgsSymbolRenderContext &context) const
Gets line width.
virtual QColor strokeColor() const
Returns the stroke color for the symbol layer.
virtual double dxfAngle(QgsSymbolRenderContext &context) const
Gets angle.
virtual bool canCauseArtifactsBetweenAdjacentTiles() const
Returns true if the symbol layer rendering can cause visible artifacts across a single feature when t...
virtual void setMapUnitScale(const QgsMapUnitScale &scale)
virtual bool usesMapUnits() const
Returns true if the symbol layer has any components which use map unit based sizes.
virtual void setOutputUnit(Qgis::RenderUnit unit)
Sets the units to use for sizes and widths within the symbol layer.
virtual Qgis::SymbolLayerFlags flags() const
Returns flags which control the symbol layer's behavior.
virtual Qt::BrushStyle dxfBrushStyle() const
Gets brush/fill style.
virtual bool hasDataDefinedProperties() const
Returns true if the symbol layer (or any of its sub-symbols) contains data defined properties.
Encapsulates the context in which a symbol is being rendered.
Abstract base class for all rendered symbols.
Definition qgssymbol.h:231
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into c
QMap< QString, QString > QgsStringMap
Definition qgis.h:6780
#define SIP_DEPRECATED
Definition qgis_sip.h:106
#define FINAL
Definition qgis_sip.h:242
#define SIP_TRANSFER
Definition qgis_sip.h:36
#define SIP_ABSTRACT
Definition qgis_sip.h:213
#define SIP_FACTORY
Definition qgis_sip.h:76
#define DEFAULT_SIMPLEFILL_JOINSTYLE
#define DEFAULT_SIMPLEFILL_COLOR
#define DEFAULT_SIMPLEFILL_STYLE
#define DEFAULT_SIMPLEFILL_BORDERSTYLE
#define DEFAULT_SIMPLEFILL_BORDERCOLOR
#define DEFAULT_SIMPLEFILL_BORDERWIDTH