mirror of
https://github.com/qgis/QGIS.git
synced 2025-03-03 00:02:25 -05:00
Avoids race conditions when multiple threads are rendering the same text format which contains paint effects Fixes #37938
623 lines
16 KiB
Plaintext
623 lines
16 KiB
Plaintext
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/textrenderer/qgstextbackgroundsettings.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
|
************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
class QgsTextBackgroundSettings
|
|
{
|
|
%Docstring
|
|
Container for settings relating to a text background object.
|
|
|
|
.. note::
|
|
|
|
QgsTextBackgroundSettings objects are implicitly shared.
|
|
|
|
.. versionadded:: 3.0
|
|
%End
|
|
|
|
%TypeHeaderCode
|
|
#include "qgstextbackgroundsettings.h"
|
|
%End
|
|
public:
|
|
|
|
enum ShapeType
|
|
{
|
|
ShapeRectangle,
|
|
ShapeSquare,
|
|
ShapeEllipse,
|
|
ShapeCircle,
|
|
ShapeSVG,
|
|
ShapeMarkerSymbol,
|
|
};
|
|
|
|
enum SizeType
|
|
{
|
|
SizeBuffer,
|
|
SizeFixed,
|
|
SizePercent
|
|
};
|
|
|
|
enum RotationType
|
|
{
|
|
RotationSync,
|
|
RotationOffset,
|
|
RotationFixed
|
|
};
|
|
|
|
QgsTextBackgroundSettings();
|
|
|
|
QgsTextBackgroundSettings( const QgsTextBackgroundSettings &other );
|
|
%Docstring
|
|
Copy constructor.
|
|
|
|
:param other: source QgsTextBackgroundSettings
|
|
%End
|
|
|
|
|
|
~QgsTextBackgroundSettings();
|
|
|
|
bool operator==( const QgsTextBackgroundSettings &other ) const;
|
|
bool operator!=( const QgsTextBackgroundSettings &other ) const;
|
|
|
|
bool enabled() const;
|
|
%Docstring
|
|
Returns whether the background is enabled.
|
|
|
|
.. seealso:: :py:func:`setEnabled`
|
|
%End
|
|
|
|
void setEnabled( bool enabled );
|
|
%Docstring
|
|
Sets whether the text background will be drawn.
|
|
|
|
:param enabled: set to ``True`` to draw background
|
|
|
|
.. seealso:: :py:func:`enabled`
|
|
%End
|
|
|
|
ShapeType type() const;
|
|
%Docstring
|
|
Returns the type of background shape (e.g., square, ellipse, SVG).
|
|
|
|
.. seealso:: :py:func:`setType`
|
|
%End
|
|
|
|
void setType( ShapeType type );
|
|
%Docstring
|
|
Sets the type of background shape to draw (e.g., square, ellipse, SVG).
|
|
|
|
:param type: shape type
|
|
|
|
.. seealso:: :py:func:`type`
|
|
%End
|
|
|
|
QString svgFile() const;
|
|
%Docstring
|
|
Returns the absolute path to the background SVG file, if set.
|
|
|
|
.. seealso:: :py:func:`setSvgFile`
|
|
%End
|
|
|
|
void setSvgFile( const QString &file );
|
|
%Docstring
|
|
Sets the path to the background SVG file. This is only used if :py:func:`~QgsTextBackgroundSettings.type` is set to
|
|
QgsTextBackgroundSettings.ShapeSVG. The path must be absolute.
|
|
|
|
:param file: Absolute SVG file path
|
|
|
|
.. seealso:: :py:func:`svgFile`
|
|
%End
|
|
|
|
QgsMarkerSymbol *markerSymbol() const;
|
|
%Docstring
|
|
Returns the marker symbol to be rendered in the background. Ownership remains with
|
|
the background settings.
|
|
|
|
.. note::
|
|
|
|
This is only used when the :py:func:`~QgsTextBackgroundSettings.type` is QgsTextBackgroundSettings.ShapeMarkerSymbol.
|
|
|
|
.. seealso:: :py:func:`setMarkerSymbol`
|
|
|
|
.. versionadded:: 3.10
|
|
%End
|
|
|
|
void setMarkerSymbol( QgsMarkerSymbol *symbol /Transfer/ );
|
|
%Docstring
|
|
Sets the current marker ``symbol`` for the background shape. Ownership is transferred
|
|
to the background settings.
|
|
|
|
.. note::
|
|
|
|
This is only used when the :py:func:`~QgsTextBackgroundSettings.type` is QgsTextBackgroundSettings.ShapeMarkerSymbol.
|
|
|
|
.. seealso:: :py:func:`markerSymbol`
|
|
|
|
.. versionadded:: 3.10
|
|
%End
|
|
|
|
SizeType sizeType() const;
|
|
%Docstring
|
|
Returns the method used to determine the size of the background shape (e.g., fixed size or buffer
|
|
around text).
|
|
|
|
.. seealso:: :py:func:`setSizeType`
|
|
|
|
.. seealso:: :py:func:`size`
|
|
%End
|
|
|
|
void setSizeType( SizeType type );
|
|
%Docstring
|
|
Sets the method used to determine the size of the background shape (e.g., fixed size or buffer
|
|
around text).
|
|
|
|
:param type: size method
|
|
|
|
.. seealso:: :py:func:`sizeType`
|
|
|
|
.. seealso:: :py:func:`setSize`
|
|
%End
|
|
|
|
QSizeF size() const;
|
|
%Docstring
|
|
Returns the size of the background shape. The meaning of the size depends on the current :py:func:`~QgsTextBackgroundSettings.sizeType`,
|
|
e.g., for size types of QgsTextBackgroundSettings.SizeFixed the size will represent the actual width and
|
|
height of the shape, for QgsTextBackgroundSettings.SizeBuffer the size will represent the horizontal
|
|
and vertical margins to add to the text when calculating the size of the shape.
|
|
|
|
.. seealso:: :py:func:`setSize`
|
|
|
|
.. seealso:: :py:func:`sizeType`
|
|
%End
|
|
|
|
void setSize( QSizeF size );
|
|
%Docstring
|
|
Sets the size of the background shape. The meaning of the size depends on the current :py:func:`~QgsTextBackgroundSettings.sizeType`,
|
|
e.g., for size types of QgsTextBackgroundSettings.SizeFixed the size will represent the actual width and
|
|
height of the shape, for QgsTextBackgroundSettings.SizeBuffer the size will represent the horizontal
|
|
and vertical margins to add to the text when calculating the size of the shape.
|
|
|
|
:param size: QSizeF representing horizontal and vertical size components for shape
|
|
|
|
.. seealso:: :py:func:`size`
|
|
|
|
.. seealso:: :py:func:`setSizeType`
|
|
%End
|
|
|
|
QgsUnitTypes::RenderUnit sizeUnit() const;
|
|
%Docstring
|
|
Returns the units used for the shape's size. This value has no meaning if the :py:func:`~QgsTextBackgroundSettings.sizeType` is set to
|
|
QgsTextBackgroundSettings.SizePercent.
|
|
|
|
.. seealso:: :py:func:`setSizeUnit`
|
|
|
|
.. seealso:: :py:func:`sizeType`
|
|
|
|
.. seealso:: :py:func:`size`
|
|
%End
|
|
|
|
void setSizeUnit( QgsUnitTypes::RenderUnit unit );
|
|
%Docstring
|
|
Sets the units used for the shape's size. This value has no meaning if the :py:func:`~QgsTextBackgroundSettings.sizeType` is set to
|
|
QgsTextBackgroundSettings.SizePercent.
|
|
|
|
:param unit: size units
|
|
|
|
.. seealso:: :py:func:`sizeUnit`
|
|
|
|
.. seealso:: :py:func:`setSizeType`
|
|
|
|
.. seealso:: :py:func:`setSize`
|
|
%End
|
|
|
|
QgsMapUnitScale sizeMapUnitScale() const;
|
|
%Docstring
|
|
Returns the map unit scale object for the shape size. This is only used if the
|
|
:py:func:`~QgsTextBackgroundSettings.sizeUnit` is set to QgsUnitTypes.RenderMapUnit.
|
|
|
|
.. seealso:: :py:func:`setSizeMapUnitScale`
|
|
|
|
.. seealso:: :py:func:`sizeUnit`
|
|
%End
|
|
|
|
void setSizeMapUnitScale( const QgsMapUnitScale &scale );
|
|
%Docstring
|
|
Sets the map unit scale object for the shape size. This is only used if the
|
|
:py:func:`~QgsTextBackgroundSettings.sizeUnit` is set to QgsUnitTypes.RenderMapUnit.
|
|
|
|
:param scale: scale for shape size
|
|
|
|
.. seealso:: :py:func:`sizeMapUnitScale`
|
|
|
|
.. seealso:: :py:func:`setSizeUnit`
|
|
%End
|
|
|
|
RotationType rotationType() const;
|
|
%Docstring
|
|
Returns the method used for rotating the background shape.
|
|
|
|
.. seealso:: :py:func:`setRotationType`
|
|
|
|
.. seealso:: :py:func:`rotation`
|
|
%End
|
|
|
|
void setRotationType( RotationType type );
|
|
%Docstring
|
|
Sets the method used for rotating the background shape.
|
|
|
|
:param type: rotation method
|
|
|
|
.. seealso:: :py:func:`rotationType`
|
|
|
|
.. seealso:: :py:func:`setRotation`
|
|
%End
|
|
|
|
double rotation() const;
|
|
%Docstring
|
|
Returns the rotation for the background shape, in degrees clockwise.
|
|
|
|
.. seealso:: :py:func:`rotationType`
|
|
|
|
.. seealso:: :py:func:`setRotation`
|
|
%End
|
|
|
|
void setRotation( double rotation );
|
|
%Docstring
|
|
Sets the ``rotation`` for the background shape, in degrees clockwise.
|
|
|
|
.. seealso:: :py:func:`rotation`
|
|
|
|
.. seealso:: :py:func:`setRotationType`
|
|
%End
|
|
|
|
QPointF offset() const;
|
|
%Docstring
|
|
Returns the offset used for drawing the background shape. Units are determined
|
|
via :py:func:`~QgsTextBackgroundSettings.offsetUnit`.
|
|
|
|
.. seealso:: :py:func:`setOffset`
|
|
|
|
.. seealso:: :py:func:`offsetUnit`
|
|
%End
|
|
|
|
void setOffset( QPointF offset );
|
|
%Docstring
|
|
Sets the offset used for drawing the background shape. Units are specified using
|
|
:py:func:`~QgsTextBackgroundSettings.setOffsetUnit`.
|
|
|
|
:param offset: offset for shape
|
|
|
|
.. seealso:: :py:func:`offset`
|
|
|
|
.. seealso:: :py:func:`setOffsetUnit`
|
|
%End
|
|
|
|
QgsUnitTypes::RenderUnit offsetUnit() const;
|
|
%Docstring
|
|
Returns the units used for the shape's offset.
|
|
|
|
.. seealso:: :py:func:`setOffsetUnit`
|
|
|
|
.. seealso:: :py:func:`offset`
|
|
%End
|
|
|
|
void setOffsetUnit( QgsUnitTypes::RenderUnit units );
|
|
%Docstring
|
|
Sets the units used for the shape's offset.
|
|
|
|
:param units: offset units
|
|
|
|
.. seealso:: :py:func:`offsetUnit`
|
|
|
|
.. seealso:: :py:func:`setOffset`
|
|
%End
|
|
|
|
QgsMapUnitScale offsetMapUnitScale() const;
|
|
%Docstring
|
|
Returns the map unit scale object for the shape offset. This is only used if the
|
|
:py:func:`~QgsTextBackgroundSettings.offsetUnit` is set to QgsUnitTypes.RenderMapUnit.
|
|
|
|
.. seealso:: :py:func:`setOffsetMapUnitScale`
|
|
|
|
.. seealso:: :py:func:`offsetUnit`
|
|
%End
|
|
|
|
void setOffsetMapUnitScale( const QgsMapUnitScale &scale );
|
|
%Docstring
|
|
Sets the map unit scale object for the shape offset. This is only used if the
|
|
:py:func:`~QgsTextBackgroundSettings.offsetUnit` is set to QgsUnitTypes.RenderMapUnit.
|
|
|
|
:param scale: scale for shape offset
|
|
|
|
.. seealso:: :py:func:`offsetMapUnitScale`
|
|
|
|
.. seealso:: :py:func:`setOffsetUnit`
|
|
%End
|
|
|
|
QSizeF radii() const;
|
|
%Docstring
|
|
Returns the radii used for rounding the corners of shapes. Units are retrieved
|
|
through :py:func:`~QgsTextBackgroundSettings.radiiUnit`.
|
|
|
|
.. seealso:: :py:func:`setRadii`
|
|
|
|
.. seealso:: :py:func:`radiiUnit`
|
|
%End
|
|
|
|
void setRadii( QSizeF radii );
|
|
%Docstring
|
|
Sets the radii used for rounding the corners of shapes. This is only used if
|
|
:py:func:`~QgsTextBackgroundSettings.type` is set to QgsTextBackgroundSettings.ShapeRectangle or QgsTextBackgroundSettings.ShapeSquare.
|
|
|
|
:param radii: QSizeF representing horizontal and vertical radii for rounded corners. Units are
|
|
specified through :py:func:`~QgsTextBackgroundSettings.setRadiiUnit`
|
|
|
|
.. seealso:: :py:func:`radii`
|
|
|
|
.. seealso:: :py:func:`setRadiiUnit`
|
|
%End
|
|
|
|
QgsUnitTypes::RenderUnit radiiUnit() const;
|
|
%Docstring
|
|
Returns the units used for the shape's radii.
|
|
|
|
.. seealso:: :py:func:`setRadiiUnit`
|
|
|
|
.. seealso:: :py:func:`radii`
|
|
%End
|
|
|
|
void setRadiiUnit( QgsUnitTypes::RenderUnit units );
|
|
%Docstring
|
|
Sets the units used for the shape's radii.
|
|
|
|
:param units: radii units
|
|
|
|
.. seealso:: :py:func:`radiiUnit`
|
|
|
|
.. seealso:: :py:func:`setRadii`
|
|
%End
|
|
|
|
QgsMapUnitScale radiiMapUnitScale() const;
|
|
%Docstring
|
|
Returns the map unit scale object for the shape radii. This is only used if the
|
|
:py:func:`~QgsTextBackgroundSettings.radiiUnit` is set to QgsUnitTypes.RenderMapUnit.
|
|
|
|
.. seealso:: :py:func:`setRadiiMapUnitScale`
|
|
|
|
.. seealso:: :py:func:`radiiUnit`
|
|
%End
|
|
|
|
void setRadiiMapUnitScale( const QgsMapUnitScale &scale );
|
|
%Docstring
|
|
Sets the map unit scale object for the shape radii. This is only used if the
|
|
:py:func:`~QgsTextBackgroundSettings.radiiUnit` is set to QgsUnitTypes.RenderMapUnit.
|
|
|
|
:param scale: scale for shape radii
|
|
|
|
.. seealso:: :py:func:`radiiMapUnitScale`
|
|
|
|
.. seealso:: :py:func:`setRadiiUnit`
|
|
%End
|
|
|
|
double opacity() const;
|
|
%Docstring
|
|
Returns the background shape's opacity. The opacity is a double value between 0 (fully transparent) and 1 (totally
|
|
opaque).
|
|
|
|
.. seealso:: :py:func:`setOpacity`
|
|
%End
|
|
|
|
void setOpacity( double opacity );
|
|
%Docstring
|
|
Sets the background shape's opacity.
|
|
|
|
:param opacity: opacity as a double value between 0 (fully transparent) and 1 (totally
|
|
opaque)
|
|
|
|
.. seealso:: :py:func:`opacity`
|
|
%End
|
|
|
|
QPainter::CompositionMode blendMode() const;
|
|
%Docstring
|
|
Returns the blending mode used for drawing the background shape.
|
|
|
|
.. seealso:: :py:func:`setBlendMode`
|
|
%End
|
|
|
|
void setBlendMode( QPainter::CompositionMode mode );
|
|
%Docstring
|
|
Sets the blending mode used for drawing the background shape.
|
|
|
|
:param mode: blending mode
|
|
|
|
.. seealso:: :py:func:`blendMode`
|
|
%End
|
|
|
|
QColor fillColor() const;
|
|
%Docstring
|
|
Returns the color used for filing the background shape.
|
|
|
|
.. seealso:: :py:func:`setFillColor`
|
|
|
|
.. seealso:: :py:func:`strokeColor`
|
|
%End
|
|
|
|
void setFillColor( const QColor &color );
|
|
%Docstring
|
|
Sets the color used for filing the background shape.
|
|
|
|
:param color: background color
|
|
|
|
.. seealso:: :py:func:`fillColor`
|
|
|
|
.. seealso:: :py:func:`setStrokeColor`
|
|
%End
|
|
|
|
QColor strokeColor() const;
|
|
%Docstring
|
|
Returns the color used for outlining the background shape.
|
|
|
|
.. seealso:: :py:func:`setStrokeColor`
|
|
|
|
.. seealso:: :py:func:`fillColor`
|
|
%End
|
|
|
|
void setStrokeColor( const QColor &color );
|
|
%Docstring
|
|
Sets the color used for outlining the background shape.
|
|
|
|
:param color: stroke color
|
|
|
|
.. seealso:: :py:func:`strokeColor`
|
|
|
|
.. seealso:: :py:func:`setFillColor`
|
|
%End
|
|
|
|
double strokeWidth() const;
|
|
%Docstring
|
|
Returns the width of the shape's stroke (stroke). Units are retrieved through
|
|
:py:func:`~QgsTextBackgroundSettings.strokeWidthUnit`.
|
|
|
|
.. seealso:: :py:func:`setStrokeWidth`
|
|
|
|
.. seealso:: :py:func:`strokeWidthUnit`
|
|
%End
|
|
|
|
void setStrokeWidth( double width );
|
|
%Docstring
|
|
Sets the width of the shape's stroke (stroke). Units are specified through
|
|
:py:func:`~QgsTextBackgroundSettings.setStrokeWidthUnit`.
|
|
|
|
.. seealso:: :py:func:`strokeWidth`
|
|
|
|
.. seealso:: :py:func:`setStrokeWidthUnit`
|
|
%End
|
|
|
|
QgsUnitTypes::RenderUnit strokeWidthUnit() const;
|
|
%Docstring
|
|
Returns the units used for the shape's stroke width.
|
|
|
|
.. seealso:: :py:func:`setStrokeWidthUnit`
|
|
|
|
.. seealso:: :py:func:`strokeWidth`
|
|
%End
|
|
|
|
void setStrokeWidthUnit( QgsUnitTypes::RenderUnit units );
|
|
%Docstring
|
|
Sets the units used for the shape's stroke width.
|
|
|
|
:param units: stroke width units
|
|
|
|
.. seealso:: :py:func:`strokeWidthUnit`
|
|
|
|
.. seealso:: :py:func:`setStrokeWidth`
|
|
%End
|
|
|
|
QgsMapUnitScale strokeWidthMapUnitScale() const;
|
|
%Docstring
|
|
Returns the map unit scale object for the shape stroke width. This is only used if the
|
|
:py:func:`~QgsTextBackgroundSettings.strokeWidthUnit` is set to QgsUnitTypes.RenderMapUnit.
|
|
|
|
.. seealso:: :py:func:`setStrokeWidthMapUnitScale`
|
|
|
|
.. seealso:: :py:func:`strokeWidthUnit`
|
|
%End
|
|
|
|
void setStrokeWidthMapUnitScale( const QgsMapUnitScale &scale );
|
|
%Docstring
|
|
Sets the map unit scale object for the shape stroke width. This is only used if the
|
|
:py:func:`~QgsTextBackgroundSettings.strokeWidthUnit` is set to QgsUnitTypes.RenderMapUnit.
|
|
|
|
:param scale: scale for shape stroke width
|
|
|
|
.. seealso:: :py:func:`strokeWidthMapUnitScale`
|
|
|
|
.. seealso:: :py:func:`setStrokeWidthUnit`
|
|
%End
|
|
|
|
Qt::PenJoinStyle joinStyle() const;
|
|
%Docstring
|
|
Returns the join style used for drawing the background shape.
|
|
|
|
.. seealso:: :py:func:`setJoinStyle`
|
|
%End
|
|
|
|
void setJoinStyle( Qt::PenJoinStyle style );
|
|
%Docstring
|
|
Sets the join style used for drawing the background shape.
|
|
|
|
:param style: join style
|
|
|
|
.. seealso:: :py:func:`joinStyle`
|
|
%End
|
|
|
|
const QgsPaintEffect *paintEffect() const;
|
|
%Docstring
|
|
Returns the current paint effect for the background shape.
|
|
|
|
:return: paint effect
|
|
|
|
.. seealso:: :py:func:`setPaintEffect`
|
|
%End
|
|
|
|
void setPaintEffect( QgsPaintEffect *effect /Transfer/ );
|
|
%Docstring
|
|
Sets the current paint ``effect`` for the background shape.
|
|
|
|
:param effect: paint effect. Ownership is transferred to the background settings.
|
|
|
|
.. seealso:: :py:func:`paintEffect`
|
|
%End
|
|
|
|
void readFromLayer( QgsVectorLayer *layer );
|
|
%Docstring
|
|
Reads settings from a layer's custom properties (for QGIS 2.x projects).
|
|
|
|
:param layer: source vector layer
|
|
%End
|
|
|
|
void readXml( const QDomElement &elem, const QgsReadWriteContext &context );
|
|
%Docstring
|
|
Read settings from a DOM element.
|
|
|
|
.. seealso:: :py:func:`writeXml`
|
|
%End
|
|
|
|
QDomElement writeXml( QDomDocument &doc, const QgsReadWriteContext &context ) const;
|
|
%Docstring
|
|
Write settings into a DOM element.
|
|
|
|
.. seealso:: :py:func:`readXml`
|
|
%End
|
|
|
|
void updateDataDefinedProperties( QgsRenderContext &context, const QgsPropertyCollection &properties );
|
|
%Docstring
|
|
Updates the format by evaluating current values of data defined properties.
|
|
|
|
.. versionadded:: 3.10
|
|
%End
|
|
|
|
QSet<QString> referencedFields( const QgsRenderContext &context ) const;
|
|
%Docstring
|
|
Returns all field names referenced by the configuration (e.g. from data defined properties).
|
|
|
|
.. versionadded:: 3.14
|
|
%End
|
|
|
|
};
|
|
|
|
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/textrenderer/qgstextbackgroundsettings.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
|
************************************************************************/
|