QGIS API Documentation  3.6.0-Noosa (5873452)
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
QgsRasterMarkerSymbolLayer Class Reference

Raster marker symbol layer class. More...

#include <qgsmarkersymbollayer.h>

Inheritance diagram for QgsRasterMarkerSymbolLayer:
Inheritance graph
[legend]

Public Member Functions

 QgsRasterMarkerSymbolLayer (const QString &path=QString(), double size=DEFAULT_SVGMARKER_SIZE, double angle=DEFAULT_SVGMARKER_ANGLE, QgsSymbol::ScaleMethod scaleMethod=DEFAULT_SCALE_METHOD)
 Constructs raster marker symbol layer with picture from given absolute path to a raster image file. More...
 
QRectF bounds (QPointF point, QgsSymbolRenderContext &context) override
 Returns the approximate bounding box of the marker symbol layer, taking into account any data defined overrides and offsets which are set for the marker layer. More...
 
double calculateAspectRatio (QgsSymbolRenderContext &context, double scaledSize, bool &hasDataDefinedAspectRatio) const
 Calculates the marker aspect ratio between width and height. More...
 
QgsRasterMarkerSymbolLayerclone () const override
 Shall be reimplemented by subclasses to create a deep copy of the instance. More...
 
double defaultAspectRatio () const
 Returns the default marker aspect ratio between width and height, 0 if not yet calculated. More...
 
double fixedAspectRatio () const
 Returns the marker aspect ratio between width and height to be used in rendering, if the value set is lower or equal to 0 the aspect ratio will be preserved in rendering. More...
 
QString layerType () const override
 Returns a string that represents this layer type. More...
 
QgsMapUnitScale mapUnitScale () const override
 
double opacity () const
 Returns the marker opacity. More...
 
QString path () const
 Returns the marker raster image path. More...
 
bool preservedAspectRatio () const
 Returns the preserved aspect ratio value, true if fixed aspect ratio has been lower or equal to 0. 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 renderPoint (QPointF point, QgsSymbolRenderContext &context) override
 Renders a marker at the specified point. More...
 
void setFixedAspectRatio (double ratio)
 Set the marker aspect ratio between width and height to be used in rendering, if the value set is lower or equal to 0 the aspect ratio will be preserved in rendering. More...
 
void setMapUnitScale (const QgsMapUnitScale &scale) override
 
void setOpacity (double opacity)
 Set the marker opacity. More...
 
void setPath (const QString &path)
 Set the marker raster image path. More...
 
bool setPreservedAspectRatio (bool par)
 Set preserved the marker aspect ratio between width and height. More...
 
double updateDefaultAspectRatio ()
 Calculates the default marker aspect ratio between width and height. More...
 
- Public Member Functions inherited from QgsMarkerSymbolLayer
double angle () const
 Returns the rotation angle for the marker, in degrees clockwise from north. More...
 
void drawPreviewIcon (QgsSymbolRenderContext &context, QSize size) override
 
HorizontalAnchorPoint horizontalAnchorPoint () const
 Returns the horizontal anchor point for positioning the symbol. More...
 
QgsMapUnitScale mapUnitScale () const override
 
QPointF offset () const
 Returns the marker's offset, which is the horizontal and vertical displacement which the rendered marker will have from the original feature's geometry. More...
 
const QgsMapUnitScaleoffsetMapUnitScale () const
 Returns the map unit scale for the symbol's offset. More...
 
QgsUnitTypes::RenderUnit offsetUnit () const
 Returns the units for the symbol's offset. More...
 
QgsUnitTypes::RenderUnit outputUnit () const override
 Returns the units to use for sizes and widths within the symbol layer. More...
 
QgsSymbol::ScaleMethod scaleMethod () const
 Returns the method to use for scaling the marker's size. More...
 
void setAngle (double angle)
 Sets the rotation angle for the marker. More...
 
void setHorizontalAnchorPoint (HorizontalAnchorPoint h)
 Sets the horizontal anchor point for positioning the symbol. More...
 
void setLineAngle (double lineAngle)
 Sets the line angle modification for the symbol's angle. More...
 
void setMapUnitScale (const QgsMapUnitScale &scale) override
 
void setOffset (QPointF offset)
 Sets the marker's offset, which is the horizontal and vertical displacement which the rendered marker should have from the original feature's geometry. More...
 
void setOffsetMapUnitScale (const QgsMapUnitScale &scale)
 Sets the map unit scale for the symbol's offset. More...
 
