QGIS API Documentation  3.0.2-Girona (307d082)
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
QgsFontMarkerSymbolLayer Class Reference

#include <qgsmarkersymbollayer.h>

Inheritance diagram for QgsFontMarkerSymbolLayer:
Inheritance graph
[legend]

Public Member Functions

 QgsFontMarkerSymbolLayer (const QString &fontFamily=DEFAULT_FONTMARKER_FONT, QChar chr=DEFAULT_FONTMARKER_CHR, double pointSize=DEFAULT_FONTMARKER_SIZE, const QColor &color=DEFAULT_FONTMARKER_COLOR, double angle=DEFAULT_FONTMARKER_ANGLE)
 
 ~QgsFontMarkerSymbolLayer () override
 
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...
 
QChar character () const
 
QgsFontMarkerSymbolLayerclone () const override
 Shall be reimplemented by subclasses to create a deep copy of the instance. More...
 
QString fontFamily () const
 
QString layerType () const override
 Returns a string that represents this layer type. More...
 
Qt::PenJoinStyle penJoinStyle () const
 Get stroke join style. 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 setCharacter (QChar ch)
 
void setFontFamily (const QString &family)
 
void setPenJoinStyle (Qt::PenJoinStyle style)
 Set stroke join style. More...
 
void setStrokeColor (const QColor &color) override
 Set stroke color. More...
 
void setStrokeWidth (double width)
 Set stroke width. More...
 
void setStrokeWidthMapUnitScale (const QgsMapUnitScale &scale)
 Set stroke width map unit scale. More...
 
void setStrokeWidthUnit (QgsUnitTypes::RenderUnit unit)
 Set stroke width unit. More...
 
void startRender (QgsSymbolRenderContext &context) override
 
void stopRender (QgsSymbolRenderContext &context) override
 
QColor strokeColor () const override
 Get stroke color. More...
 
double strokeWidth () const
 Get stroke width. More...
 
const QgsMapUnitScalestrokeWidthMapUnitScale () const
 Get stroke width map unit scale. More...
 
QgsUnitTypes::RenderUnit strokeWidthUnit () const
 Get stroke width unit. More...
 
void writeSldMarker (QDomDocument &doc, QDomElement &element, const QgsStringMap &props) const override
 Writes the symbol layer definition as a SLD XML element. 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 toSld (QDomDocument &doc, QDomElement &element, const QgsStringMap &props) const override
 
VerticalAnchorPoint verticalAnchorPoint () const
 Returns the vertical anchor point for positioning the symbol. 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
 get angle More...
 
virtual QColor dxfBrushColor (QgsSymbolRenderContext &context) const
 get brush/fill color More...
 
virtual Qt::BrushStyle dxfBrushStyle () const
 get brush/fill style More...
 
virtual QColor dxfColor (QgsSymbolRenderContext &context) const
 get color More...
 
virtual QVector< qreal > dxfCustomDashPattern (QgsUnitTypes::RenderUnit &unit) const
 get dash pattern More...
 
virtual double dxfOffset (const QgsDxfExport &e, QgsSymbolRenderContext &context) const
 get offset More...
 
virtual Qt::PenStyle dxfPenStyle () const
 get pen style More...
 
virtual double dxfWidth (const QgsDxfExport &e, QgsSymbolRenderContext &context) const
 get 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
 Get 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 bool setSubSymbol (QgsSymbol *symbol)
 set layer's subsymbol. takes ownership of the passed symbol 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())
 
static QgsSymbolLayercreateFromSld (QDomElement &element)
 
- Static Public Member Functions inherited from QgsSymbolLayer
static const QgsPropertiesDefinitionpropertyDefinitions ()
 Returns the symbol layer property definitions. More...
 

Protected Attributes

QChar mChr
 
QPointF mChrOffset
 
double mChrWidth = 0
 
QFont mFont
 
QString mFontFamily
 
QFontMetrics * mFontMetrics = nullptr
 
