QGIS API Documentation  2.14.0-Essen
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
QgsSVGFillSymbolLayer Class Reference

A class for svg fill patterns. More...

#include <qgsfillsymbollayerv2.h>

Inheritance diagram for QgsSVGFillSymbolLayer:
Inheritance graph
[legend]

Public Member Functions

 QgsSVGFillSymbolLayer (const QString &svgFilePath="", double width=20, double rotation=0.0)
 
 QgsSVGFillSymbolLayer (const QByteArray &svgData, double width=20, double rotation=0.0)
 
 ~QgsSVGFillSymbolLayer ()
 
QgsSVGFillSymbolLayerclone () 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
 
QgsSymbolV2::OutputUnit outputUnit () const override
 
double patternWidth () const
 
const QgsMapUnitScalepatternWidthMapUnitScale () const
 
QgsSymbolV2::OutputUnit patternWidthUnit () const
 
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 (QgsSymbolV2::OutputUnit unit) override
 
void setPatternWidth (double width)
 
void setPatternWidthMapUnitScale (const QgsMapUnitScale &scale)
 
void setPatternWidthUnit (QgsSymbolV2::OutputUnit unit)
 
void setSvgFilePath (const QString &svgPath)
 
void setSvgFillColor (const QColor &c)
 
void setSvgOutlineColor (const QColor &c)
 
void setSvgOutlineWidth (double w)
 
void setSvgOutlineWidthMapUnitScale (const QgsMapUnitScale &scale)
 
void setSvgOutlineWidthUnit (QgsSymbolV2::OutputUnit unit)
 
void startRender (QgsSymbolV2RenderContext &context) override
 
void stopRender (QgsSymbolV2RenderContext &context) override
 
QString svgFilePath () const
 
QColor svgFillColor () const
 
QColor svgOutlineColor () const
 
double svgOutlineWidth () const
 
const QgsMapUnitScalesvgOutlineWidthMapUnitScale () const
 
QgsSymbolV2::OutputUnit svgOutlineWidthUnit () const
 
void toSld (QDomDocument &doc, QDomElement &element, const QgsStringMap &props) const override
 
- Public Member Functions inherited from QgsImageFillSymbolLayer
 QgsImageFillSymbolLayer ()
 
virtual ~QgsImageFillSymbolLayer ()
 
virtual QColor dxfColor (QgsSymbolV2RenderContext &context) const override
 
virtual Qt::PenStyle dxfPenStyle () const override
 
virtual double dxfWidth (const QgsDxfExport &e, QgsSymbolV2RenderContext &context) const override
 
virtual double estimateMaxBleed () const override
 Returns the estimated maximum distance which the layer style will bleed outside the drawn shape. More...
 
const QgsMapUnitScaleoutlineWidthMapUnitScale () const
 
QgsSymbolV2::OutputUnit outlineWidthUnit () const
 
void renderPolygon (const QPolygonF &points, QList< QPolygonF > *rings, QgsSymbolV2RenderContext &context) override
 
void setOutlineWidthMapUnitScale (const QgsMapUnitScale &scale)
 
void setOutlineWidthUnit (QgsSymbolV2::OutputUnit unit)
 
virtual bool setSubSymbol (QgsSymbolV2 *symbol) override
 set layer's subsymbol. takes ownership of the passed symbol More...
 
virtual QgsSymbolV2subSymbol () override
 
QSet< QStringusedAttributes () const override
 Returns the set of attributes referenced by the layer. More...
 
- Public Member Functions inherited from QgsFillSymbolLayerV2
double angle () const
 
void drawPreviewIcon (QgsSymbolV2RenderContext &context, QSize size) override
 
void setAngle (double angle)
 
- Public Member Functions inherited from QgsSymbolLayerV2
virtual ~QgsSymbolLayerV2 ()
 
virtual QColor color () const
 The fill color. More...
 
virtual Q_DECL_DEPRECATED const QgsExpressiondataDefinedProperty (const QString &property) const
 Returns a data defined expression for a property, if set. More...
 
virtual Q_DECL_DEPRECATED QString dataDefinedPropertyString (const QString &property) const
 Returns a data defined expression for a property, if set. More...
 
virtual QColor dxfBrushColor (QgsSymbolV2RenderContext &context) const
 
virtual Qt::BrushStyle dxfBrushStyle () const
 
virtual QVector< qreal > dxfCustomDashPattern (QgsSymbolV2::OutputUnit &unit) const
 
virtual double dxfOffset (const QgsDxfExport &e, QgsSymbolV2RenderContext &context) const
 
