QGIS API Documentation  3.0.2-Girona (307d082)
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
QgsLineSymbolLayer Class Referenceabstract

#include <qgssymbollayer.h>

Inheritance diagram for QgsLineSymbolLayer:
Inheritance graph
[legend]

Public Member Functions

void drawPreviewIcon (QgsSymbolRenderContext &context, QSize size) override
 
double dxfWidth (const QgsDxfExport &e, QgsSymbolRenderContext &context) const override
 get line width More...
 
QgsMapUnitScale mapUnitScale () const override
 
double offset () const
 
const QgsMapUnitScale & offsetMapUnitScale () const
 
QgsUnitTypes::RenderUnit offsetUnit () const
 Returns the units for the line's offset. More...
 
QgsUnitTypes::RenderUnit outputUnit () const override
 Returns the units to use for sizes and widths within the symbol layer. More...
 
virtual void renderPolygonStroke (const QPolygonF &points, QList< QPolygonF > *rings, QgsSymbolRenderContext &context)
 
virtual void renderPolyline (const QPolygonF &points, QgsSymbolRenderContext &context)=0
 
void setMapUnitScale (const QgsMapUnitScale &scale) override
 
void setOffset (double offset)
 
void setOffsetMapUnitScale (const QgsMapUnitScale &scale)
 
void setOffsetUnit (QgsUnitTypes::RenderUnit unit)
 Sets the units 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...
 
virtual void setWidth (double width)
 
void setWidthMapUnitScale (const QgsMapUnitScale &scale)
 
void setWidthUnit (QgsUnitTypes::RenderUnit unit)
 Sets the units for the line's width. More...
 
virtual double width () const
 
const QgsMapUnitScale & widthMapUnitScale () const
 
QgsUnitTypes::RenderUnit widthUnit () const
 Returns the units for the line's width. More...
 
- Public Member Functions inherited from QgsSymbolLayer
virtual ~QgsSymbolLayer ()
 
virtual QgsSymbolLayer * clone () const =0
 Shall be reimplemented by subclasses to create a deep copy of the instance. More...
 
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
 get angle More...
 
virtual QColor dxfBrushColor (QgsSymbolRenderContext &context) const
 get brush/fill color More...
 
virtual Qt::BrushStyle dxfBrushStyle () const
 get brush/fill style More...
 
virtual QColor dxfColor (QgsSymbolRenderContext &context) const
 get color More...
 
virtual QVector< qreal > dxfCustomDashPattern (QgsUnitTypes::RenderUnit &unit) const
 get dash pattern More...
 
virtual double dxfOffset (const QgsDxfExport &e, QgsSymbolRenderContext &context) const
 get offset More...
 
virtual Qt::PenStyle dxfPenStyle () const
 get pen style More...
 
bool enabled () const
 Returns true if symbol layer is enabled and will be drawn. More...
 
virtual double estimateMaxBleed (const QgsRenderContext &context) const
 Returns the estimated maximum distance which the layer style will bleed outside the drawn shape when drawn in the specified /a context. More...
 
virtual QColor fillColor () const
 Get fill color. More...
 
virtual bool isCompatibleWithSymbol (QgsSymbol *symbol) const
 Returns if the layer can be used below the specified symbol. More...
 
bool isLocked () const
 
virtual QString layerType () const =0
 Returns a string that represents this layer type. More...
 
virtual QString ogrFeatureStyle (double mmScaleFactor, double mapUnitScaleFactor) const
 
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...
 
virtual QgsStringMap properties () const =0
 Should be reimplemented by subclasses to return a string map that contains the configuration information for the symbol layer. More...
 
int renderingPass () const
 
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)
 
virtual void setStrokeColor (const QColor &color)
 Set stroke color. More...
 
virtual bool setSubSymbol (QgsSymbol *symbol)
 set layer's subsymbol. takes ownership of the passed symbol More...
 
virtual void startRender (QgsSymbolRenderContext &context)=0
 
virtual void stopRender (QgsSymbolRenderContext &context)=0
 
virtual QColor strokeColor () const
 Get stroke color. More...
 
virtual QgsSymbol * subSymbol ()
 Returns the symbol's sub symbol, if present. More...
 
virtual void toSld (QDomDocument &doc, QDomElement &element, const QgsStringMap &props) const
 
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...
 

Protected Member Functions

 QgsLineSymbolLayer (bool locked=false)
 
- Protected Member Functions inherited from QgsSymbolLayer
 QgsSymbolLayer (QgsSymbol::SymbolType type, bool locked=false)
 
void copyDataDefinedProperties (QgsSymbolLayer *destLayer) const
 Copies all data defined properties of this layer to another symbol layer. More...
 
void copyPaintEffect (QgsSymbolLayer *destLayer) const
 Copies paint effect of this layer to another symbol layer. More...
 
