QGIS API Documentation  3.2.0-Bonn (bc43194)
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
QgsRasterFillSymbolLayer Class Reference

A class for filling symbols with a repeated raster image. More...

#include <qgsfillsymbollayer.h>

Inheritance diagram for QgsRasterFillSymbolLayer:
Inheritance graph
[legend]

Public Types

enum  FillCoordinateMode { Feature, Viewport }
 
- 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...
 

Public Member Functions

 QgsRasterFillSymbolLayer (const QString &imageFilePath=QString())
 
QgsRasterFillSymbolLayerclone () const override
 Shall be reimplemented by subclasses to create a deep copy of the instance. More...
 
FillCoordinateMode coordinateMode () const
 Coordinate mode for fill. 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 imageFilePath () const
 The path to the raster image used for the fill. More...
 
QString layerType () const override
 Returns a string that represents this layer type. More...
 
QPointF offset () const
 Returns the offset for the fill. More...
 
const QgsMapUnitScaleoffsetMapUnitScale () const
 Returns the map unit scale for the fill's offset. More...
 
QgsUnitTypes::RenderUnit offsetUnit () const
 Returns the units for the fill's offset. More...
 
double opacity () const
 Returns the opacity for the raster image used in the fill. 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 renderPolygon (const QPolygonF &points, QList< QPolygonF > *rings, QgsSymbolRenderContext &context) override
 
void setCoordinateMode (FillCoordinateMode mode)
 Set the coordinate mode for fill. More...
 
void setImageFilePath (const QString &imagePath)
 Sets the path to the raster image used for the fill. More...
 
void setOffset (QPointF offset)
 Sets the offset for the fill. More...
 
void setOffsetMapUnitScale (const QgsMapUnitScale &scale)
 Sets the map unit scale for the fill's offset. More...
 
void setOffsetUnit (const QgsUnitTypes::RenderUnit unit)
 Sets the units for the fill's offset. More...
 
void setOpacity (double opacity)
 Sets the opacity for the raster image used in the fill. More...
 
bool setSubSymbol (QgsSymbol *symbol) override
 Sets layer's subsymbol. takes ownership of the passed symbol. More...
 
void setWidth (const double width)
 Sets the width for scaling the image used in the fill. More...
 
void setWidthMapUnitScale (const QgsMapUnitScale &scale)
 Sets the map unit scale for the image's width. More...
 
void setWidthUnit (const QgsUnitTypes::RenderUnit unit)
 Sets the units for the image's width. More...
 
void startRender (QgsSymbolRenderContext &context) override
 
void stopRender (QgsSymbolRenderContext &context) override
 
QgsSymbolsubSymbol () override
 Returns the symbol's sub symbol, if present. More...
 
double width () const
 Returns the width used for scaling the image used in the fill. More...
 
const QgsMapUnitScalewidthMapUnitScale () const
 Returns the map unit scale for the image's width. More...
 
QgsUnitTypes::RenderUnit widthUnit () const
 Returns the units for the image's width. More...
 
- 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...
 
QgsMapUnitScale mapUnitScale () const override
 
QgsUnitTypes::RenderUnit outputUnit () const override
 Returns the units to use for sizes and widths within 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 setStrokeWidthMapUnitScale (const QgsMapUnitScale &scale)
 
void setStrokeWidthUnit (QgsUnitTypes::RenderUnit unit)
 Sets the units for the symbol's stroke width. More...
 
const QgsMapUnitScalestrokeWidthMapUnitScale () const
 
QgsUnitTypes::RenderUnit strokeWidthUnit () const
 Returns the units for the symbol's stroke width. 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...
 
QgsPropertyCollectiondataDefinedProperties ()
 Returns a reference to the symbol layer's property collection, used for data defined overrides. More...
 
const QgsPropertyCollectiondataDefinedProperties () 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
 
QgsPaintEffectpaintEffect () 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...
 
virtual void toSld (QDomDocument &doc, QDomElement &element, const QgsStringMap &props) const
 
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 QgsSymbolLayercreate (const QgsStringMap &properties=QgsStringMap())
 
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 QgsPropertiesDefinitionpropertyDefinitions ()
 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...
 

Protected Attributes

FillCoordinateMode mCoordinateMode = QgsRasterFillSymbolLayer::Feature
 