virtual Q_DECL_DEPRECATED QVariant evaluateDataDefinedProperty (const QString &property, const QgsFeature *feature, const QVariant &defaultVal=QVariant(), bool *ok=nullptr) const
 Evaluates the matching data defined property and returns the calculated value. More...
 
virtual QVariant evaluateDataDefinedProperty (const QString &property, const QgsSymbolV2RenderContext &context, const QVariant &defaultVal=QVariant(), bool *ok=nullptr) const
 Evaluates the matching data defined property and returns the calculated value. More...
 
virtual QColor fillColor () const
 Get fill color. More...
 
virtual QgsDataDefinedgetDataDefinedProperty (const QString &property) const
 Returns the data defined property corresponding to the specified property key. More...
 
virtual bool hasDataDefinedProperties () const
 Checks whether the layer has any associated data defined properties. More...
 
virtual bool hasDataDefinedProperty (const QString &property) const
 Checks whether the layer has a matching data defined property and if that property is currently actived. More...
 
virtual bool isCompatibleWithSymbol (QgsSymbolV2 *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
 
virtual QColor outlineColor () const
 Get outline color. More...
 
QgsPaintEffectpaintEffect () const
 Returns the current paint effect for the layer. More...
 
virtual void removeDataDefinedProperties ()
 Removes all data defined properties from the layer and deletes associated objects. More...
 
virtual void removeDataDefinedProperty (const QString &property)
 Removes a data defined property from the layer. More...
 
int renderingPass () const
 
virtual void setColor (const QColor &color)
 The fill color. More...
 
virtual Q_DECL_DEPRECATED void setDataDefinedProperty (const QString &property, const QString &expressionString)
 Sets a data defined expression for a property. More...
 
virtual void setDataDefinedProperty (const QString &property, QgsDataDefined *dataDefined)
 Sets a data defined property for the layer. More...
 
virtual void setFillColor (const QColor &color)
 Set fill color. More...
 
void setLocked (bool locked)
 
virtual void setOutlineColor (const QColor &color)
 Set outline color. More...
 
void setPaintEffect (QgsPaintEffect *effect)
 Sets the current paint effect for the layer. More...
 
void setRenderingPass (int renderingPass)
 
QgsSymbolV2::SymbolType type () const
 
virtual bool writeDxf (QgsDxfExport &e, double mmMapUnitScaleFactor, const QString &layerName, QgsSymbolV2RenderContext *context, const QgsFeature *f, QPointF shift=QPointF(0.0, 0.0)) const
 

Static Public Member Functions

static QgsSymbolLayerV2create (const QgsStringMap &properties=QgsStringMap())
 
static QgsSymbolLayerV2createFromSld (QDomElement &element)
 

Protected Member Functions

void applyDataDefinedSettings (QgsSymbolV2RenderContext &context) override
 
- Protected Member Functions inherited from QgsFillSymbolLayerV2
 QgsFillSymbolLayerV2 (bool locked=false)
 
void _renderPolygon (QPainter *p, const QPolygonF &points, const QList< QPolygonF > *rings, QgsSymbolV2RenderContext &context)
 Default method to render polygon. More...
 
- Protected Member Functions inherited from QgsSymbolLayerV2
 QgsSymbolLayerV2 (QgsSymbolV2::SymbolType type, bool locked=false)
 
void copyDataDefinedProperties (QgsSymbolLayerV2 *destLayer) const
 Copies all data defined properties of this layer to another symbol layer. More...
 
void copyPaintEffect (QgsSymbolLayerV2 *destLayer) const
 Copies paint effect of this layer to another symbol layer. More...
 
virtual Q_DECL_DEPRECATED QgsExpressionexpression (const QString &property) const
 Returns the data defined expression associated with a property. More...
 
virtual Q_DECL_DEPRECATED void prepareExpressions (const QgsFields *fields, double scale=-1.0)
 Prepares all data defined property expressions for evaluation. More...
 
virtual void prepareExpressions (const QgsSymbolV2RenderContext &context)
 Prepares all data defined property expressions for evaluation. More...
 
void restoreDataDefinedProperties (const QgsStringMap &stringMap)
 Restores all data defined properties from string map. More...
 
void saveDataDefinedProperties (QgsStringMap &stringMap) const
 Saves all data defined properties to a string map. More...
 

Protected Attributes

double mPatternWidth
 Width of the pattern (in output units) More...
 
QgsMapUnitScale mPatternWidthMapUnitScale
 
QgsSymbolV2::OutputUnit mPatternWidthUnit
 
QByteArray mSvgData
 SVG data. More...
 
QString mSvgFilePath
 Path to the svg file (or empty if constructed directly from data) More...
 
QColor mSvgOutlineColor
 
double mSvgOutlineWidth
 
QgsMapUnitScale mSvgOutlineWidthMapUnitScale
 
QgsSymbolV2::OutputUnit mSvgOutlineWidthUnit
 
QImagemSvgPattern
 SVG pattern image. More...
 
QRectF mSvgViewBox
 SVG view box (to keep the aspect ratio. More...
 
- Protected Attributes inherited from QgsImageFillSymbolLayer
QBrush mBrush
 
double mNextAngle
 
QgsLineSymbolV2mOutline
 Custom outline. More...
 
double mOutlineWidth
 Outline width. More...
 
QgsMapUnitScale mOutlineWidthMapUnitScale
 
QgsSymbolV2::OutputUnit mOutlineWidthUnit
 
- Protected Attributes inherited from QgsFillSymbolLayerV2
double mAngle
 
- Protected Attributes inherited from QgsSymbolLayerV2
QColor mColor
 
QMap< QString, QgsDataDefined * > mDataDefinedProperties
 
QgsFields mFields
 
bool mLocked
 
QgsPaintEffectmPaintEffect
 
int mRenderingPass
 
QgsSymbolV2::SymbolType mType
 

Additional Inherited Members

- Static Protected Attributes inherited from QgsSymbolLayerV2
static const QString EXPR_ALPHA
 
static const QString EXPR_ANGLE
 
static const QString EXPR_BLUR_RADIUS
 
static const QString EXPR_BORDER_COLOR
 
static const QString EXPR_BORDER_STYLE
 
static const QString EXPR_CAPSTYLE
 
static const QString EXPR_CHAR
 
static const QString EXPR_COLOR
 
static const QString EXPR_COLOR2
 
static const QString EXPR_COLOR_BORDER
 
static const QString EXPR_COORDINATE_MODE
 
static const QString EXPR_CUSTOMDASH
 
static const QString EXPR_DISPLACEMENT_X
 
static const QString EXPR_DISPLACEMENT_Y
 
static const QString EXPR_DISTANCE
 
static const QString EXPR_DISTANCE_X
 
static const QString EXPR_DISTANCE_Y
 
static const QString EXPR_FILE
 
static const QString EXPR_FILL
 
static const QString EXPR_FILL_COLOR
 
static const QString EXPR_FILL_STYLE
 
static const QString EXPR_GRADIENT_TYPE
 
static const QString EXPR_HEIGHT
 
static const QString EXPR_HORIZONTAL_ANCHOR_POINT
 
static const QString EXPR_IGNORE_RINGS
 
static const QString EXPR_INTERVAL
 
static const QString EXPR_JOIN_STYLE
 
static const QString EXPR_JOINSTYLE
 
static const QString EXPR_LINE_STYLE
 
static const QString EXPR_LINEANGLE
 
static const QString EXPR_LINEWIDTH
 
static const QString EXPR_MAX_DISTANCE
 
static const QString EXPR_NAME
 
static const QString EXPR_OFFSET
 
static const QString EXPR_OFFSET_ALONG_LINE
 
static const QString EXPR_OUTLINE
 
static const QString EXPR_OUTLINE_COLOR
 
static const QString EXPR_OUTLINE_STYLE
 
static const QString EXPR_OUTLINE_WIDTH
 
static const QString EXPR_PLACEMENT
 
static const QString EXPR_REFERENCE1_ISCENTROID
 
static const QString EXPR_REFERENCE1_X
 
static const QString EXPR_REFERENCE1_Y
 
static const QString EXPR_REFERENCE2_ISCENTROID
 
static const QString EXPR_REFERENCE2_X
 
static const QString EXPR_REFERENCE2_Y
 
static const QString EXPR_ROTATION
 
static const QString EXPR_SIZE
 
static const QString EXPR_SPREAD
 
static const QString EXPR_SVG_FILE
 
static const QString EXPR_SVG_FILL_COLOR
 
static const QString EXPR_SVG_OUTLINE_COLOR
 
static const QString EXPR_SVG_OUTLINE_WIDTH
 
static const QString EXPR_SYMBOL_NAME
 
static const QString EXPR_USE_WHOLE_SHAPE
 
static const QString EXPR_VERTICAL_ANCHOR_POINT
 
static const QString EXPR_WIDTH
 
static const QString EXPR_WIDTH_BORDER
 
static const bool selectFillBorder = false
 
static const bool selectFillStyle = false
 
static const bool selectionIsOpaque = true
 

Detailed Description

A class for svg fill patterns.

The class automatically scales the pattern to the appropriate pixel dimensions of the output device

Definition at line 777 of file qgsfillsymbollayerv2.h.

Constructor & Destructor Documentation

QgsSVGFillSymbolLayer::QgsSVGFillSymbolLayer ( const QString svgFilePath = "",
double  width = 20,
double  rotation = 0.0 
)

Definition at line 1724 of file qgsfillsymbollayerv2.cpp.

QgsSVGFillSymbolLayer::QgsSVGFillSymbolLayer ( const QByteArray svgData,
double  width = 20,
double  rotation = 0.0 
)

Definition at line 1739 of file qgsfillsymbollayerv2.cpp.

QgsSVGFillSymbolLayer::~QgsSVGFillSymbolLayer ( )

Definition at line 1756 of file qgsfillsymbollayerv2.cpp.

Member Function Documentation

void QgsSVGFillSymbolLayer::applyDataDefinedSettings ( QgsSymbolV2RenderContext context)
overrideprotectedvirtual

Reimplemented from QgsImageFillSymbolLayer.

Definition at line 2174 of file qgsfillsymbollayerv2.cpp.

QgsSVGFillSymbolLayer * QgsSVGFillSymbolLayer::clone ( ) const
overridevirtual

Shall be reimplemented by subclasses to create a deep copy of the instance.

Implements QgsSymbolLayerV2.

Definition at line 2026 of file qgsfillsymbollayerv2.cpp.

QgsSymbolLayerV2 * QgsSVGFillSymbolLayer::create ( const QgsStringMap properties = QgsStringMap())
static

Definition at line 1807 of file qgsfillsymbollayerv2.cpp.

QgsSymbolLayerV2 * QgsSVGFillSymbolLayer::createFromSld ( QDomElement element)
static

Definition at line 2114 of file qgsfillsymbollayerv2.cpp.

QString QgsSVGFillSymbolLayer::layerType ( ) const
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 QgsSymbolLayerV2.

Definition at line 1911 of file qgsfillsymbollayerv2.cpp.

QgsMapUnitScale QgsSVGFillSymbolLayer::mapUnitScale ( ) const
overridevirtual

Reimplemented from QgsImageFillSymbolLayer.

Definition at line 1787 of file qgsfillsymbollayerv2.cpp.

QgsSymbolV2::OutputUnit QgsSVGFillSymbolLayer::outputUnit ( ) const
overridevirtual

Reimplemented from QgsImageFillSymbolLayer.

Definition at line 1769 of file qgsfillsymbollayerv2.cpp.

double QgsSVGFillSymbolLayer::patternWidth ( ) const
inline

Definition at line 804 of file qgsfillsymbollayerv2.h.

const QgsMapUnitScale& QgsSVGFillSymbolLayer::patternWidthMapUnitScale ( ) const
inline

Definition at line 818 of file qgsfillsymbollayerv2.h.

QgsSymbolV2::OutputUnit QgsSVGFillSymbolLayer::patternWidthUnit ( ) const
inline

Definition at line 815 of file qgsfillsymbollayerv2.h.

QgsStringMap QgsSVGFillSymbolLayer::properties ( ) const
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 QgsSymbolLayerV2.

Definition at line 1994 of file qgsfillsymbollayerv2.cpp.

void QgsSVGFillSymbolLayer::setMapUnitScale ( const QgsMapUnitScale scale)
overridevirtual

Reimplemented from QgsImageFillSymbolLayer.

Definition at line 1779 of file qgsfillsymbollayerv2.cpp.

void QgsSVGFillSymbolLayer::setOutputUnit ( QgsSymbolV2::OutputUnit  unit)
overridevirtual

Reimplemented from QgsImageFillSymbolLayer.

Definition at line 1761 of file qgsfillsymbollayerv2.cpp.

void QgsSVGFillSymbolLayer::setPatternWidth ( double  width)
inline

Definition at line 803 of file qgsfillsymbollayerv2.h.

void QgsSVGFillSymbolLayer::setPatternWidthMapUnitScale ( const QgsMapUnitScale scale)
inline

Definition at line 817 of file qgsfillsymbollayerv2.h.

void QgsSVGFillSymbolLayer::setPatternWidthUnit ( QgsSymbolV2::OutputUnit  unit)
inline

Definition at line 814 of file qgsfillsymbollayerv2.h.

void QgsSVGFillSymbolLayer::setSvgFilePath ( const QString svgPath)

Definition at line 1798 of file qgsfillsymbollayerv2.cpp.

void QgsSVGFillSymbolLayer::setSvgFillColor ( const QColor c)
inline

Definition at line 806 of file qgsfillsymbollayerv2.h.

void QgsSVGFillSymbolLayer::setSvgOutlineColor ( const QColor c)
inline

Definition at line 809 of file qgsfillsymbollayerv2.h.

void QgsSVGFillSymbolLayer::setSvgOutlineWidth ( double  w)
inline

Definition at line 811 of file qgsfillsymbollayerv2.h.

void QgsSVGFillSymbolLayer::setSvgOutlineWidthMapUnitScale ( const QgsMapUnitScale scale)
inline

Definition at line 823 of file qgsfillsymbollayerv2.h.

void QgsSVGFillSymbolLayer::setSvgOutlineWidthUnit ( QgsSymbolV2::OutputUnit  unit)
inline

Definition at line 820 of file qgsfillsymbollayerv2.h.

void QgsSVGFillSymbolLayer::startRender ( QgsSymbolV2RenderContext context)
overridevirtual

Implements QgsSymbolLayerV2.

Definition at line 1973 of file qgsfillsymbollayerv2.cpp.

void QgsSVGFillSymbolLayer::stopRender ( QgsSymbolV2RenderContext context)
overridevirtual

Implements QgsSymbolLayerV2.

Definition at line 1986 of file qgsfillsymbollayerv2.cpp.

QString QgsSVGFillSymbolLayer::svgFilePath ( ) const
inline

Definition at line 802 of file qgsfillsymbollayerv2.h.

QColor QgsSVGFillSymbolLayer::svgFillColor ( ) const
inline

Definition at line 807 of file qgsfillsymbollayerv2.h.

QColor QgsSVGFillSymbolLayer::svgOutlineColor ( ) const
inline

Definition at line 810 of file qgsfillsymbollayerv2.h.

double QgsSVGFillSymbolLayer::svgOutlineWidth ( ) const
inline

Definition at line 812 of file qgsfillsymbollayerv2.h.

const QgsMapUnitScale& QgsSVGFillSymbolLayer::svgOutlineWidthMapUnitScale ( ) const
inline

Definition at line 824 of file qgsfillsymbollayerv2.h.

QgsSymbolV2::OutputUnit QgsSVGFillSymbolLayer::svgOutlineWidthUnit ( ) const
inline

Definition at line 821 of file qgsfillsymbollayerv2.h.

void QgsSVGFillSymbolLayer::toSld ( QDomDocument doc,
QDomElement element,
const QgsStringMap props 
) const
overridevirtual

Reimplemented from QgsSymbolLayerV2.

Definition at line 2057 of file qgsfillsymbollayerv2.cpp.

Member Data Documentation

double QgsSVGFillSymbolLayer::mPatternWidth
protected

Width of the pattern (in output units)

Definition at line 834 of file qgsfillsymbollayerv2.h.

QgsMapUnitScale QgsSVGFillSymbolLayer::mPatternWidthMapUnitScale
protected

Definition at line 836 of file qgsfillsymbollayerv2.h.

QgsSymbolV2::OutputUnit QgsSVGFillSymbolLayer::mPatternWidthUnit
protected

Definition at line 835 of file qgsfillsymbollayerv2.h.

QByteArray QgsSVGFillSymbolLayer::mSvgData
protected

SVG data.

Definition at line 839 of file qgsfillsymbollayerv2.h.

QString QgsSVGFillSymbolLayer::mSvgFilePath
protected

Path to the svg file (or empty if constructed directly from data)

Definition at line 841 of file qgsfillsymbollayerv2.h.

QColor QgsSVGFillSymbolLayer::mSvgOutlineColor
protected

Definition at line 849 of file qgsfillsymbollayerv2.h.

double QgsSVGFillSymbolLayer::mSvgOutlineWidth
protected

Definition at line 850 of file qgsfillsymbollayerv2.h.

QgsMapUnitScale QgsSVGFillSymbolLayer::mSvgOutlineWidthMapUnitScale
protected

Definition at line 852 of file qgsfillsymbollayerv2.h.

QgsSymbolV2::OutputUnit QgsSVGFillSymbolLayer::mSvgOutlineWidthUnit
protected

Definition at line 851 of file qgsfillsymbollayerv2.h.

QImage* QgsSVGFillSymbolLayer::mSvgPattern
protected

SVG pattern image.

Definition at line 845 of file qgsfillsymbollayerv2.h.

QRectF QgsSVGFillSymbolLayer::mSvgViewBox
protected

SVG view box (to keep the aspect ratio.

Definition at line 843 of file qgsfillsymbollayerv2.h.


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