double mOrigSize
 
- 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

Definition at line 662 of file qgsmarkersymbollayer.h.

Constructor & Destructor Documentation

◆ QgsFontMarkerSymbolLayer()

QgsFontMarkerSymbolLayer::QgsFontMarkerSymbolLayer ( const QString &  fontFamily = DEFAULT_FONTMARKER_FONT,
QChar  chr = DEFAULT_FONTMARKER_CHR,
double  pointSize = DEFAULT_FONTMARKER_SIZE,
const QColor &  color = DEFAULT_FONTMARKER_COLOR,
double  angle = DEFAULT_FONTMARKER_ANGLE 
)

Definition at line 2547 of file qgsmarkersymbollayer.cpp.

◆ ~QgsFontMarkerSymbolLayer()

QgsFontMarkerSymbolLayer::~QgsFontMarkerSymbolLayer ( )
override

Definition at line 2564 of file qgsmarkersymbollayer.cpp.

Member Function Documentation

◆ bounds()

QRectF QgsFontMarkerSymbolLayer::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 2903 of file qgsmarkersymbollayer.cpp.

◆ character()

QChar QgsFontMarkerSymbolLayer::character ( ) const
inline

Definition at line 699 of file qgsmarkersymbollayer.h.

◆ clone()

QgsFontMarkerSymbolLayer * QgsFontMarkerSymbolLayer::clone ( ) const
overridevirtual

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

Implements QgsSymbolLayer.

Definition at line 2853 of file qgsmarkersymbollayer.cpp.

◆ create()

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

Definition at line 2569 of file qgsmarkersymbollayer.cpp.

◆ createFromSld()

QgsSymbolLayer * QgsFontMarkerSymbolLayer::createFromSld ( QDomElement &  element)
static

Definition at line 2940 of file qgsmarkersymbollayer.cpp.

◆ fontFamily()

QString QgsFontMarkerSymbolLayer::fontFamily ( ) const
inline

Definition at line 696 of file qgsmarkersymbollayer.h.

◆ layerType()

QString QgsFontMarkerSymbolLayer::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 2620 of file qgsmarkersymbollayer.cpp.

◆ penJoinStyle()

Qt::PenJoinStyle QgsFontMarkerSymbolLayer::penJoinStyle ( ) const
inline

Get stroke join style.

Since
QGIS 2.16

Definition at line 738 of file qgsmarkersymbollayer.h.

◆ properties()

QgsStringMap QgsFontMarkerSymbolLayer::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 2830 of file qgsmarkersymbollayer.cpp.

◆ renderPoint()

void QgsFontMarkerSymbolLayer::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 2741 of file qgsmarkersymbollayer.cpp.

◆ setCharacter()

void QgsFontMarkerSymbolLayer::setCharacter ( QChar  ch)
inline

Definition at line 700 of file qgsmarkersymbollayer.h.

◆ setFontFamily()

void QgsFontMarkerSymbolLayer::setFontFamily ( const QString &  family)
inline

Definition at line 697 of file qgsmarkersymbollayer.h.

◆ setPenJoinStyle()

void QgsFontMarkerSymbolLayer::setPenJoinStyle ( Qt::PenJoinStyle  style)
inline

Set stroke join style.

Since
QGIS 2.16

Definition at line 743 of file qgsmarkersymbollayer.h.

◆ setStrokeColor()

void QgsFontMarkerSymbolLayer::setStrokeColor ( const QColor &  color)
inlineoverridevirtual

Set stroke color.

Supported by marker and fill layers.

Since
QGIS 2.1

Reimplemented from QgsSymbolLayer.

Definition at line 703 of file qgsmarkersymbollayer.h.

◆ setStrokeWidth()

void QgsFontMarkerSymbolLayer::setStrokeWidth ( double  width)
inline

Set stroke width.

Since
QGIS 2.16

Definition at line 713 of file qgsmarkersymbollayer.h.