QString mImageFilePath
 Path to the image file. More...
 
QPointF mOffset
 
QgsMapUnitScale mOffsetMapUnitScale
 
QgsUnitTypes::RenderUnit mOffsetUnit = QgsUnitTypes::RenderMillimeters
 
double mOpacity = 1.0
 
double mWidth = 0.0
 
QgsMapUnitScale mWidthMapUnitScale
 
QgsUnitTypes::RenderUnit mWidthUnit = QgsUnitTypes::RenderPixels
 
- Protected Attributes inherited from QgsImageFillSymbolLayer
QBrush mBrush
 
double mNextAngle = 0.0
 
std::unique_ptr< QgsLineSymbolmStroke
 Custom stroke. More...
 
double mStrokeWidth = 0.0
 Stroke width. More...
 
QgsMapUnitScale mStrokeWidthMapUnitScale
 
QgsUnitTypes::RenderUnit mStrokeWidthUnit = QgsUnitTypes::RenderMillimeters
 
- Protected Attributes inherited from QgsFillSymbolLayer
double mAngle = 0.0
 
- 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
 
QgsPaintEffectmPaintEffect = nullptr
 
int mRenderingPass
 
QgsSymbol::SymbolType mType
 

Additional Inherited Members

- 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

A class for filling symbols with a repeated raster image.

Since
QGIS 2.7

Definition at line 696 of file qgsfillsymbollayer.h.

Member Enumeration Documentation

◆ FillCoordinateMode

Enumerator
Feature 
Viewport 

Definition at line 700 of file qgsfillsymbollayer.h.

Constructor & Destructor Documentation

◆ QgsRasterFillSymbolLayer()

QgsRasterFillSymbolLayer::QgsRasterFillSymbolLayer ( const QString &  imageFilePath = QString())

Definition at line 3571 of file qgsfillsymbollayer.cpp.

Member Function Documentation

◆ applyDataDefinedSettings()

void QgsRasterFillSymbolLayer::applyDataDefinedSettings ( QgsSymbolRenderContext context)
overrideprotectedvirtual

Reimplemented from QgsImageFillSymbolLayer.

Definition at line 3754 of file qgsfillsymbollayer.cpp.

◆ clone()

QgsRasterFillSymbolLayer * QgsRasterFillSymbolLayer::clone ( ) const
overridevirtual

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

Implements QgsSymbolLayer.

Definition at line 3717 of file qgsfillsymbollayer.cpp.

◆ coordinateMode()

FillCoordinateMode QgsRasterFillSymbolLayer::coordinateMode ( ) const
inline

Coordinate mode for fill.

Controls how the top left corner of the image fill is positioned relative to the feature.

Returns
coordinate mode
See also
setCoordinateMode

Definition at line 758 of file qgsfillsymbollayer.h.

◆ create()

QgsSymbolLayer * QgsRasterFillSymbolLayer::create ( const QgsStringMap properties = QgsStringMap())
static

Definition at line 3578 of file qgsfillsymbollayer.cpp.

◆ estimateMaxBleed()

double QgsRasterFillSymbolLayer::estimateMaxBleed ( const QgsRenderContext context) const
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 QgsImageFillSymbolLayer.

Definition at line 3734 of file qgsfillsymbollayer.cpp.

◆ imageFilePath()

QString QgsRasterFillSymbolLayer::imageFilePath ( ) const
inline

The path to the raster image used for the fill.

Returns
path to image file
See also
setImageFilePath

Definition at line 742 of file qgsfillsymbollayer.h.

◆ layerType()

QString QgsRasterFillSymbolLayer::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 QgsSymbolLayer.

Definition at line 3657 of file qgsfillsymbollayer.cpp.

◆ offset()

QPointF QgsRasterFillSymbolLayer::offset ( ) const
inline

Returns the offset for the fill.

Returns
offset for fill
See also
setOffset
offsetUnit
offsetMapUnitScale

Definition at line 790 of file qgsfillsymbollayer.h.

◆ offsetMapUnitScale()

const QgsMapUnitScale& QgsRasterFillSymbolLayer::offsetMapUnitScale ( ) const
inline

Returns the map unit scale for the fill's offset.

Returns
map unit scale for offset
See also
setOffsetMapUnitScale
offset
offsetUnit