void restoreOldDataDefinedProperties (const QgsStringMap &stringMap)
 Restores older data defined properties from string map. More...
 

Protected Attributes

double mOffset = 0
 
QgsMapUnitScale mOffsetMapUnitScale
 
QgsUnitTypes::RenderUnit mOffsetUnit = QgsUnitTypes::RenderMillimeters
 
double mWidth = 0
 
QgsMapUnitScale mWidthMapUnitScale
 
QgsUnitTypes::RenderUnit mWidthUnit = QgsUnitTypes::RenderMillimeters
 
- Protected Attributes inherited from QgsSymbolLayer
QColor mColor
 
QgsPropertyCollection mDataDefinedProperties
 
bool mEnabled
 True if layer is enabled and should be drawn. More...
 
QgsFields mFields
 
bool mLocked
 
QgsPaintEffect * mPaintEffect = nullptr
 
int mRenderingPass
 
QgsSymbol::SymbolType mType
 

Additional Inherited Members

- Public Types inherited from QgsSymbolLayer
enum  Property {
  PropertySize = 0, PropertyAngle, PropertyName, PropertyFillColor,
  PropertyStrokeColor, PropertyStrokeWidth, PropertyStrokeStyle, PropertyOffset,
  PropertyCharacter, PropertyWidth, PropertyHeight, PropertyPreserveAspectRatio,
  PropertyFillStyle, PropertyJoinStyle, PropertySecondaryColor, PropertyLineAngle,
  PropertyLineDistance, PropertyGradientType, PropertyCoordinateMode, PropertyGradientSpread,
  PropertyGradientReference1X, PropertyGradientReference1Y, PropertyGradientReference2X, PropertyGradientReference2Y,
  PropertyGradientReference1IsCentroid, PropertyGradientReference2IsCentroid, PropertyBlurRadius, PropertyShapeburstUseWholeShape,
  PropertyShapeburstMaxDistance, PropertyShapeburstIgnoreRings, PropertyFile, PropertyDistanceX,
  PropertyDistanceY, PropertyDisplacementX, PropertyDisplacementY, PropertyOpacity,
  PropertyCustomDash, PropertyCapStyle, PropertyPlacement, PropertyInterval,
  PropertyOffsetAlongLine, PropertyHorizontalAnchor, PropertyVerticalAnchor, PropertyLayerEnabled,
  PropertyArrowWidth, PropertyArrowStartWidth, PropertyArrowHeadLength, PropertyArrowHeadThickness,
  PropertyArrowHeadType, PropertyArrowType
}
 Data definable properties. More...
 
- Static Public Member Functions inherited from QgsSymbolLayer
static const QgsPropertiesDefinition & propertyDefinitions ()
 Returns the symbol layer property definitions. More...
 
- Static Protected Attributes inherited from QgsSymbolLayer
static const bool SELECT_FILL_BORDER = false
 Whether fill styles for selected features also highlight symbol stroke. More...
 
static const bool SELECT_FILL_STYLE = false
 Whether fill styles for selected features uses symbol layer style. More...
 
static const bool SELECTION_IS_OPAQUE = true
 Whether styles for selected features ignore symbol alpha. More...
 

Detailed Description

Definition at line 762 of file qgssymbollayer.h.

Constructor & Destructor Documentation

◆ QgsLineSymbolLayer()

QgsLineSymbolLayer::QgsLineSymbolLayer ( bool  locked = false)
protected

Definition at line 388 of file qgssymbollayer.cpp.

Member Function Documentation

◆ drawPreviewIcon()

void QgsLineSymbolLayer::drawPreviewIcon ( QgsSymbolRenderContext &  context,
QSize  size 
)
overridevirtual

Implements QgsSymbolLayer.

Definition at line 588 of file qgssymbollayer.cpp.

◆ dxfWidth()

double QgsLineSymbolLayer::dxfWidth ( const QgsDxfExport &  e,
QgsSymbolRenderContext &  context 
) const
overridevirtual

get line width

Reimplemented from QgsSymbolLayer.

Definition at line 619 of file qgssymbollayer.cpp.

◆ mapUnitScale()

QgsMapUnitScale QgsLineSymbolLayer::mapUnitScale ( ) const
overridevirtual

Reimplemented from QgsSymbolLayer.

Definition at line 582 of file qgssymbollayer.cpp.

◆ offset()

double QgsLineSymbolLayer::offset ( ) const
inline

Definition at line 772 of file qgssymbollayer.h.

◆ offsetMapUnitScale()

const QgsMapUnitScale& QgsLineSymbolLayer::offsetMapUnitScale ( ) const
inline

Definition at line 805 of file qgssymbollayer.h.

◆ offsetUnit()

QgsUnitTypes::RenderUnit QgsLineSymbolLayer::offsetUnit ( ) const
inline

Returns the units for the line's offset.

See also
setOffsetUnit()

