QGIS API Documentation
3.10.0-A Coruña (6c816b4204)
|
A simple line symbol layer, which renders lines using a line in a variety of styles (e.g. More...
#include <qgslinesymbollayer.h>
Public Member Functions | |
QgsSimpleLineSymbolLayer (const QColor &color=DEFAULT_SIMPLELINE_COLOR, double width=DEFAULT_SIMPLELINE_WIDTH, Qt::PenStyle penStyle=DEFAULT_SIMPLELINE_PENSTYLE) | |
Constructor for QgsSimpleLineSymbolLayer. More... | |
QgsSimpleLineSymbolLayer * | clone () const override |
Shall be reimplemented by subclasses to create a deep copy of the instance. More... | |
const QgsMapUnitScale & | customDashPatternMapUnitScale () const |
Returns the map unit scale for lengths used in the custom dash pattern. More... | |
QgsUnitTypes::RenderUnit | customDashPatternUnit () const |
Returns the units for lengths used in the custom dash pattern. More... | |
QVector< qreal > | customDashVector () const |
Returns the custom dash vector, which is the pattern of alternating drawn/skipped lengths used while rendering a custom dash pattern. More... | |
bool | drawInsidePolygon () const |
Returns true if the line should only be drawn inside polygons, and any portion of the line which falls outside the polygon should be clipped away. More... | |
QColor | dxfColor (QgsSymbolRenderContext &context) const override |
Gets color. More... | |
QVector< qreal > | dxfCustomDashPattern (QgsUnitTypes::RenderUnit &unit) const override |
Gets dash pattern. More... | |
double | dxfOffset (const QgsDxfExport &e, QgsSymbolRenderContext &context) const override |
Gets offset. More... | |
Qt::PenStyle | dxfPenStyle () const override |
Gets pen style. More... | |
double | dxfWidth (const QgsDxfExport &e, QgsSymbolRenderContext &context) const override |
Gets line width. More... | |
double | estimateMaxBleed (const QgsRenderContext &context) const override |
Returns the estimated maximum distance which the layer style will bleed outside the drawn shape when drawn in the specified /a context. More... | |
QString | layerType () const override |
Returns a string that represents this layer type. More... | |
QgsMapUnitScale | mapUnitScale () const override |
QString | ogrFeatureStyle (double mmScaleFactor, double mapUnitScaleFactor) const override |
QgsUnitTypes::RenderUnit | outputUnit () const override |
Returns the units to use for sizes and widths within the symbol layer. More... | |
Qt::PenCapStyle | penCapStyle () const |
Returns the pen cap style used to render the line (e.g. More... | |
Qt::PenJoinStyle | penJoinStyle () const |
Returns the pen join style used to render the line (e.g. More... | |
Qt::PenStyle | penStyle () const |
Returns the pen style used to render the line (e.g. More... | |
QgsStringMap | properties () const override |
Should be reimplemented by subclasses to return a string map that contains the configuration information for the symbol layer. More... | |
void | renderPolygonStroke (const QPolygonF &points, QList< QPolygonF > *rings, QgsSymbolRenderContext &context) override |
Renders the line symbol layer along the outline of polygon, using the given render context. More... | |
void | renderPolyline (const QPolygonF &points, QgsSymbolRenderContext &context) override |
Renders the line symbol layer along the line joining points, using the given render context. More... | |
void | setCustomDashPatternMapUnitScale (const QgsMapUnitScale &scale) |
Sets the map unit scale for lengths used in the custom dash pattern. More... | |
void | setCustomDashPatternUnit (QgsUnitTypes::RenderUnit unit) |
Sets the unit for lengths used in the custom dash pattern. More... | |
void | setCustomDashVector (const QVector< qreal > &vector) |
Sets the custom dash vector, which is the pattern of alternating drawn/skipped lengths used while rendering a custom dash pattern. More... | |
void | setDrawInsidePolygon (bool drawInsidePolygon) |
Sets whether the line should only be drawn inside polygons, and any portion of the line which falls outside the polygon should be clipped away. More... | |
void | setMapUnitScale (const QgsMapUnitScale &scale) override |
void | setOutputUnit (QgsUnitTypes::RenderUnit unit) override |
Sets the units to use for sizes and widths within the symbol layer. More... | |
void | setPenCapStyle (Qt::PenCapStyle style) |
Sets the pen cap style used to render the line (e.g. More... | |
void | setPenJoinStyle (Qt::PenJoinStyle style) |
Sets the pen join style used to render the line (e.g. More... | |
void | setPenStyle (Qt::PenStyle style) |
Sets the pen style used to render the line (e.g. More... | |
void | setUseCustomDashPattern (bool b) |
Sets whether the line uses a custom dash pattern. More... | |
void | startRender (QgsSymbolRenderContext &context) override |
void | stopRender (QgsSymbolRenderContext &context) override |
void | toSld (QDomDocument &doc, QDomElement &element, const QgsStringMap &props) const override |
bool | useCustomDashPattern () const |
Returns true if the line uses a custom dash pattern. More... | |
Public Member Functions inherited from QgsLineSymbolLayer | |
QgsLineSymbolLayer (const QgsLineSymbolLayer &other)=delete | |
QgsLineSymbolLayer cannot be copied. More... | |
void | drawPreviewIcon (QgsSymbolRenderContext &context, QSize size) override |
double | dxfWidth (const QgsDxfExport &e, QgsSymbolRenderContext &context) const override |
Gets line width. More... | |
QgsMapUnitScale | mapUnitScale () const override |
double | offset () const |
Returns the line's offset. More... | |
const QgsMapUnitScale & | offsetMapUnitScale () const |
Returns the map unit scale for the line's offset. More... | |
QgsUnitTypes::RenderUnit | offsetUnit () const |
Returns the units for the line's offset. More... | |
QgsLineSymbolLayer & | operator= (const QgsLineSymbolLayer &other)=delete |
QgsLineSymbolLayer cannot be copied. More... | |
QgsUnitTypes::RenderUnit | outputUnit () const override |
Returns the units to use for sizes and widths within the symbol layer. More... | |
RenderRingFilter | ringFilter () const |
Returns the line symbol layer's ring filter, which controls which rings are rendered when the line symbol is being used to draw a polygon's rings. More... | |
void | setMapUnitScale (const QgsMapUnitScale &scale) override |
void | setOffset (double offset) |
Sets the line's offset. More... | |
void | setOffsetMapUnitScale (const QgsMapUnitScale &scale) |
Sets the map unit scale for the line's offset. More... | |
void | setOffsetUnit (QgsUnitTypes::RenderUnit unit) |
Sets the unit for the line's offset. More... | |
void | setOutputUnit (QgsUnitTypes::RenderUnit unit) override |
Sets the units to use for sizes and widths within the symbol layer. More... | |
void | setRingFilter (QgsLineSymbolLayer::RenderRingFilter filter) |
Sets the line symbol layer's ring filter, which controls which rings are rendered when the line symbol is being used to draw a polygon's rings. More... | |
virtual void | setWidth (double width) |
Sets the width of the line symbol layer. More... | |
void | setWidthMapUnitScale (const QgsMapUnitScale &scale) |
void | setWidthUnit (QgsUnitTypes::RenderUnit unit) |
Sets the units for the line's width. More... | |
virtual double | width () const |
Returns the estimated width for the line symbol layer. More... | |
virtual double | width (const QgsRenderContext &context) const |
Returns the line symbol layer width, in painter units. More... | |
const QgsMapUnitScale & | widthMapUnitScale () const |
QgsUnitTypes::RenderUnit | widthUnit () const |
Returns the units for the line's width. More... | |
Public Member Functions inherited from QgsSymbolLayer | |
QgsSymbolLayer (const QgsSymbolLayer &other)=delete | |
QgsSymbolLayer cannot be copied. More... | |
virtual | ~QgsSymbolLayer () |
virtual QColor | color () const |
The fill color. More... | |
QgsPropertyCollection & | dataDefinedProperties () |
Returns a reference to the symbol layer's property collection, used for data defined overrides. More... | |
const QgsPropertyCollection & | dataDefinedProperties () const |
Returns a reference to the symbol layer's property collection, used for data defined overrides. More... | |
virtual double | dxfAngle (QgsSymbolRenderContext &context) const |
Gets angle. More... | |
virtual QColor | dxfBrushColor (QgsSymbolRenderContext &context) const |
Gets brush/fill color. More... | |
virtual Qt::BrushStyle | dxfBrushStyle () const |
Gets brush/fill style. More... | |
bool | enabled () const |
Returns true if symbol layer is enabled and will be drawn. More... | |
virtual QColor | fillColor () const |
Gets fill color. More... | |
virtual bool | hasDataDefinedProperties () const |
Returns true if the symbol layer (or any of its sub-symbols) contains data defined properties. More... | |
virtual bool | isCompatibleWithSymbol (QgsSymbol *symbol) const |
Returns if the layer can be used below the specified symbol. More... | |
bool | isLocked () const |
QgsSymbolLayer & | operator= (const QgsSymbolLayer &other)=delete |
QgsSymbolLayer cannot be copied. More... | |
QgsPaintEffect * | paintEffect () const |
Returns the current paint effect for the layer. More... | |
virtual void | prepareExpressions (const QgsSymbolRenderContext &context) |
Prepares all data defined property expressions for evaluation. More... | |
int | renderingPass () const |
Specifies the rendering pass in which this symbol layer should be rendered. More... | |
virtual void | setColor (const QColor &color) |
The fill color. More... | |
void | setDataDefinedProperties (const QgsPropertyCollection &collection) |
Sets the symbol layer's property collection, used for data defined overrides. More... | |
virtual void | setDataDefinedProperty (Property key, const QgsProperty &property) |
Sets a data defined property for the layer. More... | |
void | setEnabled (bool enabled) |
Sets whether symbol layer is enabled and should be drawn. More... | |
virtual void | setFillColor (const QColor &color) |
Set fill color. More... | |
void | setLocked (bool locked) |
void | setPaintEffect (QgsPaintEffect *effect) |
Sets the current paint effect for the layer. More... | |
void | setRenderingPass (int renderingPass) |
Specifies the rendering pass in which this symbol layer should be rendered. More... | |
virtual void | setStrokeColor (const QColor &color) |
Set stroke color. More... | |
virtual bool | setSubSymbol (QgsSymbol *symbol) |
Sets layer's subsymbol. takes ownership of the passed symbol. More... | |
virtual QColor | strokeColor () const |
Gets stroke color. More... | |
virtual QgsSymbol * | subSymbol () |
Returns the symbol's sub symbol, if present. More... | |
QgsSymbol::SymbolType | type () const |
virtual QSet< QString > | usedAttributes (const QgsRenderContext &context) const |
Returns the set of attributes referenced by the layer. More... | |
virtual bool | writeDxf (QgsDxfExport &e, double mmMapUnitScaleFactor, const QString &layerName, QgsSymbolRenderContext &context, QPointF shift=QPointF(0.0, 0.0)) const |
write as DXF More... | |
Static Public Member Functions | |
static QgsSymbolLayer * | create (const QgsStringMap &properties=QgsStringMap()) |
Creates a new QgsSimpleLineSymbolLayer, using the settings serialized in the properties map (corresponding to the output from QgsSimpleLineSymbolLayer::properties() ). More... | |
static QgsSymbolLayer * | createFromSld (QDomElement &element) |
Creates a new QgsSimpleLineSymbolLayer from an SLD XML DOM element. More... | |
Static Public Member Functions inherited from QgsSymbolLayer | |
static const QgsPropertiesDefinition & | propertyDefinitions () |
Returns the symbol layer property definitions. More... | |
A simple line symbol layer, which renders lines using a line in a variety of styles (e.g.
solid, dotted, dashed).
Definition at line 39 of file qgslinesymbollayer.h.
QgsSimpleLineSymbolLayer::QgsSimpleLineSymbolLayer | ( | const QColor & | color = DEFAULT_SIMPLELINE_COLOR , |
double | width = DEFAULT_SIMPLELINE_WIDTH , |
||
Qt::PenStyle | penStyle = DEFAULT_SIMPLELINE_PENSTYLE |
||
) |
Constructor for QgsSimpleLineSymbolLayer.
Creates a simple line symbol in the specified color, width (in millimeters) and penStyle.
Definition at line 36 of file qgslinesymbollayer.cpp.
|
overridevirtual |
Shall be reimplemented by subclasses to create a deep copy of the instance.
Implements QgsSymbolLayer.
Definition at line 393 of file qgslinesymbollayer.cpp.
|
static |
Creates a new QgsSimpleLineSymbolLayer, using the settings serialized in the properties map (corresponding to the output from QgsSimpleLineSymbolLayer::properties() ).
Definition at line 81 of file qgslinesymbollayer.cpp.
|
static |
Creates a new QgsSimpleLineSymbolLayer from an SLD XML DOM element.
Definition at line 462 of file qgslinesymbollayer.cpp.
|
inline |
Returns the map unit scale for lengths used in the custom dash pattern.
Definition at line 161 of file qgslinesymbollayer.h.
|
inline |
Returns the units for lengths used in the custom dash pattern.
Definition at line 155 of file qgslinesymbollayer.h.
|
inline |
Returns the custom dash vector, which is the pattern of alternating drawn/skipped lengths used while rendering a custom dash pattern.
Units for the vector are specified by customDashPatternUnit()
This setting is only used when useCustomDashPattern() returns true
.
Definition at line 181 of file qgslinesymbollayer.h.
|
inline |
Returns true
if the line should only be drawn inside polygons, and any portion of the line which falls outside the polygon should be clipped away.
This setting only has an effect when the line symbol is being used to render polygon rings.
Definition at line 206 of file qgslinesymbollayer.h.
|
overridevirtual |
Gets color.
Reimplemented from QgsSymbolLayer.
Definition at line 644 of file qgslinesymbollayer.cpp.
|
overridevirtual |
Gets dash pattern.
Reimplemented from QgsSymbolLayer.
Definition at line 616 of file qgslinesymbollayer.cpp.
|
overridevirtual |
Gets offset.
Reimplemented from QgsSymbolLayer.
Definition at line 654 of file qgslinesymbollayer.cpp.
|
overridevirtual |
Gets pen style.
Reimplemented from QgsSymbolLayer.
Definition at line 622 of file qgslinesymbollayer.cpp.
|
overridevirtual |
Gets line width.
Reimplemented from QgsSymbolLayer.
Definition at line 627 of file qgslinesymbollayer.cpp.
|
overridevirtual |
Returns the estimated maximum distance which the layer style will bleed outside the drawn shape when drawn in the specified /a context.
For example, polygons drawn with an stroke will draw half the width of the stroke outside of the polygon. This amount is estimated, since it may be affected by data defined symbology rules.
Reimplemented from QgsSymbolLayer.
Definition at line 602 of file qgslinesymbollayer.cpp.
|
overridevirtual |
Returns a string that represents this layer type.
Used for serialization. Should match with the string used to register this symbol layer in the registry.
Implements QgsSymbolLayer.
Definition at line 186 of file qgslinesymbollayer.cpp.
|
overridevirtual |
Reimplemented from QgsSymbolLayer.
Definition at line 70 of file qgslinesymbollayer.cpp.
|
overridevirtual |
Reimplemented from QgsSymbolLayer.
Definition at line 447 of file qgslinesymbollayer.cpp.
|
overridevirtual |
Returns the units to use for sizes and widths within the symbol layer.
Individual symbol layer subclasses will interpret this in different ways, e.g., a marker symbol layer may use it to specify the units for the marker size, while a line symbol layer may use it to specify the units for the line width.
Reimplemented from QgsSymbolLayer.
Definition at line 52 of file qgslinesymbollayer.cpp.
|
inline |
Returns the pen cap style used to render the line (e.g.
flat, square, round, etc).
Definition at line 120 of file qgslinesymbollayer.h.
|
inline |
Returns the pen join style used to render the line (e.g.
miter, bevel, round, etc).
Definition at line 106 of file qgslinesymbollayer.h.
|
inline |
Returns the pen style used to render the line (e.g.
solid, dashed, etc).
Definition at line 92 of file qgslinesymbollayer.h.
|
overridevirtual |
Should be reimplemented by subclasses to return a string map that contains the configuration information for the symbol layer.
This is used to serialize a symbol layer perstistently.
Implements QgsSymbolLayer.
Definition at line 371 of file qgslinesymbollayer.cpp.
|
overridevirtual |
Renders the line symbol layer along the outline of polygon, using the given render context.
The exterior ring of the polygon is specified in points. Optionally, interior rings are set via the rings argument.
Reimplemented from QgsLineSymbolLayer.
Definition at line 241 of file qgslinesymbollayer.cpp.
|
overridevirtual |
Renders the line symbol layer along the line joining points, using the given render context.
Implements QgsLineSymbolLayer.
Definition at line 312 of file qgslinesymbollayer.cpp.
|
inline |
Sets the map unit scale for lengths used in the custom dash pattern.
Definition at line 167 of file qgslinesymbollayer.h.
|
inline |
Sets the unit for lengths used in the custom dash pattern.
Definition at line 149 of file qgslinesymbollayer.h.
|
inline |
Sets the custom dash vector, which is the pattern of alternating drawn/skipped lengths used while rendering a custom dash pattern.
Units for the vector are specified by customDashPatternUnit()
This setting is only used when useCustomDashPattern() returns true
.
Definition at line 195 of file qgslinesymbollayer.h.
|
inline |
Sets whether the line should only be drawn inside polygons, and any portion of the line which falls outside the polygon should be clipped away.
This setting only has an effect when the line symbol is being used to render polygon rings.
Definition at line 217 of file qgslinesymbollayer.h.
|
overridevirtual |
Reimplemented from QgsSymbolLayer.
Definition at line 62 of file qgslinesymbollayer.cpp.
|
overridevirtual |
Sets the units to use for sizes and widths within the symbol layer.
Individual symbol layer subclasses will interpret this in different ways, e.g., a marker symbol layer may use it to specify the units for the marker size, while a line symbol layer may use it to specify the units for the line width.
unit | output units |
Reimplemented from QgsSymbolLayer.
Definition at line 44 of file qgslinesymbollayer.cpp.
|
inline |
Sets the pen cap style used to render the line (e.g.
flat, square, round, etc).
Definition at line 127 of file qgslinesymbollayer.h.
|
inline |
Sets the pen join style used to render the line (e.g.
miter, bevel, round, etc).
Definition at line 113 of file qgslinesymbollayer.h.
|
inline |
Sets the pen style used to render the line (e.g.
solid, dashed, etc).
Definition at line 99 of file qgslinesymbollayer.h.
|
inline |
Sets whether the line uses a custom dash pattern.
Definition at line 143 of file qgslinesymbollayer.h.
|
overridevirtual |
Implements QgsSymbolLayer.
Definition at line 191 of file qgslinesymbollayer.cpp.
|
overridevirtual |
Implements QgsSymbolLayer.
Definition at line 236 of file qgslinesymbollayer.cpp.
|
overridevirtual |
Reimplemented from QgsSymbolLayer.
Definition at line 414 of file qgslinesymbollayer.cpp.
|
inline |
Returns true
if the line uses a custom dash pattern.
Definition at line 135 of file qgslinesymbollayer.h.