void setOffsetUnit (QgsUnitTypes::RenderUnit unit)
 Sets the units for the symbol's offset. More...
 
void setOutputUnit (QgsUnitTypes::RenderUnit unit) override
 Sets the units to use for sizes and widths within the symbol layer. More...
 
void setScaleMethod (QgsSymbol::ScaleMethod scaleMethod)
 Sets the method to use for scaling the marker's size. More...
 
void setSize (double size)
 Sets the symbol size. More...
 
void setSizeMapUnitScale (const QgsMapUnitScale &scale)
 Sets the map unit scale for the symbol's size. More...
 
void setSizeUnit (QgsUnitTypes::RenderUnit unit)
 Sets the units for the symbol's size. More...
 
void setVerticalAnchorPoint (VerticalAnchorPoint v)
 Sets the vertical anchor point for positioning the symbol. More...
 
double size () const
 Returns the symbol size. More...
 
const QgsMapUnitScalesizeMapUnitScale () const
 Returns the map unit scale for the symbol's size. More...
 
QgsUnitTypes::RenderUnit sizeUnit () const
 Returns the units for the symbol's size. More...
 
void startRender (QgsSymbolRenderContext &context) override
 
void stopRender (QgsSymbolRenderContext &context) override
 
void toSld (QDomDocument &doc, QDomElement &element, const QgsStringMap &props) const override
 
VerticalAnchorPoint verticalAnchorPoint () const
 Returns the vertical anchor point for positioning the symbol. More...
 
virtual void writeSldMarker (QDomDocument &doc, QDomElement &element, const QgsStringMap &props) const
 Writes the symbol layer definition as a SLD XML element. More...
 
- 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 QColor dxfColor (QgsSymbolRenderContext &context) const
 Gets color. 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...
 
virtual Qt::PenStyle dxfPenStyle () const
 Gets pen style. More...
 
virtual double dxfWidth (const QgsDxfExport &e, QgsSymbolRenderContext &context) const
 Gets line width. 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
 Gets fill color. More...
 
virtual bool hasDataDefinedProperties () const
 Returns true if the symbol layer (or any of its sub-symbols) contains data defined properties. 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 bool setSubSymbol (QgsSymbol *symbol)
 Sets layer's subsymbol. takes ownership of the passed symbol. More...
 
virtual QColor strokeColor () const
 Gets stroke color. More...
 
virtual QgsSymbolsubSymbol ()
 Returns the symbol's sub symbol, if present. More...
 
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...
 

Static Public Member Functions

static QgsSymbolLayercreate (const QgsStringMap &properties=QgsStringMap())
 Creates a raster marker symbol layer from a string map of properties. 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 Attributes

double mDefaultAspectRatio = 0.0
 The marker default aspect ratio. More...
 
double mFixedAspectRatio = 0.0
 The marker fixed aspect ratio. More...
 
double mOpacity = 1.0
 The marker default opacity. More...
 
QString mPath
 
- Protected Attributes inherited from QgsMarkerSymbolLayer
double mAngle = 0
 Marker rotation angle, in degrees clockwise from north. More...
 
HorizontalAnchorPoint mHorizontalAnchorPoint = HCenter
 Horizontal anchor point. More...
 
double mLineAngle = 0
 Line rotation angle (see setLineAngle() for details) More...
 
QPointF mOffset
 Marker offset. More...
 
QgsMapUnitScale mOffsetMapUnitScale
 Offset map unit scale. More...
 
QgsUnitTypes::RenderUnit mOffsetUnit = QgsUnitTypes::RenderMillimeters
 Offset units. More...
 
QgsSymbol::ScaleMethod mScaleMethod = QgsSymbol::ScaleDiameter
 Marker size scaling method. More...
 
double mSize = 2.0
 Marker size. More...
 
QgsMapUnitScale mSizeMapUnitScale
 Marker size map unit scale. More...
 
QgsUnitTypes::RenderUnit mSizeUnit = QgsUnitTypes::RenderMillimeters
 Marker size unit. More...
 
VerticalAnchorPoint mVerticalAnchorPoint = VCenter
 Vertical anchor point. More...
 
- 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

- Public Types inherited from QgsMarkerSymbolLayer
enum  HorizontalAnchorPoint { Left, HCenter, Right }
 Symbol horizontal anchor points. More...
 
enum  VerticalAnchorPoint { Top, VCenter, Bottom }
 Symbol vertical anchor points. 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...
 
- Protected Member Functions inherited from QgsMarkerSymbolLayer
 QgsMarkerSymbolLayer (bool locked=false)
 Constructor for QgsMarkerSymbolLayer. More...
 
void markerOffset (QgsSymbolRenderContext &context, double &offsetX, double &offsetY) const
 Calculates the required marker offset, including both the symbol offset and any displacement required to align with the marker's anchor point. More...
 
void markerOffset (QgsSymbolRenderContext &context, double width, double height, double &offsetX, double &offsetY) const
 Calculates the required marker offset, including both the symbol offset and any displacement required to align with the marker's anchor point. More...
 
void markerOffset (QgsSymbolRenderContext &context, double width, double height, QgsUnitTypes::RenderUnit widthUnit, QgsUnitTypes::RenderUnit heightUnit, double &offsetX, double &offsetY, const QgsMapUnitScale &widthMapUnitScale, const QgsMapUnitScale &heightMapUnitScale) const
 
- 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...
 
- Static Protected Member Functions inherited from QgsMarkerSymbolLayer
static QPointF _rotatedOffset (QPointF offset, double angle)
 Adjusts a marker offset to account for rotation. 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

Raster marker symbol layer class.

Since
QGIS 3.6

Definition at line 650 of file qgsmarkersymbollayer.h.

Constructor & Destructor Documentation

◆ QgsRasterMarkerSymbolLayer()

QgsRasterMarkerSymbolLayer::QgsRasterMarkerSymbolLayer ( const QString &  path = QString(),
double  size = DEFAULT_SVGMARKER_SIZE,
double  angle = DEFAULT_SVGMARKER_ANGLE,
QgsSymbol::ScaleMethod  scaleMethod = DEFAULT_SCALE_METHOD 
)

Constructs raster marker symbol layer with picture from given absolute path to a raster image file.

Definition at line 2552 of file qgsmarkersymbollayer.cpp.

Member Function Documentation

◆ bounds()

QRectF QgsRasterMarkerSymbolLayer::bounds ( QPointF  point,
QgsSymbolRenderContext context 
)
overridevirtual

Returns the approximate bounding box of the marker symbol layer, taking into account any data defined overrides and offsets which are set for the marker layer.

Returns
approximate symbol bounds, in painter units
Since
QGIS 2.14

Implements QgsMarkerSymbolLayer.

Definition at line 2889 of file qgsmarkersymbollayer.cpp.

◆ calculateAspectRatio()

double QgsRasterMarkerSymbolLayer::calculateAspectRatio ( QgsSymbolRenderContext context,
double  scaledSize,
bool &  hasDataDefinedAspectRatio 
) const

Calculates the marker aspect ratio between width and height.

Parameters
contextsymbol render context
scaledSizesize of symbol to render
hasDataDefinedAspectRatiowill be set to true if marker has data defined aspectRatio

Definition at line 2768 of file qgsmarkersymbollayer.cpp.

◆ clone()

QgsRasterMarkerSymbolLayer * QgsRasterMarkerSymbolLayer::clone ( ) const
overridevirtual

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

Implements QgsSymbolLayer.

Definition at line 2862 of file qgsmarkersymbollayer.cpp.

◆ create()

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

Creates a raster marker symbol layer from a string map of properties.

Parameters
propertiesQgsStringMap properties object

Definition at line 2563 of file qgsmarkersymbollayer.cpp.

◆ defaultAspectRatio()

double QgsRasterMarkerSymbolLayer::defaultAspectRatio ( ) const
inline

Returns the default marker aspect ratio between width and height, 0 if not yet calculated.

See also
updateDefaultAspectRatio()

Definition at line 723 of file qgsmarkersymbollayer.h.

◆ fixedAspectRatio()

double QgsRasterMarkerSymbolLayer::fixedAspectRatio ( ) const
inline

Returns the marker aspect ratio between width and height to be used in rendering, if the value set is lower or equal to 0 the aspect ratio will be preserved in rendering.

See also
setFixedAspectRatio() QgsSvgCache

Definition at line 751 of file qgsmarkersymbollayer.h.

◆ layerType()

QString QgsRasterMarkerSymbolLayer::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 2657 of file qgsmarkersymbollayer.cpp.

◆ mapUnitScale()

QgsMapUnitScale QgsRasterMarkerSymbolLayer::mapUnitScale ( ) const
overridevirtual