Definition at line 802 of file qgssymbollayer.h.

◆ outputUnit()

QgsUnitTypes::RenderUnit QgsLineSymbolLayer::outputUnit ( ) const
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.

Returns
output unit, or QgsUnitTypes::RenderUnknownUnit if the symbol layer contains mixed units
See also
setOutputUnit()

Reimplemented from QgsSymbolLayer.

Definition at line 572 of file qgssymbollayer.cpp.

◆ renderPolygonStroke()

void QgsLineSymbolLayer::renderPolygonStroke ( const QPolygonF &  points,
QList< QPolygonF > *  rings,
QgsSymbolRenderContext &  context 
)
virtual

Reimplemented in QgsMarkerLineSymbolLayer, and QgsSimpleLineSymbolLayer.

Definition at line 609 of file qgssymbollayer.cpp.

◆ renderPolyline()

virtual void QgsLineSymbolLayer::renderPolyline ( const QPolygonF &  points,
QgsSymbolRenderContext &  context 
)
pure virtual

◆ setMapUnitScale()

void QgsLineSymbolLayer::setMapUnitScale ( const QgsMapUnitScale &  scale)
overridevirtual

Reimplemented from QgsSymbolLayer.

Definition at line 577 of file qgssymbollayer.cpp.

◆ setOffset()

void QgsLineSymbolLayer::setOffset ( double  offset)
inline

Definition at line 773 of file qgssymbollayer.h.

◆ setOffsetMapUnitScale()

void QgsLineSymbolLayer::setOffsetMapUnitScale ( const QgsMapUnitScale &  scale)
inline

Definition at line 804 of file qgssymbollayer.h.

◆ setOffsetUnit()

void QgsLineSymbolLayer::setOffsetUnit ( QgsUnitTypes::RenderUnit  unit)
inline

Sets the units for the line's offset.

Parameters
unitoffset units
See also
offsetUnit()

Definition at line 796 of file qgssymbollayer.h.

◆ setOutputUnit()

void QgsLineSymbolLayer::setOutputUnit ( QgsUnitTypes::RenderUnit  unit)
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.

Parameters
unitoutput units
See also
outputUnit()

Reimplemented from QgsSymbolLayer.

Definition at line 567 of file qgssymbollayer.cpp.

◆ setWidth()

virtual void QgsLineSymbolLayer::setWidth ( double  width)
inlinevirtual

Reimplemented in QgsMarkerLineSymbolLayer.

Definition at line 769 of file qgssymbollayer.h.

◆ setWidthMapUnitScale()

void QgsLineSymbolLayer::setWidthMapUnitScale ( const QgsMapUnitScale &  scale)
inline

Definition at line 788 of file qgssymbollayer.h.

◆ setWidthUnit()

void QgsLineSymbolLayer::setWidthUnit ( QgsUnitTypes::RenderUnit  unit)
inline

Sets the units for the line's width.

Parameters
unitwidth units
See also
widthUnit()

Definition at line 780 of file qgssymbollayer.h.

◆ width()

virtual double QgsLineSymbolLayer::width ( ) const
inlinevirtual

Reimplemented in QgsMarkerLineSymbolLayer.

Definition at line 770 of file qgssymbollayer.h.

◆ widthMapUnitScale()

const QgsMapUnitScale& QgsLineSymbolLayer::widthMapUnitScale ( ) const
inline

Definition at line 789 of file qgssymbollayer.h.

◆ widthUnit()

QgsUnitTypes::RenderUnit QgsLineSymbolLayer::widthUnit ( ) const
inline

Returns the units for the line's width.

See also
setWidthUnit()

Definition at line 786 of file qgssymbollayer.h.

Member Data Documentation

◆ mOffset

double QgsLineSymbolLayer::mOffset = 0
protected

Definition at line 823 of file qgssymbollayer.h.

◆ mOffsetMapUnitScale

QgsMapUnitScale QgsLineSymbolLayer::mOffsetMapUnitScale
protected

Definition at line 825 of file qgssymbollayer.h.

◆ mOffsetUnit

QgsUnitTypes::RenderUnit QgsLineSymbolLayer::mOffsetUnit = QgsUnitTypes::RenderMillimeters
protected

Definition at line 824 of file qgssymbollayer.h.

◆ mWidth

double QgsLineSymbolLayer::mWidth = 0
protected

Definition at line 820 of file qgssymbollayer.h.

◆ mWidthMapUnitScale

QgsMapUnitScale QgsLineSymbolLayer::mWidthMapUnitScale
protected

Definition at line 822 of file qgssymbollayer.h.

◆ mWidthUnit

QgsUnitTypes::RenderUnit QgsLineSymbolLayer::mWidthUnit = QgsUnitTypes::RenderMillimeters
protected

Definition at line 821 of file qgssymbollayer.h.


The documentation for this class was generated from the following files: