QGIS API Documentation
3.2.0-Bonn (bc43194)
|
A class for svg fill patterns. More...
#include <qgsfillsymbollayer.h>
Public Member Functions | |
QgsSVGFillSymbolLayer (const QString &svgFilePath, double width=20, double rotation=0.0) | |
Constructs SVG fill symbol layer with picture from given absolute path to a SVG file. More... | |
QgsSVGFillSymbolLayer (const QByteArray &svgData, double width=20, double rotation=0.0) | |
~QgsSVGFillSymbolLayer () override | |
QgsSVGFillSymbolLayer * | clone () const override |
Shall be reimplemented by subclasses to create a deep copy of the instance. More... | |
QString | layerType () const override |
Returns a string that represents this layer type. More... | |
QgsMapUnitScale | mapUnitScale () const override |
QgsUnitTypes::RenderUnit | outputUnit () const override |
Returns the units to use for sizes and widths within the symbol layer. More... | |
double | patternWidth () const |
const QgsMapUnitScale & | patternWidthMapUnitScale () const |
QgsUnitTypes::RenderUnit | patternWidthUnit () const |
Returns the units for the width of the SVG images in the pattern. 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 | 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 | setPatternWidth (double width) |
void | setPatternWidthMapUnitScale (const QgsMapUnitScale &scale) |
void | setPatternWidthUnit (QgsUnitTypes::RenderUnit unit) |
Sets the units for the width of the SVG images in the pattern. More... | |
void | setSvgFilePath (const QString &svgPath) |
void | setSvgFillColor (const QColor &c) |
void | setSvgStrokeColor (const QColor &c) |
void | setSvgStrokeWidth (double w) |
void | setSvgStrokeWidthMapUnitScale (const QgsMapUnitScale &scale) |
void | setSvgStrokeWidthUnit (QgsUnitTypes::RenderUnit unit) |
Sets the units for the stroke width. More... | |
void | startRender (QgsSymbolRenderContext &context) override |
void | stopRender (QgsSymbolRenderContext &context) override |
QString | svgFilePath () const |
QColor | svgFillColor () const |
QColor | svgStrokeColor () const |
double | svgStrokeWidth () const |
const QgsMapUnitScale & | svgStrokeWidthMapUnitScale () const |
QgsUnitTypes::RenderUnit | svgStrokeWidthUnit () const |
Returns the units for the stroke width. More... | |
void | toSld (QDomDocument &doc, QDomElement &element, const QgsStringMap &props) const override |
Public Member Functions inherited from QgsImageFillSymbolLayer | |
QgsImageFillSymbolLayer () | |
QColor | dxfColor (QgsSymbolRenderContext &context) const override |
Gets color. 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... | |
void | renderPolygon (const QPolygonF &points, QList< QPolygonF > *rings, QgsSymbolRenderContext &context) override |
void | setStrokeWidthMapUnitScale (const QgsMapUnitScale &scale) |
void | setStrokeWidthUnit (QgsUnitTypes::RenderUnit unit) |
Sets the units for the symbol's stroke width. More... | |
bool | setSubSymbol (QgsSymbol *symbol) override |
Sets layer's subsymbol. takes ownership of the passed symbol. More... | |
const QgsMapUnitScale & | strokeWidthMapUnitScale () const |
QgsUnitTypes::RenderUnit | strokeWidthUnit () const |
Returns the units for the symbol's stroke width. More... | |
QgsSymbol * | subSymbol () override |
Returns the symbol's sub symbol, if present. More... | |
QSet< QString > | usedAttributes (const QgsRenderContext &context) const override |
Returns the set of attributes referenced by the layer. More... | |
Public Member Functions inherited from QgsFillSymbolLayer | |
double | angle () const |
void | drawPreviewIcon (QgsSymbolRenderContext &context, QSize size) override |
void | setAngle (double angle) |
Public Member Functions inherited from QgsSymbolLayer | |
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... | |
virtual QVector< qreal > | dxfCustomDashPattern (QgsUnitTypes::RenderUnit &unit) const |
Gets dash pattern. More... | |
virtual double | dxfOffset (const QgsDxfExport &e, QgsSymbolRenderContext &context) const |
Gets offset. 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 | isCompatibleWithSymbol (QgsSymbol *symbol) const |
Returns if the layer can be used below the specified symbol. More... | |
bool | isLocked () const |
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... | |
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 QColor | strokeColor () const |
Gets stroke color. More... | |
QgsSymbol::SymbolType | type () const |
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()) |
static QgsSymbolLayer * | createFromSld (QDomElement &element) |
static void | resolvePaths (QgsStringMap &properties, const QgsPathResolver &pathResolver, bool saving) |
Turns relative paths in properties map to absolute when reading and vice versa when writing. More... | |
Static Public Member Functions inherited from QgsSymbolLayer | |
static const QgsPropertiesDefinition & | propertyDefinitions () |
Returns the symbol layer property definitions. More... | |
Protected Member Functions | |
void | applyDataDefinedSettings (QgsSymbolRenderContext &context) override |
Protected Member Functions inherited from QgsFillSymbolLayer | |
QgsFillSymbolLayer (bool locked=false) | |
void | _renderPolygon (QPainter *p, const QPolygonF &points, const QList< QPolygonF > *rings, QgsSymbolRenderContext &context) |
Default method to render polygon. More... | |
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... | |
A class for svg fill patterns.
The class automatically scales the pattern to the appropriate pixel dimensions of the output device
Definition at line 912 of file qgsfillsymbollayer.h.
QgsSVGFillSymbolLayer::QgsSVGFillSymbolLayer | ( | const QString & | svgFilePath, |
double | width = 20 , |
||
double | rotation = 0.0 |
||
) |
Constructs SVG fill symbol layer with picture from given absolute path to a SVG file.
Definition at line 1714 of file qgsfillsymbollayer.cpp.
QgsSVGFillSymbolLayer::QgsSVGFillSymbolLayer | ( | const QByteArray & | svgData, |
double | width = 20 , |
||
double | rotation = 0.0 |
||
) |
Definition at line 1730 of file qgsfillsymbollayer.cpp.
|
override |
Definition at line 1748 of file qgsfillsymbollayer.cpp.
|
overrideprotectedvirtual |
Reimplemented from QgsImageFillSymbolLayer.
Definition at line 2175 of file qgsfillsymbollayer.cpp.
|
overridevirtual |
Shall be reimplemented by subclasses to create a deep copy of the instance.
Implements QgsSymbolLayer.
Definition at line 2024 of file qgsfillsymbollayer.cpp.
|
static |
Definition at line 1800 of file qgsfillsymbollayer.cpp.
|
static |
Definition at line 2110 of file qgsfillsymbollayer.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 1914 of file qgsfillsymbollayer.cpp.
|
overridevirtual |
Reimplemented from QgsImageFillSymbolLayer.
Definition at line 1780 of file qgsfillsymbollayer.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 QgsImageFillSymbolLayer.
Definition at line 1762 of file qgsfillsymbollayer.cpp.
|
inline |
Definition at line 947 of file qgsfillsymbollayer.h.
|
inline |
Definition at line 971 of file qgsfillsymbollayer.h.
|
inline |
Returns the units for the width of the SVG images in the pattern.
Definition at line 968 of file qgsfillsymbollayer.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 1994 of file qgsfillsymbollayer.cpp.
|
static |
Turns relative paths in properties map to absolute when reading and vice versa when writing.
Used internally when reading/writing symbols.
Definition at line 1902 of file qgsfillsymbollayer.cpp.
|
overridevirtual |
Reimplemented from QgsImageFillSymbolLayer.
Definition at line 1772 of file qgsfillsymbollayer.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 QgsImageFillSymbolLayer.
Definition at line 1753 of file qgsfillsymbollayer.cpp.
|
inline |
Definition at line 946 of file qgsfillsymbollayer.h.
|
inline |
Definition at line 970 of file qgsfillsymbollayer.h.
|
inline |
Sets the units for the width of the SVG images in the pattern.
unit | width units |
Definition at line 962 of file qgsfillsymbollayer.h.
void QgsSVGFillSymbolLayer::setSvgFilePath | ( | const QString & | svgPath | ) |
Definition at line 1791 of file qgsfillsymbollayer.cpp.
|
inline |
Definition at line 949 of file qgsfillsymbollayer.h.
|
inline |
Definition at line 952 of file qgsfillsymbollayer.h.
|
inline |
Definition at line 954 of file qgsfillsymbollayer.h.
|
inline |
Definition at line 986 of file qgsfillsymbollayer.h.
|
inline |
Sets the units for the stroke width.
unit | width units |
Definition at line 978 of file qgsfillsymbollayer.h.
|
overridevirtual |
Implements QgsSymbolLayer.
Definition at line 1975 of file qgsfillsymbollayer.cpp.
|
overridevirtual |
Implements QgsSymbolLayer.
Definition at line 1986 of file qgsfillsymbollayer.cpp.
|
inline |
Definition at line 945 of file qgsfillsymbollayer.h.
|
inline |
Definition at line 950 of file qgsfillsymbollayer.h.
|
inline |
Definition at line 953 of file qgsfillsymbollayer.h.
|
inline |
Definition at line 955 of file qgsfillsymbollayer.h.
|
inline |
Definition at line 987 of file qgsfillsymbollayer.h.
|
inline |
Returns the units for the stroke width.
Definition at line 984 of file qgsfillsymbollayer.h.
|
overridevirtual |
Reimplemented from QgsSymbolLayer.
Definition at line 2055 of file qgsfillsymbollayer.cpp.
|
protected |
Width of the pattern (in output units)
Definition at line 997 of file qgsfillsymbollayer.h.
|
protected |
Definition at line 999 of file qgsfillsymbollayer.h.
|
protected |
Definition at line 998 of file qgsfillsymbollayer.h.
|
protected |
SVG data.
Definition at line 1002 of file qgsfillsymbollayer.h.
|
protected |
Path to the svg file (or empty if constructed directly from data)
Definition at line 1004 of file qgsfillsymbollayer.h.
|
protected |
SVG pattern image.
Definition at line 1008 of file qgsfillsymbollayer.h.
|
protected |
Definition at line 1012 of file qgsfillsymbollayer.h.
|
protected |
Definition at line 1013 of file qgsfillsymbollayer.h.
|
protected |
Definition at line 1015 of file qgsfillsymbollayer.h.
|
protected |
Definition at line 1014 of file qgsfillsymbollayer.h.
|
protected |
SVG view box (to keep the aspect ratio.
Definition at line 1006 of file qgsfillsymbollayer.h.