Reimplemented from QgsSymbolLayer.

Definition at line 2884 of file qgsmarkersymbollayer.cpp.

◆ opacity()

double QgsRasterMarkerSymbolLayer::opacity ( ) const
inline

Returns the marker opacity.

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

Definition at line 710 of file qgsmarkersymbollayer.h.

◆ path()

QString QgsRasterMarkerSymbolLayer::path ( ) const
inline

Returns the marker raster image path.

See also
setPath()

Definition at line 696 of file qgsmarkersymbollayer.h.

◆ preservedAspectRatio()

bool QgsRasterMarkerSymbolLayer::preservedAspectRatio ( ) const
inline

Returns the preserved aspect ratio value, true if fixed aspect ratio has been lower or equal to 0.

See also
setPreservedAspectRatio()

Definition at line 736 of file qgsmarkersymbollayer.h.

◆ properties()

QgsStringMap QgsRasterMarkerSymbolLayer::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 2843 of file qgsmarkersymbollayer.cpp.

◆ renderPoint()

void QgsRasterMarkerSymbolLayer::renderPoint ( QPointF  point,
QgsSymbolRenderContext context 
)
overridevirtual

Renders a marker at the specified point.

Derived classes must implement this to handle drawing the point.

Parameters
pointposition at which to render point, in painter units
contextsymbol render context

Implements QgsMarkerSymbolLayer.

Definition at line 2662 of file qgsmarkersymbollayer.cpp.

◆ resolvePaths()

void QgsRasterMarkerSymbolLayer::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 2615 of file qgsmarkersymbollayer.cpp.

◆ setFixedAspectRatio()

void QgsRasterMarkerSymbolLayer::setFixedAspectRatio ( double  ratio)
inline

Set the marker aspect ratio between width and height to be used in rendering, if the value set is lower or equal to 0 the aspect ratio will be preserved in rendering.

Parameters
ratioFixed Aspect Ratio
See also
fixedAspectRatio() QgsSvgCache

Definition at line 759 of file qgsmarkersymbollayer.h.

◆ setMapUnitScale()

void QgsRasterMarkerSymbolLayer::setMapUnitScale ( const QgsMapUnitScale scale)
overridevirtual

Reimplemented from QgsSymbolLayer.

Definition at line 2879 of file qgsmarkersymbollayer.cpp.

◆ setOpacity()

void QgsRasterMarkerSymbolLayer::setOpacity ( double  opacity)
inline

Set the marker opacity.

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

Definition at line 717 of file qgsmarkersymbollayer.h.

◆ setPath()

void QgsRasterMarkerSymbolLayer::setPath ( const QString &  path)

Set the marker raster image path.

Parameters
pathraster image path
See also
path()

Definition at line 2627 of file qgsmarkersymbollayer.cpp.

◆ setPreservedAspectRatio()

bool QgsRasterMarkerSymbolLayer::setPreservedAspectRatio ( bool  par)

Set preserved the marker aspect ratio between width and height.

Parameters
parPreserved Aspect Ratio
Returns
the preserved aspect ratio value, true if fixed aspect ratio has been lower or equal to 0
See also
preservedAspectRatio()

Definition at line 2633 of file qgsmarkersymbollayer.cpp.

◆ updateDefaultAspectRatio()

double QgsRasterMarkerSymbolLayer::updateDefaultAspectRatio ( )

Calculates the default marker aspect ratio between width and height.

Returns
the default aspect ratio value
See also
defaultAspectRatio()

Definition at line 2647 of file qgsmarkersymbollayer.cpp.

Member Data Documentation

◆ mDefaultAspectRatio

double QgsRasterMarkerSymbolLayer::mDefaultAspectRatio = 0.0
protected

The marker default aspect ratio.

Definition at line 772 of file qgsmarkersymbollayer.h.

◆ mFixedAspectRatio

double QgsRasterMarkerSymbolLayer::mFixedAspectRatio = 0.0
protected

The marker fixed aspect ratio.

Definition at line 774 of file qgsmarkersymbollayer.h.

◆ mOpacity

double QgsRasterMarkerSymbolLayer::mOpacity = 1.0
protected

The marker default opacity.

Definition at line 770 of file qgsmarkersymbollayer.h.

◆ mPath

QString QgsRasterMarkerSymbolLayer::mPath
protected

Definition at line 768 of file qgsmarkersymbollayer.h.


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