QGIS API Documentation
3.26.3-Buenos Aires (65e4edfdad)
|
Go to the documentation of this file.
16 #ifndef QGSFILLSYMBOLLAYER_H
17 #define QGSFILLSYMBOLLAYER_H
19 #include "qgis_core.h"
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 DEFAULT_LINE_WIDTH
28 #define DEFAULT_SIMPLEFILL_JOINSTYLE Qt::BevelJoin
80 void toSld( QDomDocument &doc, QDomElement &element,
const QVariantMap &props )
const override;
82 QString
ogrFeatureStyle(
double mmScaleFactor,
double mapUnitScaleFactor )
const override;
84 Qt::BrushStyle
brushStyle()
const {
return mBrushStyle; }
94 void setStrokeStyle( Qt::PenStyle strokeStyle ) { mStrokeStyle = strokeStyle; }
120 QPointF
offset()
const {
return mOffset; }
202 void applyDataDefinedSymbology(
QgsSymbolRenderContext &context, QBrush &brush, QPen &pen, QPen &selPen );
219 const QColor &color2 = Qt::white,
298 QColor
color2()
const {
return mColor2; }
305 void setColor2(
const QColor &color2 ) { mColor2 = color2; }
410 QPointF
offset()
const {
return mOffset; }
459 bool mReferencePoint1IsCentroid =
false;
461 bool mReferencePoint2IsCentroid =
false;
473 void applyGradient(
const QgsSymbolRenderContext &context, QBrush &brush,
const QColor &color,
const QColor &color2,
476 QPointF referencePoint1, QPointF referencePoint2,
double angle );
479 QPointF rotateReferencePoint( QPointF refPoint,
double angle );
495 int blurRadius = 0,
bool useWholeShape =
true,
double maxDistance = 5 );
658 void setColor2(
const QColor &color2 ) { mColor2 = color2; }
667 QColor
color2()
const {
return mColor2; }
702 QPointF
offset()
const {
return mOffset; }
738 bool mUseWholeShape =
true;
739 double mMaxDistance = 5.0;
746 bool mIgnoreRings =
false;
752 std::unique_ptr< QgsColorRamp > mGradientRamp;
755 void applyDataDefinedSymbology(
QgsSymbolRenderContext &context, QColor &color, QColor &color2,
int &blurRadius,
bool &useWholeShape,
756 double &maxDistance,
bool &ignoreRings );
759 void distanceTransform1d(
double *f,
int n,
int *v,
double *z,
double *d );
761 void distanceTransform2d(
double *im,
int width,
int height,
QgsRenderContext &context );
766 void dtArrayToQImage(
double *array, QImage *im,
QgsColorRamp *ramp,
QgsRenderContext &context,
bool useWholeShape =
true,
int maxPixelDistance = 0 );
847 double mNextAngle = 0.0;
850 double mStrokeWidth = 0.0;
901 static void resolvePaths( QVariantMap &properties,
const QgsPathResolver &pathResolver,
bool saving );
912 QColor
color()
const override;
924 void setImageFilePath(
const QString &imagePath );
954 void setOpacity(
double opacity );
979 QPointF
offset()
const {
return mOffset; }
1025 void setWidth(
const double width ) { mWidth = width; }
1080 QString mImageFilePath;
1082 double mOpacity = 1.0;
1088 double mWidth = 0.0;
1093 void applyPattern( QBrush &brush,
const QString &imageFilePath,
double width,
double opacity,
1134 static void resolvePaths( QVariantMap &properties,
const QgsPathResolver &pathResolver,
bool saving );
1144 void toSld( QDomDocument &doc, QDomElement &element,
const QVariantMap &props )
const override;
1164 void setSvgFilePath(
const QString &svgPath );
1343 QMap<QString, QgsProperty>
parameters()
const {
return mParameters; }
1349 void setParameters(
const QMap<QString, QgsProperty> ¶meters );
1358 double mPatternWidth = 20;
1361 QMap<QString, QgsProperty> mParameters;
1364 QByteArray mSvgData;
1366 QString mSvgFilePath;
1372 QColor mSvgStrokeColor = QColor( 35, 35, 35 );
1373 double mSvgStrokeWidth = 0.2;
1378 std::unique_ptr< QgsLineSymbol > mStroke;
1381 void storeViewBox();
1382 void setDefaultSvgParams();
1385 void applyPattern( QBrush &brush,
const QString &svgFilePath,
double patternWidth,
QgsUnitTypes::RenderUnit patternWidthUnit,
const QColor &svgFillColor,
const QColor &svgStrokeColor,
1419 void toSld( QDomDocument &doc, QDomElement &element,
const QVariantMap &props )
const override;
1422 QString ogrFeatureStyleWidth(
double widthScaleFactor )
const;
1463 void setLineWidth(
double w );
1473 void setColor(
const QColor &
c )
override;
1474 QColor
color()
const override;
1634 double mDistance = 5.0;
1638 double mLineWidth = 0;
1642 double mLineAngle = 45.0;
1644 double mOffset = 0.0;
1648 bool mRenderUsingLines =
false;
1655 void applyPattern(
const QgsSymbolRenderContext &context, QBrush &brush,
double lineAngle,
double distance );
1658 std::unique_ptr< QgsLineSymbol > mFillLineSymbol;
1690 void toSld( QDomDocument &doc, QDomElement &element,
const QVariantMap &props )
const override;
1701 void setColor(
const QColor &
c )
override;
1702 QColor
color()
const override;
2157 unsigned long seed()
const {
return mSeed; }
2167 void setSeed(
unsigned long seed ) { mSeed = seed; }
2187 double mDistanceX = 15;
2190 double mDistanceY = 15;
2193 double mDisplacementX = 0;
2196 double mDisplacementY = 0;
2199 double mOffsetX = 0;
2202 double mOffsetY = 0;
2206 double mRandomDeviationX = 0;
2209 double mRandomDeviationY = 0;
2212 unsigned long mSeed = 0;
2223 void applyPattern(
const QgsSymbolRenderContext &context, QBrush &brush,
double distanceX,
double distanceY,
2224 double displacementX,
double displacementY,
double offsetX,
double offsetY );
2228 bool mRenderUsingMarkers =
false;
2268 void setColor(
const QColor &color )
override;
2269 QColor
color()
const override;
2289 int pointCount()
const;
2296 void setPointCount(
int count );
2303 unsigned long seed()
const;
2312 void setSeed(
unsigned long seed );
2319 bool clipPoints()
const;
2326 void setClipPoints(
bool clipped );
2351 double densityArea()
const;
2358 void setDensityArea(
double area );
2401 QVector<QPolygonF> rings;
2404 QVector< Part > mCurrentParts;
2408 std::unique_ptr< QgsMarkerSymbol > mMarker;
2410 int mPointCount = 10;
2411 double mDensityArea = 250.0;
2414 unsigned long mSeed = 0;
2415 bool mClipPoints =
false;
2417 bool mRenderingFeature =
false;
2418 double mFeatureSymbolOpacity = 1;
2450 void toSld( QDomDocument &doc, QDomElement &element,
const QVariantMap &props )
const override;
2451 void setColor(
const QColor &color )
override;
2452 QColor
color()
const override;
2519 bool mPointOnSurface =
false;
2520 bool mPointOnAllParts =
true;
2521 bool mClipPoints =
false;
2522 bool mClipOnCurrentPartOnly =
false;
2524 bool mRenderingFeature =
false;
2525 double mFeatureSymbolOpacity = 1;
2534 QVector<QPolygonF> rings;
2538 QVector<Part> mCurrentParts;
bool pointOnAllParts() const
Returns whether a point is drawn for all parts or only on the biggest part of multi-part features.
void setSvgStrokeColor(const QColor &c)
Sets the stroke color used for rendering the SVG content.
QColor strokeColor() const override
Returns the stroke color for the symbol layer.
virtual QgsMapUnitScale mapUnitScale() const
const QgsMapUnitScale & randomDeviationXMapUnitScale() const
Returns the unit scale for the horizontal random deviation of points in the pattern.
A fill symbol layer which fills polygon shapes with repeating marker symbols.
Abstract base class for color ramps.
double displacementY() const
Returns the vertical displacement for odd numbered columns in the pattern.
void setReferencePoint2(QPointF referencePoint)
Sets the end point of gradient fill, in the range [0,0] - [1,1].
void setDensityAreaUnitScale(const QgsMapUnitScale &scale)
Sets the map scale for the density area.
Qgis::GradientType gradientType() const
Returns the type of gradient, e.g., linear or radial.
void setOffsetMapUnitScale(const QgsMapUnitScale &scale)
QgsMapUnitScale mOffsetXMapUnitScale
QgsMapUnitScale mDisplacementXMapUnitScale
void setWidthUnit(const QgsUnitTypes::RenderUnit unit)
Sets the units for the image's width.
void setOffsetYMapUnitScale(const QgsMapUnitScale &scale)
Sets the unit scale for the vertical offset for rows in the pattern.
virtual QColor strokeColor() const
Returns the stroke color for the symbol layer.
QPointF offset() const
Returns the offset by which polygons will be translated during rendering.
void setCoordinateMode(Qgis::SymbolCoordinateReference coordinateMode)
Sets the coordinate mode for gradient, which controls how the gradient stops are positioned.
virtual void startFeatureRender(const QgsFeature &feature, QgsRenderContext &context)
Called before the layer will be rendered for a particular feature.
const QgsMapUnitScale & strokeWidthMapUnitScale() const
virtual double dxfAngle(QgsSymbolRenderContext &context) const
Gets angle.
GradientType
Gradient types.
virtual void setColor(const QColor &color)
Sets the "representative" color for the symbol layer.
QgsUnitTypes::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.
RenderUnit
Rendering size units.
Exports QGIS layers to the DXF format.
Qgis::SymbolCoordinateReference mCoordinateMode
void setOffsetUnit(QgsUnitTypes::RenderUnit unit)
Sets the unit for the line pattern's offset.
double svgStrokeWidth() const
Returns the stroke width used for rendering the SVG content.
const QgsMapUnitScale & offsetMapUnitScale() const
Returns the map unit scale for the pattern's line offset.
void setSvgFillColor(const QColor &c)
Sets the fill color used for rendering the SVG content.
virtual Qt::PenStyle dxfPenStyle() const
Gets pen style.
void setStrokeWidthUnit(QgsUnitTypes::RenderUnit unit)
Sets the units for the width of the fill's stroke.
const QgsMapUnitScale & densityAreaUnitScale() const
Returns the map scale for the density area.
QgsUnitTypes::RenderUnit randomDeviationYUnit() const
Returns the units for the vertical random deviation of points in the pattern.
LineClipMode
Line clipping modes.
virtual bool applyBrushTransformFromContext(QgsSymbolRenderContext *context=nullptr) const
Returns true if the image brush should be transformed using the render context's texture origin.
void setIgnoreRings(bool ignoreRings)
Sets whether the shapeburst fill should ignore polygon rings when calculating the buffered shading.
void setWidthMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the image's width.
QgsMapUnitScale mDistanceYMapUnitScale
void setDistanceYMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the vertical distance between points in the pattern.
double angle() const
Returns the rotation angle of the pattern, in degrees clockwise.
QgsUnitTypes::RenderUnit svgStrokeWidthUnit() const
Returns the units for the stroke width.
QgsUnitTypes::RenderUnit strokeWidthUnit() const
Returns the units for the width of the fill's stroke.
double distance() const
Returns the distance between lines in the fill pattern.
void setLineWidthUnit(QgsUnitTypes::RenderUnit unit)
Sets the unit for the line's width.
void setStrokeWidthMapUnitScale(const QgsMapUnitScale &scale)
Sets the stroke width map unit scale.
virtual QgsSymbol * subSymbol()
Returns the symbol's sub symbol, if present.
QgsUnitTypes::RenderUnit offsetYUnit() const
Returns the units for the vertical offset for rows in the pattern.
void setOffsetMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the fill's offset.
void setStrokeWidthUnit(QgsUnitTypes::RenderUnit unit)
Sets the units fo the symbol's stroke width.
Qgis::GradientColorSource colorType() const
Returns the color mode used for the shapeburst fill.
void setColor2(const QColor &color2)
Sets the color for the endpoint of the shapeburst fill.
virtual void applyDataDefinedSettings(QgsSymbolRenderContext &context)
Applies data defined settings prior to generating the fill symbol brush.
QgsMapUnitScale mRandomDeviationXMapUnitScale
QgsMapUnitScale mOffsetMapUnitScale
const QgsMapUnitScale & strokeWidthMapUnitScale() const
Returns the stroke width map unit scale.
double lineAngle() const
Returns the angle for the parallel lines used to fill the symbol.
Qgis::SymbolCoordinateReference coordinateMode() const
Returns the coordinate mode for gradient, which controls how the gradient stops are positioned.
MarkerClipMode
Marker clipping modes.
void setGradientColorType(Qgis::GradientColorSource gradientColorType)
Sets the gradient color mode, which controls how gradient color stops are created.
void setMaxDistance(double maxDistance)
Sets the maximum distance to shape inside of the shape from the polygon's boundary.
QgsMapUnitScale mapUnitScale() const override
Qgis::GradientType mGradientType
QgsUnitTypes::RenderUnit outputUnit() const override
Returns the units to use for sizes and widths within the symbol layer.
@ Pad
Pad out gradient using colors at endpoint of gradient.
void setBrushStyle(Qt::BrushStyle style)
QgsMapUnitScale mStrokeWidthMapUnitScale
virtual bool hasDataDefinedProperties() const
Returns true if the symbol layer (or any of its sub-symbols) contains data defined properties.
void setCoordinateReference(Qgis::SymbolCoordinateReference coordinateReference)
Sets the coordinate reference mode for fill which controls how the top left corner of the image fill ...
void setSeed(unsigned long seed)
Sets the random number seed to use when randomly shifting points, or 0 if a truly random sequence wil...
QColor svgFillColor() const
Returns the fill color used for rendering the SVG content.
#define DEFAULT_SIMPLEFILL_COLOR
Contains information about the context of a rendering operation.
A class for filling symbols with a repeated raster image.
void setOffset(QPointF offset)
Sets the offset for the fill.
double offset() const
Returns the offset distance for lines within the fill, which is the distance to offset the parallel l...
void setOffsetX(double offset)
Sets the horizontal offset values for points in the pattern.
@ RenderMillimeters
Millimeters.
void setLineAngle(double a)
Sets the angle for the parallel lines used to fill the symbol.
double offsetY() const
Returns the vertical offset values for points in the pattern.
void setPointOnSurface(bool pointOnSurface)
virtual double estimateMaxBleed(const QgsRenderContext &context) const
Returns the estimated maximum distance which the layer style will bleed outside the drawn shape when ...
double width() const
Returns the width used for scaling the image used in the fill.
void setOutputUnit(QgsUnitTypes::RenderUnit unit) override
Sets the units to use for sizes and widths within the symbol layer.
Abstract base class for all rendered symbols.
@ SimpleTwoColor
Simple two color gradient.
QMap< QString, QgsProperty > parameters() const
Returns the dynamic SVG parameters.
#define DEFAULT_SIMPLEFILL_STYLE
const QgsMapUnitScale & distanceXMapUnitScale() const
Returns the map unit scale for the horizontal distance between points in the pattern.
virtual QString ogrFeatureStyle(double mmScaleFactor, double mapUnitScaleFactor) const
double patternWidth() const
Returns the width of the rendered SVG content within the fill (i.e.
void setDistanceY(double d)
Sets the vertical distance between rendered markers in the fill.
QgsMapUnitScale mRandomDeviationYMapUnitScale
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,...
void setPatternWidthUnit(QgsUnitTypes::RenderUnit unit)
Sets the unit for the width of the SVG images in the pattern.
void setDistance(double d)
Sets the distance between lines in the fill pattern.
void setStrokeWidthMapUnitScale(const QgsMapUnitScale &scale)
void setAngle(double angle)
Sets the rotation angle of the pattern, in degrees clockwise.
double distanceY() const
Returns the vertical distance between rendered markers in the fill.
virtual bool usesMapUnits() const
Returns true if the symbol layer has any components which use map unit based sizes.
@ ClipPainterOnly
Applying clipping on the painter only (i.e. line endpoints will coincide with polygon bounding box,...
QPointF referencePoint1() const
Returns the starting point of gradient fill, in the range [0,0] - [1,1].
GradientColorSource
Gradient color sources.
QgsUnitTypes::RenderUnit offsetXUnit() const
Returns the units for the horizontal offset for rows in the pattern.
Qgis::GradientColorSource gradientColorType() const
Returns the gradient color mode, which controls how gradient color stops are created.
void setOffsetYUnit(QgsUnitTypes::RenderUnit unit)
Sets the units for the vertical offset for rows in the pattern.
void setGradientType(Qgis::GradientType gradientType)
Sets the type of gradient, e.g., linear or radial.
void setDisplacementX(double d)
Sets the horizontal displacement for odd numbered rows in the pattern.
QgsUnitTypes::RenderUnit displacementXUnit() const
Returns the units for the horizontal displacement between rows in the pattern.
void setRandomDeviationXMapUnitScale(const QgsMapUnitScale &scale)
Sets the unit scale for the horizontal random deviation of points in the pattern.
void setStrokeWidth(double strokeWidth)
void setDistanceX(double d)
Sets the horizontal distance between rendered markers in the fill.
const QgsMapUnitScale & svgStrokeWidthMapUnitScale() const
Returns the map unit scale for the pattern's stroke.
QPointF offset() const
Returns the offset by which polygons will be translated during rendering.
virtual QgsSymbolLayer * clone() const =0
Shall be reimplemented by subclasses to create a deep copy of the instance.
void setClipPoints(bool clipPoints)
Sets whether point markers should be clipped to the polygon boundary.
bool pointOnSurface() const
QgsSymbol * subSymbol() override
Returns the symbol's sub symbol, if present.
void setDistanceUnit(QgsUnitTypes::RenderUnit unit)
Sets the unit for the distance between lines in the fill pattern.
void setMapUnitScale(const QgsMapUnitScale &scale) override
Qgis::MarkerClipMode clipMode() const
Returns the marker clipping mode, which defines how markers are clipped at the edges of shapes.
QColor color2() const
Returns the color for endpoint of gradient, only used if the gradient color type is set to SimpleTwoC...
void setOffset(QPointF offset)
Sets the offset for the shapeburst fill.
#define DEFAULT_SIMPLEFILL_BORDERWIDTH
QgsMapUnitScale mOffsetMapUnitScale
double maxDistance() const
Returns the maximum distance from the shape's boundary which is shaded.
virtual bool setSubSymbol(QgsSymbol *symbol)
Sets layer's subsymbol. takes ownership of the passed symbol.
void renderPolygon(const QPolygonF &points, const QVector< QPolygonF > *rings, QgsSymbolRenderContext &context) override
Renders the fill symbol layer for the polygon whose outer ring is defined by points,...
QVariantMap properties() const override
Should be reimplemented by subclasses to return a string map that contains the configuration informat...
virtual void toSld(QDomDocument &doc, QDomElement &element, const QVariantMap &props) const
Saves the symbol layer as SLD.
void setOffsetXMapUnitScale(const QgsMapUnitScale &scale)
Sets the unit scale for the horizontal offset for rows in the pattern.
void setPenJoinStyle(Qt::PenJoinStyle style)
A marker symbol type, for rendering Point and MultiPoint geometries.
virtual void stopFeatureRender(const QgsFeature &feature, QgsRenderContext &context)
Called after the layer has been rendered for a particular feature.
QgsMapUnitScale mDistanceXMapUnitScale
double displacementX() const
Returns the horizontal displacement for odd numbered rows in the pattern.
Qt::PenJoinStyle penJoinStyle() const
void setRandomDeviationYUnit(QgsUnitTypes::RenderUnit unit)
Sets the unit for the vertical random deviation of points in the pattern.
double strokeWidth() const
Qgis::LineClipMode clipMode() const
Returns the line clipping mode, which defines how lines are clipped at the edges of shapes.
A symbol fill consisting of repeated parallel lines.
const QgsMapUnitScale & offsetMapUnitScale() const
Returns the map unit scale for the fill's offset.
bool clipPoints() const
Returns true if point markers should be clipped to the polygon boundary.
const QgsMapUnitScale & distanceMapUnitScale() const
Returns the map unit scale for the pattern's line distance.
QPointF offset() const
Returns the offset for the fill.
Qt::BrushStyle mBrushStyle
virtual void setOutputUnit(QgsUnitTypes::RenderUnit unit)
Sets the units to use for sizes and widths within the symbol layer.
const QgsMapUnitScale & offsetMapUnitScale() const
void setDistanceMapUnitScale(const QgsMapUnitScale &scale)
Qgis::SymbolCoordinateReference coordinateReference() const
Returns the coordinate reference mode for fill which controls how the top left corner of the image fi...
void setOffsetUnit(QgsUnitTypes::RenderUnit unit)
Sets the units used for the offset for the shapeburst fill.
A line symbol type, for rendering LineString and MultiLineString geometries.
A class for filling symbols with a repeated SVG file.
virtual QVariantMap properties() const =0
Should be reimplemented by subclasses to return a string map that contains the configuration informat...
void setOffset(QPointF offset)
Sets an offset by which polygons will be translated during rendering.
QString imageFilePath() const
The path to the raster image used for the fill.
QgsUnitTypes::RenderUnit lineWidthUnit() const
Returns the units for the line's width.
void setDisplacementXMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the horizontal displacement between odd numbered rows in the pattern.
void setDistanceUnit(QgsUnitTypes::RenderUnit unit)
Sets the unit for the maximum distance to shade inside of the shape from the polygon's boundary.
void setOffsetUnit(QgsUnitTypes::RenderUnit unit)
Sets the unit for the fill's offset.
const QgsMapUnitScale & displacementYMapUnitScale() const
Returns the map unit scale for the vertical displacement between odd numbered columns in the pattern.
QgsUnitTypes::RenderUnit randomDeviationXUnit() const
Returns the units for the horizontal random deviation of points in the pattern.
#define DEFAULT_SIMPLEFILL_BORDERSTYLE
Qgis::GradientSpread mGradientSpread
Struct for storing maximum and minimum scales for measurements in map units.
void setReferencePoint1IsCentroid(bool isCentroid)
Sets whether the starting point for the gradient is taken from the feature centroid.
QColor svgStrokeColor() const
Returns the stroke color used for rendering the SVG content.
double maximumRandomDeviationY() const
Returns the maximum vertical random deviation of points in the pattern.
void setClipOnCurrentPartOnly(bool clipOnCurrentPartOnly)
Sets whether point markers should be clipped to the current part boundary only.
const QgsMapUnitScale & widthMapUnitScale() const
Returns the map unit scale for the image's width.
bool clipOnCurrentPartOnly() const
Returns true if point markers should be clipped to the current part boundary only.
QgsUnitTypes::RenderUnit densityAreaUnit() const
Returns the units for the density area.
QgsMapUnitScale mOffsetYMapUnitScale
void setClipMode(Qgis::LineClipMode mode)
Sets the line clipping mode, which defines how lines are clipped at the edges of shapes.
QgsUnitTypes::RenderUnit displacementYUnit() const
Returns the units for the vertical displacement between rows in the pattern.
QgsColorRamp * colorRamp()
Returns the color ramp used for the gradient fill.
void setSvgStrokeWidth(double w)
Sets the stroke width used for rendering the SVG content.
QPointF referencePoint2() const
Returns the end point of gradient fill, in the range [0,0] - [1,1].
void setBlurRadius(int blurRadius)
Sets the blur radius, which controls the amount of blurring applied to the fill.
virtual bool canCauseArtifactsBetweenAdjacentTiles() const
Returns true if the symbol layer rendering can cause visible artifacts across a single feature when t...
void setOffset(double offset)
Sets the offset distance for lines within the fill, which is the distance to offset the parallel line...
int blurRadius() const
Returns the blur radius, which controls the amount of blurring applied to the fill.
std::unique_ptr< QgsMarkerSymbol > mMarker
unsigned long seed() const
Returns the random number seed to use when randomly shifting points, or 0 if a truly random sequence ...
virtual QSet< QString > usedAttributes(const QgsRenderContext &context) const
Returns the set of attributes referenced by the layer.
double distanceX() const
Returns the horizontal distance between rendered markers in the fill.
QgsUnitTypes::RenderUnit widthUnit() const
Returns the units for the image's width.
void setMaximumRandomDeviationY(double deviation)
Sets the maximum vertical random deviation of points in the pattern.
void setOffsetY(double offset)
Sets the vertical offset values for points in the pattern.
QgsUnitTypes::RenderUnit offsetUnit() const
Returns the units for the fill's offset.
void setDisplacementY(double d)
Sets the vertical displacement for odd numbered columns in the pattern.
QgsUnitTypes::RenderUnit offsetUnit() const
Returns the units for the fill's offset.
QgsUnitTypes::RenderUnit distanceXUnit() const
Returns the units for the horizontal distance between points in the pattern.
const QgsMapUnitScale & distanceYMapUnitScale() const
Returns the map unit scale for the vertical distance between points in the pattern.
virtual QgsUnitTypes::RenderUnit outputUnit() const
Returns the units to use for sizes and widths within the symbol layer.
QgsColorRamp * colorRamp()
Returns the color ramp used for the shapeburst fill.
void setOffsetUnit(const QgsUnitTypes::RenderUnit unit)
Sets the units for the fill's offset.
virtual Qt::BrushStyle dxfBrushStyle() const
Gets brush/fill style.
void setReferencePoint1(QPointF referencePoint)
Sets the starting point of gradient fill, in the range [0,0] - [1,1].
QMap< QString, QString > QgsStringMap
void setDisplacementYUnit(QgsUnitTypes::RenderUnit unit)
Sets the units for the vertical displacement between rows in the pattern.
@ Shape
Clip to polygon shape.
void setRandomDeviationYMapUnitScale(const QgsMapUnitScale &scale)
Sets the unit scale for the vertical random deviation of points in the pattern.
void setDistanceMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the pattern's line distance.
Qt::BrushStyle brushStyle() const
const QgsMapUnitScale & randomDeviationYMapUnitScale() const
Returns the unit scale for the vertical random deviation of points in the pattern.
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
const QgsMapUnitScale & distanceMapUnitScale() const
void setDensityAreaUnit(QgsUnitTypes::RenderUnit unit)
Sets the units for the density area.
void setDistanceXMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the horizontal distance between points in the pattern.
QgsUnitTypes::RenderUnit distanceUnit() const
Returns the unit for the maximum distance to shade inside of the shape from the polygon's boundary.
QgsFillSymbolLayer & operator=(const QgsFillSymbolLayer &other)=delete
QgsFillSymbolLayer cannot be copied.
void setGradientSpread(Qgis::GradientSpread gradientSpread)
Sets the gradient spread mode, which controls how the gradient behaves outside of the predefined stop...
void setLineWidthMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the pattern's line width.
void setDisplacementYMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the vertical displacement between odd numbered columns in the pattern.
void setDistanceXUnit(QgsUnitTypes::RenderUnit unit)
Sets the unit for the horizontal distance between points in the pattern.
const QgsMapUnitScale & offsetMapUnitScale() const
Returns the map unit scale for the fill's offset.
const QgsMapUnitScale & patternWidthMapUnitScale() const
Returns the map unit scale for the pattern's width.
void setOffsetMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the pattern's line offset.
void setWidth(const double width)
Sets the width for scaling the image used in the fill.
QColor color2() const
Returns the color used for the endpoint of the shapeburst fill.
void setColorType(Qgis::GradientColorSource colorType)
Sets the color mode to use for the shapeburst fill.
bool referencePoint1IsCentroid() const
Returns whether the starting point for the gradient is taken from the feature centroid.
PointCountMethod
Methods which define the number of points randomly filling a polygon.
A fill symbol layer which places markers at random locations within polygons.
void setOffset(QPointF offset)
Sets an offset by which polygons will be translated during rendering.
void setDisplacementXUnit(QgsUnitTypes::RenderUnit unit)
Sets the units for the horizontal displacement between rows in the pattern.
void setOffsetMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the fill's offset.
virtual void stopRender(QgsSymbolRenderContext &context)=0
Called after a set of rendering operations has finished on the supplied render context.
const QgsMapUnitScale & offsetMapUnitScale() const
Returns the map unit scale for the fill's offset.
QgsUnitTypes::RenderUnit patternWidthUnit() const
Returns the units for the width of the SVG images in the pattern.
virtual void setMapUnitScale(const QgsMapUnitScale &scale)
void setSvgStrokeWidthMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the pattern's stroke.
void setReferencePoint2IsCentroid(bool isCentroid)
Sets whether the end point for the gradient is taken from the feature centroid.
@ Feature
Relative to feature/shape being rendered.
virtual QColor dxfColor(QgsSymbolRenderContext &context) const
Gets color.
void setMaximumRandomDeviationX(double deviation)
Sets the maximum horizontal random deviation of points in the pattern.
const QgsMapUnitScale & offsetYMapUnitScale() const
Returns the unit scale for the vertical offset between rows in the pattern.
QString svgFilePath() const
Returns the path to the SVG file used to render the fill.
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
QgsMapUnitScale mStrokeWidthMapUnitScale
QColor fillColor() const override
Returns the fill color for the symbol layer.
QgsUnitTypes::RenderUnit distanceUnit() const
Returns the units for the distance between lines in the fill pattern.
#define DEFAULT_SIMPLEFILL_JOINSTYLE
virtual QString layerType() const =0
Returns a string that represents this layer type.
void setPatternWidthMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the pattern's width.
virtual QColor color() const
Returns the "representative" color of the symbol layer.
const QgsMapUnitScale & lineWidthMapUnitScale() const
Returns the map unit scale for the pattern's line width.
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
void setPointOnAllParts(bool pointOnAllParts)
Sets whether a point is drawn for all parts or only on the biggest part of multi-part features.
QgsUnitTypes::RenderUnit distanceYUnit() const
Returns the units for the vertical distance between points in the pattern.
SymbolCoordinateReference
Symbol coordinate reference modes.
Base class for polygon renderers generating texture images.
void setOffsetMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the fill's offset.
QgsUnitTypes::RenderUnit strokeWidthUnit() const
Returns the units for the symbol's stroke width.
void setOffsetUnit(QgsUnitTypes::RenderUnit unit)
Sets the unit for the fill's offset.
QPointF offset() const
Returns the offset for the shapeburst fill.
double lineWidth() const
Returns the width of the line subsymbol used to render the parallel lines in the fill.
Qt::PenStyle strokeStyle() const
QgsUnitTypes::RenderUnit offsetUnit() const
Returns the units used for the offset of the shapeburst fill.
virtual void startRender(QgsSymbolRenderContext &context)=0
Called before a set of rendering operations commences on the supplied render context.
bool useWholeShape() const
Returns whether the shapeburst fill is set to cover the entire shape.
QgsMapUnitScale mDisplacementYMapUnitScale
QgsUnitTypes::RenderUnit offsetUnit() const
Returns the units for the line pattern's offset.
void setDistanceYUnit(QgsUnitTypes::RenderUnit unit)
Sets the unit for the vertical distance between points in the pattern.
void setSvgStrokeWidthUnit(QgsUnitTypes::RenderUnit unit)
Sets the unit for the stroke width.
void setRandomDeviationXUnit(QgsUnitTypes::RenderUnit unit)
Sets the unit for the horizontal random deviation of points in the pattern.
Qt::PenJoinStyle mPenJoinStyle
bool ignoreRings() const
Returns whether the shapeburst fill is set to ignore polygon interior rings.
virtual double dxfWidth(const QgsDxfExport &e, QgsSymbolRenderContext &context) const
Gets line width.
std::unique_ptr< QgsMarkerSymbol > mMarkerSymbol
Qgis::SymbolCoordinateReference coordinateMode() const
Coordinate mode for fill.
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)
Qt::PenStyle mStrokeStyle
void setStrokeColor(const QColor &strokeColor) override
Sets the stroke color for the symbol layer.
void setPatternWidth(double width)
Sets the width to render the SVG content as within the fill (i.e.
Resolves relative paths into absolute paths and vice versa. Used for writing.
bool referencePoint2IsCentroid() const
Returns whether the end point for the gradient is taken from the feature centroid.
const QgsMapUnitScale & displacementXMapUnitScale() const
Returns the map unit scale for the horizontal displacement between odd numbered rows in the pattern.
void setClipMode(Qgis::MarkerClipMode mode)
Sets the marker clipping mode, which defines how markers are clipped at the edges of shapes.
virtual QColor dxfBrushColor(QgsSymbolRenderContext &context) const
Gets brush/fill color.
void setUseWholeShape(bool useWholeShape)
Sets whether the shapeburst fill should be drawn using the entire shape.
double offsetX() const
Returns the horizontal offset values for points in the pattern.
const QgsMapUnitScale & offsetXMapUnitScale() const
Returns the unit scale for the horizontal offset for rows in the pattern.
Qgis::GradientColorSource mGradientColorType
#define DEFAULT_SIMPLEFILL_BORDERCOLOR
void setFillColor(const QColor &color) override
Sets the fill color for the symbol layer.
void setOffsetXUnit(QgsUnitTypes::RenderUnit unit)
Sets the units for the horizontal offset between rows in the pattern.
void setStrokeStyle(Qt::PenStyle strokeStyle)
void setColor2(const QColor &color2)
Sets the color for endpoint of gradient, only used if the gradient color type is set to SimpleTwoColo...
double maximumRandomDeviationX() const
Returns the maximum horizontal random deviation of points in the pattern.
Qgis::GradientSpread gradientSpread() const
Returns the gradient spread mode, which controls how the gradient behaves outside of the predefined s...