QGIS API Documentation
3.26.3-Buenos Aires (65e4edfdad)
|
Go to the documentation of this file.
36 return !mMaskedSymbolLayers.isEmpty();
56 if ( props.contains( QStringLiteral(
"mask_symbollayers" ) ) )
80 return QStringLiteral(
"MaskMarker" );
94 attributes.unite( mSymbol->usedAttributes( context ) );
103 if ( mSymbol && mSymbol->hasDataDefinedProperties() )
114 mEffect.reset( lPaintEffect->clone() );
136 return mMaskedSymbolLayers;
141 mMaskedSymbolLayers = maskedLayers;
152 || ( mSymbol && mSymbol->usesMapUnits() );
159 mSymbol->setOutputUnit( unit );
170 if ( !renderContext.
painter() )
175 mSymbol->renderPoint( point, context.
feature(), renderContext, -1,
false );
182 if ( mMaskedSymbolLayers.isEmpty() )
190 if ( mEffect && mEffect->enabled() )
194 p->translate( point );
196 mSymbol->renderPoint( QPointF( 0, 0 ), context.
feature(), renderContext, -1,
false );
201 mSymbol->renderPoint( point, context.
feature(), renderContext, -1,
false );
QPainter * maskPainter(int id=0)
Returns a mask QPainter for the render operation.
void setEffect(QgsPaintEffect *effect)
Sets the effect to be painted.
double size() const
Returns the symbol size.
RenderUnit
Rendering size units.
A class to manager painter saving and restoring required for effect drawing.
const QgsFeature * feature() const
Returns the current feature being rendered.
void setMasks(const QList< QgsSymbolLayerReference > &maskedLayers)
Sets the symbol layers that will be masked by the sub symbol's shape.
QVariantMap properties() const override
Should be reimplemented by subclasses to return a string map that contains the configuration informat...
bool enabled() const
Whether some masked symbol layers are defined.
virtual bool hasDataDefinedProperties() const
Returns true if the symbol layer (or any of its sub-symbols) contains data defined properties.
Contains information about the context of a rendering operation.
QString layerType() const override
Returns a string that represents this layer type.
Abstract base class for all rendered symbols.
QgsUnitTypes::RenderUnit mSizeUnit
Marker size unit.
void drawPreviewIcon(QgsSymbolRenderContext &context, QSize size) override
~QgsMaskMarkerSymbolLayer() override
void setOutputUnit(QgsUnitTypes::RenderUnit unit) override
Sets the units to use for sizes and widths within the symbol layer.
QgsMaskMarkerSymbolLayer()
Simple constructor.
void renderPoint(QPointF point, QgsSymbolRenderContext &context) override
Renders a marker at the specified point.
bool setSubSymbol(QgsSymbol *symbol) override
Sets layer's subsymbol. takes ownership of the passed symbol.
bool hasDataDefinedProperties() const override
Returns true if the symbol layer (or any of its sub-symbols) contains data defined properties.
Qgis::SymbolType type() const
Returns the symbol's type.
void startRender(QgsSymbolRenderContext &context) override
Called before a set of rendering operations commences on the supplied render context.
A marker symbol type, for rendering Point and MultiPoint geometries.
QgsSymbol * subSymbol() override
Returns the symbol's sub symbol, if present.
void copyPaintEffect(QgsSymbolLayer *destLayer) const
Copies paint effect of this layer to another symbol layer.
QRectF bounds(QPointF point, QgsSymbolRenderContext &context) override
Returns the approximate bounding box of the marker symbol layer, taking into account any data defined...
void setPaintEffect(QgsPaintEffect *effect)
Sets the current paint effect for the layer.
QgsSymbolLayerReferenceList stringToSymbolLayerReferenceList(const QString &str)
Utilitary function to parse a string originated from symbolLayerReferenceListToString into a QgsSymbo...
QgsPaintEffect * paintEffect() const
Returns the current paint effect for the layer.
virtual QSet< QString > usedAttributes(const QgsRenderContext &context) const
Returns the set of attributes referenced by the layer.
void stopRender(QgsSymbolRenderContext &context) override
Called after a set of rendering operations has finished on the supplied render context.
void setOutputUnit(QgsUnitTypes::RenderUnit unit) override
Sets the units to use for sizes and widths within the symbol layer.
QString symbolLayerReferenceListToString(const QgsSymbolLayerReferenceList &lst)
Utilitary function to turn a QgsSymbolLayerReferenceList into a string.
QSet< QString > usedAttributes(const QgsRenderContext &context) const override
Returns the set of attributes referenced by the layer.
bool isGuiPreview() const
Returns the Gui preview mode.
@ RenderMetersInMapUnits
Meters value as Map units.
QColor color() const override
Returns the "representative" color of the symbol layer.
virtual void drawPreviewIcon(QgsSymbolRenderContext &context, QSize size) override
QgsMaskMarkerSymbolLayer * clone() const override
Shall be reimplemented by subclasses to create a deep copy of the instance.
QList< QgsSymbolLayerReference > masks() const override
Returns a list of references to symbol layers that are masked by the sub symbol's shape.
QgsRenderContext & renderContext()
Returns a reference to the context's render context.
QPainter * painter()
Returns the destination QPainter for the render operation.
Special symbol layer that uses its sub symbol as a selective mask.
bool usesMapUnits() const override
Returns true if the symbol layer has any components which use map unit based sizes.
static QgsMarkerSymbol * createSimple(const QVariantMap &properties)
Create a marker symbol with one symbol layer: SimpleMarker with specified properties.
void copyDataDefinedProperties(QgsSymbolLayer *destLayer) const
Copies all data defined properties of this layer to another symbol layer.
@ RenderMapUnits
Map units.
A class to manage painter saving and restoring required for drawing on a different painter (mask pain...
static QgsSymbolLayer * create(const QVariantMap &properties=QVariantMap())
Create a new QgsMaskMarkerSymbolLayer.