QGIS API Documentation  3.2.0-Bonn (bc43194)
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
 Gets 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
 Gets stroke color. More...
 
double strokeWidth () const
 Gets stroke width. More...
 
const QgsMapUnitScalestrokeWidthMapUnitScale () const
 Gets stroke width map unit scale. More...
 
QgsUnitTypes::RenderUnit strokeWidthUnit () const
 Gets 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
 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 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)
 Sets 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 656 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 693 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 690 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

Gets stroke join style.

Since
QGIS 2.16

Definition at line 732 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 694 of file qgsmarkersymbollayer.h.

◆ setFontFamily()

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

Definition at line 691 of file qgsmarkersymbollayer.h.

◆ setPenJoinStyle()

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

Set stroke join style.

Since
QGIS 2.16

Definition at line 737 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 697 of file qgsmarkersymbollayer.h.

◆ setStrokeWidth()

void QgsFontMarkerSymbolLayer::setStrokeWidth ( double  width)
inline

Set stroke width.

Since
QGIS 2.16

Definition at line 707 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 727 of file qgsmarkersymbollayer.h.

◆ setStrokeWidthUnit()

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

Set stroke width unit.

Since
QGIS 2.16

Definition at line 717 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

Gets stroke color.

Supported by marker and fill layers.

Since
QGIS 2.1

Reimplemented from QgsSymbolLayer.

Definition at line 696 of file qgsmarkersymbollayer.h.

◆ strokeWidth()

double QgsFontMarkerSymbolLayer::strokeWidth ( ) const
inline

Gets stroke width.

Since
QGIS 2.16

Definition at line 702 of file qgsmarkersymbollayer.h.

◆ strokeWidthMapUnitScale()

const QgsMapUnitScale& QgsFontMarkerSymbolLayer::strokeWidthMapUnitScale ( ) const
inline

Gets stroke width map unit scale.

Since
QGIS 2.16

Definition at line 722 of file qgsmarkersymbollayer.h.

◆ strokeWidthUnit()

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

Gets stroke width unit.

Since
QGIS 2.16

Definition at line 712 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 745 of file qgsmarkersymbollayer.h.

◆ mChrOffset

QPointF QgsFontMarkerSymbolLayer::mChrOffset
protected

Definition at line 748 of file qgsmarkersymbollayer.h.

◆ mChrWidth

double QgsFontMarkerSymbolLayer::mChrWidth = 0
protected

Definition at line 747 of file qgsmarkersymbollayer.h.

◆ mFont

QFont QgsFontMarkerSymbolLayer::mFont
protected

Definition at line 749 of file qgsmarkersymbollayer.h.

◆ mFontFamily

QString QgsFontMarkerSymbolLayer::mFontFamily
protected

Definition at line 743 of file qgsmarkersymbollayer.h.

◆ mFontMetrics

QFontMetrics* QgsFontMarkerSymbolLayer::mFontMetrics = nullptr
protected

Definition at line 744 of file qgsmarkersymbollayer.h.

◆ mOrigSize

double QgsFontMarkerSymbolLayer::mOrigSize
protected

Definition at line 750 of file qgsmarkersymbollayer.h.


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