Definition at line 826 of file qgsfillsymbollayer.h.

◆ offsetUnit()

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

Returns the units for the fill's offset.

Returns
units for offset
See also
setOffsetUnit
offset
offsetMapUnitScale

Definition at line 808 of file qgsfillsymbollayer.h.

◆ opacity()

double QgsRasterFillSymbolLayer::opacity ( ) const
inline

Returns the opacity for the raster image used in the fill.

Returns
opacity value between 0 (fully transparent) and 1 (fully opaque)
See also
setOpacity()

Definition at line 772 of file qgsfillsymbollayer.h.

◆ properties()

QgsStringMap QgsRasterFillSymbolLayer::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 QgsSymbolLayer.

Definition at line 3701 of file qgsfillsymbollayer.cpp.

◆ renderPolygon()

void QgsRasterFillSymbolLayer::renderPolygon ( const QPolygonF &  points,
QList< QPolygonF > *  rings,
QgsSymbolRenderContext context 
)
overridevirtual

Reimplemented from QgsImageFillSymbolLayer.

Definition at line 3662 of file qgsfillsymbollayer.cpp.

◆ resolvePaths()

void QgsRasterFillSymbolLayer::resolvePaths ( QgsStringMap properties,
const QgsPathResolver pathResolver,
bool  saving 
)
static

Turns relative paths in properties map to absolute when reading and vice versa when writing.

Used internally when reading/writing symbols.

Since
QGIS 3.0

Definition at line 3639 of file qgsfillsymbollayer.cpp.

◆ setCoordinateMode()

void QgsRasterFillSymbolLayer::setCoordinateMode ( const QgsRasterFillSymbolLayer::FillCoordinateMode  mode)

Set the coordinate mode for fill.

Controls how the top left corner of the image fill is positioned relative to the feature.

Parameters
modecoordinate mode
See also
coordinateMode

Definition at line 3744 of file qgsfillsymbollayer.cpp.

◆ setImageFilePath()

void QgsRasterFillSymbolLayer::setImageFilePath ( const QString &  imagePath)

Sets the path to the raster image used for the fill.

Parameters
imagePathpath to image file
See also
imageFilePath

Definition at line 3739 of file qgsfillsymbollayer.cpp.

◆ setOffset()

void QgsRasterFillSymbolLayer::setOffset ( QPointF  offset)
inline

Sets the offset for the fill.

Parameters
offsetoffset for fill
See also
offset
setOffsetUnit
setOffsetMapUnitScale

Definition at line 781 of file qgsfillsymbollayer.h.

◆ setOffsetMapUnitScale()

void QgsRasterFillSymbolLayer::setOffsetMapUnitScale ( const QgsMapUnitScale scale)
inline

Sets the map unit scale for the fill's offset.

Parameters
scalemap unit scale for offset
See also
offsetMapUnitScale
setOffset
setOffsetUnit

Definition at line 817 of file qgsfillsymbollayer.h.

◆ setOffsetUnit()

void QgsRasterFillSymbolLayer::setOffsetUnit ( const QgsUnitTypes::RenderUnit  unit)
inline

Sets the units for the fill's offset.

Parameters
unitunits for offset
See also
offsetUnit
setOffset
setOffsetMapUnitScale

Definition at line 799 of file qgsfillsymbollayer.h.

◆ setOpacity()

void QgsRasterFillSymbolLayer::setOpacity ( double  opacity)

Sets the opacity for the raster image used in the fill.

Parameters
opacityopacity value between 0 (fully transparent) and 1 (fully opaque)
See also
opacity()

Definition at line 3749 of file qgsfillsymbollayer.cpp.

◆ setSubSymbol()

bool QgsRasterFillSymbolLayer::setSubSymbol ( QgsSymbol symbol)
overridevirtual

Sets layer's subsymbol. takes ownership of the passed symbol.

Reimplemented from QgsImageFillSymbolLayer.

Definition at line 3651 of file qgsfillsymbollayer.cpp.

◆ setWidth()

void QgsRasterFillSymbolLayer::setWidth ( const double  width)
inline

Sets the width for scaling the image used in the fill.

The image's height will also be scaled to maintain the image's aspect ratio.

Parameters
widthwidth for scaling the image
See also
width
setWidthUnit
setWidthMapUnitScale

