QGIS API Documentation  3.4.15-Madeira (e83d02e274)
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | 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 }
 Fill coordinate modes, dictates fill tiling behavior. More...
 
- 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())
 Constructor for QgsRasterFillSymbolLayer, using a raster fill from the specified imageFilePath. More...
 
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...
 
bool hasDataDefinedProperties () const override
 Returns true if the symbol layer (or any of its sub-symbols) contains data defined properties. 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)
 Sets the stroke width map unit scale. More...
 
void setStrokeWidthUnit (QgsUnitTypes::RenderUnit unit)
 Sets the units fo the symbol's stroke width. More...
 
const QgsMapUnitScalestrokeWidthMapUnitScale () const
 Returns the stroke width map unit scale. More...
 
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())
 Creates a new QgsRasterFillSymbolLayer from a properties map. More...
 
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...
 

Additional Inherited Members

- 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
 
- 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 710 of file qgsfillsymbollayer.h.

Member Enumeration Documentation

Fill coordinate modes, dictates fill tiling behavior.

Enumerator
Feature 

Tiling is based on feature bounding box.

Viewport 

Tiling is based on complete map viewport.

Definition at line 715 of file qgsfillsymbollayer.h.

Constructor & Destructor Documentation

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

Constructor for QgsRasterFillSymbolLayer, using a raster fill from the specified imageFilePath.

Definition at line 3601 of file qgsfillsymbollayer.cpp.

Member Function Documentation

void QgsRasterFillSymbolLayer::applyDataDefinedSettings ( QgsSymbolRenderContext context)
overrideprotectedvirtual

Reimplemented from QgsImageFillSymbolLayer.

Definition at line 3784 of file qgsfillsymbollayer.cpp.

QgsRasterFillSymbolLayer * QgsRasterFillSymbolLayer::clone ( ) const
overridevirtual

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

Implements QgsSymbolLayer.

Definition at line 3747 of file qgsfillsymbollayer.cpp.

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 781 of file qgsfillsymbollayer.h.

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

Creates a new QgsRasterFillSymbolLayer from a properties map.

The caller takes ownership of the returned object.

Definition at line 3608 of file qgsfillsymbollayer.cpp.

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 3764 of file qgsfillsymbollayer.cpp.

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 765 of file qgsfillsymbollayer.h.

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 3687 of file qgsfillsymbollayer.cpp.

QPointF QgsRasterFillSymbolLayer::offset ( ) const
inline

Returns the offset for the fill.

Returns
offset for fill
See also
setOffset
offsetUnit
offsetMapUnitScale

Definition at line 813 of file qgsfillsymbollayer.h.

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 849 of file qgsfillsymbollayer.h.

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 831 of file qgsfillsymbollayer.h.

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 795 of file qgsfillsymbollayer.h.

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 3731 of file qgsfillsymbollayer.cpp.

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

Reimplemented from QgsImageFillSymbolLayer.

Definition at line 3692 of file qgsfillsymbollayer.cpp.

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 3669 of file qgsfillsymbollayer.cpp.

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 3774 of file qgsfillsymbollayer.cpp.

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 3769 of file qgsfillsymbollayer.cpp.

void QgsRasterFillSymbolLayer::setOffset ( QPointF  offset)
inline

Sets the offset for the fill.

Parameters
offsetoffset for fill
See also
offset
setOffsetUnit
setOffsetMapUnitScale

Definition at line 804 of file qgsfillsymbollayer.h.

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 840 of file qgsfillsymbollayer.h.

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 822 of file qgsfillsymbollayer.h.

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 3779 of file qgsfillsymbollayer.cpp.

bool QgsRasterFillSymbolLayer::setSubSymbol ( QgsSymbol symbol)
overridevirtual

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

Reimplemented from QgsImageFillSymbolLayer.

Definition at line 3681 of file qgsfillsymbollayer.cpp.

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 859 of file qgsfillsymbollayer.h.

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 896 of file qgsfillsymbollayer.h.

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 878 of file qgsfillsymbollayer.h.

void QgsRasterFillSymbolLayer::startRender ( QgsSymbolRenderContext context)
overridevirtual

Implements QgsSymbolLayer.

Definition at line 3721 of file qgsfillsymbollayer.cpp.

void QgsRasterFillSymbolLayer::stopRender ( QgsSymbolRenderContext context)
overridevirtual

Implements QgsSymbolLayer.

Definition at line 3726 of file qgsfillsymbollayer.cpp.

QgsSymbol* QgsRasterFillSymbolLayer::subSymbol ( )
inlineoverridevirtual

Returns the symbol's sub symbol, if present.

Reimplemented from QgsImageFillSymbolLayer.

Definition at line 750 of file qgsfillsymbollayer.h.

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 869 of file qgsfillsymbollayer.h.

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 905 of file qgsfillsymbollayer.h.

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 887 of file qgsfillsymbollayer.h.


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