◆ setStrokeWidthMapUnitScale()

void QgsFontMarkerSymbolLayer::setStrokeWidthMapUnitScale ( const QgsMapUnitScale scale)
inline

Set stroke width map unit scale.

Since
QGIS 2.16

Definition at line 733 of file qgsmarkersymbollayer.h.

◆ setStrokeWidthUnit()

void QgsFontMarkerSymbolLayer::setStrokeWidthUnit ( QgsUnitTypes::RenderUnit  unit)
inline

Set stroke width unit.

Since
QGIS 2.16

Definition at line 723 of file qgsmarkersymbollayer.h.

◆ startRender()

void QgsFontMarkerSymbolLayer::startRender ( QgsSymbolRenderContext context)
overridevirtual

Implements QgsSymbolLayer.

Definition at line 2625 of file qgsmarkersymbollayer.cpp.

◆ stopRender()

void QgsFontMarkerSymbolLayer::stopRender ( QgsSymbolRenderContext context)
overridevirtual

Implements QgsSymbolLayer.

Definition at line 2647 of file qgsmarkersymbollayer.cpp.

◆ strokeColor()

QColor QgsFontMarkerSymbolLayer::strokeColor ( ) const
inlineoverridevirtual

Get stroke color.

Supported by marker and fill layers.

Since
QGIS 2.1

Reimplemented from QgsSymbolLayer.

Definition at line 702 of file qgsmarkersymbollayer.h.

◆ strokeWidth()

double QgsFontMarkerSymbolLayer::strokeWidth ( ) const
inline

Get stroke width.

Since
QGIS 2.16

Definition at line 708 of file qgsmarkersymbollayer.h.

◆ strokeWidthMapUnitScale()

const QgsMapUnitScale& QgsFontMarkerSymbolLayer::strokeWidthMapUnitScale ( ) const
inline

Get stroke width map unit scale.

Since
QGIS 2.16

Definition at line 728 of file qgsmarkersymbollayer.h.

◆ strokeWidthUnit()

QgsUnitTypes::RenderUnit QgsFontMarkerSymbolLayer::strokeWidthUnit ( ) const
inline

Get stroke width unit.

Since
QGIS 2.16

Definition at line 718 of file qgsmarkersymbollayer.h.

◆ writeSldMarker()

void QgsFontMarkerSymbolLayer::writeSldMarker ( QDomDocument &  doc,
QDomElement &  element,
const QgsStringMap props 
) const
overridevirtual

Writes the symbol layer definition as a SLD XML element.

Parameters
docXML document
elementparent XML element
propssymbol layer definition (see properties())

Reimplemented from QgsMarkerSymbolLayer.

Definition at line 2873 of file qgsmarkersymbollayer.cpp.

Member Data Documentation

◆ mChr

QChar QgsFontMarkerSymbolLayer::mChr
protected

Definition at line 751 of file qgsmarkersymbollayer.h.

◆ mChrOffset

QPointF QgsFontMarkerSymbolLayer::mChrOffset
protected

Definition at line 754 of file qgsmarkersymbollayer.h.

◆ mChrWidth

double QgsFontMarkerSymbolLayer::mChrWidth = 0
protected

Definition at line 753 of file qgsmarkersymbollayer.h.

◆ mFont

QFont QgsFontMarkerSymbolLayer::mFont
protected

Definition at line 755 of file qgsmarkersymbollayer.h.

◆ mFontFamily

QString QgsFontMarkerSymbolLayer::mFontFamily
protected

Definition at line 749 of file qgsmarkersymbollayer.h.

◆ mFontMetrics

QFontMetrics* QgsFontMarkerSymbolLayer::mFontMetrics = nullptr
protected

Definition at line 750 of file qgsmarkersymbollayer.h.

◆ mOrigSize

double QgsFontMarkerSymbolLayer::mOrigSize
protected

Definition at line 756 of file qgsmarkersymbollayer.h.


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