Definition at line 836 of file qgsfillsymbollayer.h.

◆ setWidthMapUnitScale()

void QgsRasterFillSymbolLayer::setWidthMapUnitScale ( const QgsMapUnitScale scale)
inline

Sets the map unit scale for the image's width.

Parameters
scalemap unit scale for width
See also
widthMapUnitScale
setWidth
setWidthUnit

Definition at line 873 of file qgsfillsymbollayer.h.

◆ setWidthUnit()

void QgsRasterFillSymbolLayer::setWidthUnit ( const QgsUnitTypes::RenderUnit  unit)
inline

Sets the units for the image's width.

Parameters
unitunits for width
See also
widthUnit
setWidth
setWidthMapUnitScale

Definition at line 855 of file qgsfillsymbollayer.h.

◆ startRender()

void QgsRasterFillSymbolLayer::startRender ( QgsSymbolRenderContext context)
overridevirtual

Implements QgsSymbolLayer.

Definition at line 3691 of file qgsfillsymbollayer.cpp.

◆ stopRender()

void QgsRasterFillSymbolLayer::stopRender ( QgsSymbolRenderContext context)
overridevirtual

Implements QgsSymbolLayer.

Definition at line 3696 of file qgsfillsymbollayer.cpp.

◆ subSymbol()

QgsSymbol* QgsRasterFillSymbolLayer::subSymbol ( )
inlineoverridevirtual

Returns the symbol's sub symbol, if present.

Reimplemented from QgsImageFillSymbolLayer.

Definition at line 727 of file qgsfillsymbollayer.h.

◆ width()

double QgsRasterFillSymbolLayer::width ( ) const
inline

Returns the width used for scaling the image used in the fill.

The image's height is scaled to maintain the image's aspect ratio.

Returns
width used for scaling the image
See also
setWidth
widthUnit
widthMapUnitScale

Definition at line 846 of file qgsfillsymbollayer.h.

◆ widthMapUnitScale()

const QgsMapUnitScale& QgsRasterFillSymbolLayer::widthMapUnitScale ( ) const
inline

Returns the map unit scale for the image's width.

Returns
map unit scale for width
See also
setWidthMapUnitScale
width
widthUnit

Definition at line 882 of file qgsfillsymbollayer.h.

◆ widthUnit()

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

Returns the units for the image's width.

Returns
units for width
See also
setWidthUnit
width
widthMapUnitScale

Definition at line 864 of file qgsfillsymbollayer.h.

Member Data Documentation

◆ mCoordinateMode

FillCoordinateMode QgsRasterFillSymbolLayer::mCoordinateMode = QgsRasterFillSymbolLayer::Feature
protected

Definition at line 888 of file qgsfillsymbollayer.h.

◆ mImageFilePath

QString QgsRasterFillSymbolLayer::mImageFilePath
protected

Path to the image file.

Definition at line 887 of file qgsfillsymbollayer.h.

◆ mOffset

QPointF QgsRasterFillSymbolLayer::mOffset
protected

Definition at line 891 of file qgsfillsymbollayer.h.

◆ mOffsetMapUnitScale

QgsMapUnitScale QgsRasterFillSymbolLayer::mOffsetMapUnitScale
protected

Definition at line 893 of file qgsfillsymbollayer.h.

◆ mOffsetUnit

QgsUnitTypes::RenderUnit QgsRasterFillSymbolLayer::mOffsetUnit = QgsUnitTypes::RenderMillimeters
protected

Definition at line 892 of file qgsfillsymbollayer.h.

◆ mOpacity

double QgsRasterFillSymbolLayer::mOpacity = 1.0
protected

Definition at line 889 of file qgsfillsymbollayer.h.

◆ mWidth

double QgsRasterFillSymbolLayer::mWidth = 0.0
protected

Definition at line 895 of file qgsfillsymbollayer.h.

◆ mWidthMapUnitScale

QgsMapUnitScale QgsRasterFillSymbolLayer::mWidthMapUnitScale
protected

Definition at line 897 of file qgsfillsymbollayer.h.

◆ mWidthUnit

QgsUnitTypes::RenderUnit QgsRasterFillSymbolLayer::mWidthUnit = QgsUnitTypes::RenderPixels
protected

Definition at line 896 of file qgsfillsymbollayer.h.


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