QGIS API Documentation
3.18.1-Zürich (202f1bf7e5)
|
A fill symbol type, for rendering Polygon and MultiPolygon geometries. More...
#include <qgssymbol.h>
Public Member Functions | |
QgsFillSymbol (const QgsSymbolLayerList &layers=QgsSymbolLayerList()) | |
Constructor for QgsFillSymbol, with the specified list of initial symbol layers. More... | |
QgsFillSymbol * | clone () const override |
Returns a deep copy of this symbol. More... | |
void | renderPolygon (const QPolygonF &points, const QVector< QPolygonF > *rings, const QgsFeature *f, QgsRenderContext &context, int layer=-1, bool selected=false) |
Renders the symbol using the given render context. More... | |
void | setAngle (double angle) |
Public Member Functions inherited from QgsSymbol | |
virtual | ~QgsSymbol () |
bool | appendSymbolLayer (QgsSymbolLayer *layer) |
Appends a symbol layer at the end of the current symbol layer list. More... | |
QImage | asImage (QSize size, QgsRenderContext *customContext=nullptr) |
Returns an image of the symbol at the specified size. More... | |
QImage | bigSymbolPreviewImage (QgsExpressionContext *expressionContext=nullptr, QgsSymbol::PreviewFlags flags=QgsSymbol::FlagIncludeCrosshairsForMarkerSymbols) |
Returns a large (roughly 100x100 pixel) preview image for the symbol. More... | |
bool | canCauseArtifactsBetweenAdjacentTiles () const |
Returns true if the symbol rendering can cause visible artifacts across a single feature when the feature is rendered as a series of adjacent map tiles each containing a portion of the feature's geometry. More... | |
bool | changeSymbolLayer (int index, QgsSymbolLayer *layer) |
Deletes the current layer at the specified index and replaces it with layer. More... | |
bool | clipFeaturesToExtent () const |
Returns whether features drawn by the symbol will be clipped to the render context's extent. More... | |
QColor | color () const |
Returns the symbol's color. More... | |
QgsPropertyCollection & | dataDefinedProperties () |
Returns a reference to the symbol's property collection, used for data defined overrides. More... | |
const QgsPropertyCollection & | dataDefinedProperties () const |
Returns a reference to the symbol's property collection, used for data defined overrides. More... | |
bool | deleteSymbolLayer (int index) |
Removes and deletes the symbol layer at the specified index. More... | |
void | drawPreviewIcon (QPainter *painter, QSize size, QgsRenderContext *customContext=nullptr, bool selected=false, const QgsExpressionContext *expressionContext=nullptr, const QgsLegendPatchShape *patchShape=nullptr) |
Draws an icon of the symbol that occupies an area given by size using the specified painter. More... | |
QString | dump () const |
Returns a string dump of the symbol's properties. More... | |
void | exportImage (const QString &path, const QString &format, QSize size) |
Export the symbol as an image format, to the specified path and with the given size. More... | |
bool | forceRHR () const |
Returns true if polygon features drawn by the symbol will be reoriented to follow the standard right-hand-rule orientation, in which the area that is bounded by the polygon is to the right of the boundary. More... | |
bool | hasDataDefinedProperties () const |
Returns whether the symbol utilizes any data defined properties. More... | |
bool | insertSymbolLayer (int index, QgsSymbolLayer *layer) |
Inserts a symbol layer to specified index. More... | |
Q_DECL_DEPRECATED const QgsVectorLayer * | layer () const |
QgsMapUnitScale | mapUnitScale () const |
Returns the map unit scale for the symbol. More... | |
qreal | opacity () const |
Returns the opacity for the symbol. More... | |
QgsUnitTypes::RenderUnit | outputUnit () const |
Returns the units to use for sizes and widths within the symbol. More... | |
void | renderFeature (const QgsFeature &feature, QgsRenderContext &context, int layer=-1, bool selected=false, bool drawVertexMarker=false, int currentVertexMarkerType=0, double currentVertexMarkerSize=0.0) SIP_THROW(QgsCsException) |
Render a feature. More... | |
RenderHints | renderHints () const |
Returns the rendering hint flags for the symbol. More... | |
void | setClipFeaturesToExtent (bool clipFeaturesToExtent) |
Sets whether features drawn by the symbol should be clipped to the render context's extent. More... | |
void | setColor (const QColor &color) |
Sets the color for the symbol. More... | |
void | setDataDefinedProperties (const QgsPropertyCollection &collection) |
Sets the symbol's property collection, used for data defined overrides. More... | |
void | setDataDefinedProperty (Property key, const QgsProperty &property) |
Sets a data defined property for the symbol. More... | |
void | setForceRHR (bool force) |
Sets whether polygon features drawn by the symbol should be reoriented to follow the standard right-hand-rule orientation, in which the area that is bounded by the polygon is to the right of the boundary. More... | |
Q_DECL_DEPRECATED void | setLayer (const QgsVectorLayer *layer) |
void | setMapUnitScale (const QgsMapUnitScale &scale) |
Sets the map unit scale for the symbol. More... | |
void | setOpacity (qreal opacity) |
Sets the opacity for the symbol. More... | |
void | setOutputUnit (QgsUnitTypes::RenderUnit unit) |
Sets the units to use for sizes and widths within the symbol. More... | |
void | setRenderHints (RenderHints hints) |
Sets rendering hint flags for the symbol. More... | |
void | startRender (QgsRenderContext &context, const QgsFields &fields=QgsFields()) |
Begins the rendering process for the symbol. More... | |
void | stopRender (QgsRenderContext &context) |
Ends the rendering process. More... | |
QgsSymbolLayer * | symbolLayer (int layer) |
Returns the symbol layer at the specified index. More... | |
const QgsSymbolLayer * | symbolLayer (int layer) const |
Returns the symbol layer at the specified index, const variant. More... | |
int | symbolLayerCount () const |
Returns the total number of symbol layers contained in the symbol. More... | |
QgsSymbolLayerList | symbolLayers () |
Returns the list of symbol layers contained in the symbol. More... | |
QgsSymbolRenderContext * | symbolRenderContext () |
Returns the symbol render context. More... | |
QgsSymbolLayer * | takeSymbolLayer (int index) |
Removes a symbol layer from the list and returns a pointer to it. More... | |
void | toSld (QDomDocument &doc, QDomElement &element, QVariantMap props) const |
Converts the symbol to a SLD representation. More... | |
SymbolType | type () const |
Returns the symbol's type. More... | |
QSet< QString > | usedAttributes (const QgsRenderContext &context) const |
Returns a list of attributes required to render this feature. More... | |
bool | usesMapUnits () const |
Returns true if the symbol has any components which use map unit based sizes. More... | |
Static Public Member Functions | |
static QgsFillSymbol * | createSimple (const QVariantMap &properties) |
Create a fill symbol with one symbol layer: SimpleFill with specified properties. More... | |
Static Public Member Functions inherited from QgsSymbol | |
static QgsSymbol * | defaultSymbol (QgsWkbTypes::GeometryType geomType) |
Returns a new default symbol for the specified geometry type. More... | |
static const QgsPropertiesDefinition & | propertyDefinitions () |
Returns the symbol property definitions. More... | |
Additional Inherited Members | |
Public Types inherited from QgsSymbol | |
enum | PreviewFlag { FlagIncludeCrosshairsForMarkerSymbols = 1 << 0 } |
Flags for controlling how symbol preview images are generated. More... | |
enum | Property { PropertyOpacity } |
Data definable properties. More... | |
enum | RenderHint { DynamicRotation = 2 } |
Flags controlling behavior of symbols during rendering. More... | |
enum | ScaleMethod { ScaleArea , ScaleDiameter } |
Scale method. More... | |
enum | SymbolType { Marker , Line , Fill , Hybrid } |
Type of the symbol. More... | |
Protected Member Functions inherited from QgsSymbol | |
QgsSymbol (SymbolType type, const QgsSymbolLayerList &layers) | |
QgsSymbolLayerList | cloneLayers () const |
Retrieve a cloned list of all layers that make up this symbol. More... | |
void | renderUsingLayer (QgsSymbolLayer *layer, QgsSymbolRenderContext &context) |
Renders a context using a particular symbol layer without passing in a geometry. More... | |
void | renderVertexMarker (QPointF pt, QgsRenderContext &context, int currentVertexMarkerType, double currentVertexMarkerSize) |
Render editing vertex marker at specified point. More... | |
Static Protected Member Functions inherited from QgsSymbol | |
static QPolygonF | _getLineString (QgsRenderContext &context, const QgsCurve &curve, bool clipToExtent=true) |
Creates a line string in screen coordinates from a QgsCurve in map coordinates. More... | |
static QPointF | _getPoint (QgsRenderContext &context, const QgsPoint &point) |
Creates a point in screen coordinates from a QgsPoint in map coordinates. More... | |
static void | _getPolygon (QPolygonF &pts, QVector< QPolygonF > &holes, QgsRenderContext &context, const QgsPolygon &polygon, bool clipToExtent=true, bool correctRingOrientation=false) |
Creates a polygon in screen coordinates from a QgsPolygonXYin map coordinates. More... | |
static QPolygonF | _getPolygonRing (QgsRenderContext &context, const QgsCurve &curve, bool clipToExtent, bool isExteriorRing=false, bool correctRingOrientation=false) |
Creates a polygon ring in screen coordinates from a QgsCurve in map coordinates. More... | |
Protected Attributes inherited from QgsSymbol | |
bool | mClipFeaturesToExtent = true |
bool | mForceRHR = false |
Q_DECL_DEPRECATED const QgsVectorLayer * | mLayer = nullptr |
QgsSymbolLayerList | mLayers |
qreal | mOpacity = 1.0 |
Symbol opacity (in the range 0 - 1) More... | |
RenderHints | mRenderHints |
SymbolType | mType |
A fill symbol type, for rendering Polygon and MultiPolygon geometries.
Definition at line 1306 of file qgssymbol.h.
QgsFillSymbol::QgsFillSymbol | ( | const QgsSymbolLayerList & | layers = QgsSymbolLayerList() | ) |
Constructor for QgsFillSymbol, with the specified list of initial symbol layers.
Ownership of the layers are transferred to the symbol.
Definition at line 2311 of file qgssymbol.cpp.
|
overridevirtual |
Returns a deep copy of this symbol.
Ownership is transferred to the caller.
Implements QgsSymbol.
Definition at line 2422 of file qgssymbol.cpp.
|
static |
Create a fill symbol with one symbol layer: SimpleFill with specified properties.
This is a convenience method for easier creation of fill symbols.
Definition at line 1578 of file qgssymbol.cpp.
void QgsFillSymbol::renderPolygon | ( | const QPolygonF & | points, |
const QVector< QPolygonF > * | rings, | ||
const QgsFeature * | f, | ||
QgsRenderContext & | context, | ||
int | layer = -1 , |
||
bool | selected = false |
||
) |
Renders the symbol using the given render context.
The points list dictates the exterior ring for the polygon to render, and interior rings are optionally specified via the rings argument.
The f argument is used to pass the feature currently being rendered (when available).
If only a single symbol layer from the symbol should be rendered, it should be specified in the layer argument. A layer of -1 indicates that all symbol layers should be rendered.
If selected is true
then the symbol will be drawn using the "selected feature" style and colors instead of the symbol's normal style.
Definition at line 2318 of file qgssymbol.cpp.
void QgsFillSymbol::setAngle | ( | double | angle | ) |
Definition at line 2435 of file qgssymbol.cpp.