QGIS API Documentation 3.41.0-Master (af5edcb665c)
|
Draws curved lines as callouts. More...
#include <qgscallout.h>
Public Types | |
enum | Orientation { Automatic , Clockwise , CounterClockwise } |
Curve orientation. More... | |
Public Types inherited from QgsCallout | |
enum | AnchorPoint { PoleOfInaccessibility = 0 , PointOnExterior , PointOnSurface , Centroid } |
Feature's anchor point position. More... | |
enum | DrawOrder { OrderBelowAllLabels , OrderBelowIndividualLabels } |
Options for draw order (stacking) of callouts. More... | |
enum | LabelAnchorPoint { LabelPointOnExterior , LabelCentroid , LabelTopLeft , LabelTopMiddle , LabelTopRight , LabelMiddleLeft , LabelMiddleRight , LabelBottomLeft , LabelBottomMiddle , LabelBottomRight } |
Label's anchor point position. More... | |
enum class | Property : int { MinimumCalloutLength , OffsetFromAnchor , OffsetFromLabel , DrawCalloutToAllParts , AnchorPointPosition , LabelAnchorPointPosition , OriginX , OriginY , DestinationX , DestinationY , Curvature , Orientation , Margins , WedgeWidth , CornerRadius , BlendMode } |
Data definable properties. More... | |
Public Member Functions | |
QgsCurvedLineCallout () | |
QgsCurvedLineCallout (const QgsCurvedLineCallout &other) | |
QgsCurvedLineCallout * | clone () const override |
Duplicates a callout by creating a deep copy of the callout. | |
double | curvature () const |
Returns the callout line's curvature. | |
QgsCurvedLineCallout & | operator= (const QgsCurvedLineCallout &)=delete |
Orientation | orientation () const |
Returns the callout line's curve orientation. | |
QVariantMap | properties (const QgsReadWriteContext &context) const override |
Returns the properties describing the callout encoded in a string format. | |
void | setCurvature (double curvature) |
Sets the callout line's curvature. | |
void | setOrientation (Orientation orientation) |
Sets the callout line's curve orientation. | |
QString | type () const override |
Returns a unique string representing the callout type. | |
Public Member Functions inherited from QgsSimpleLineCallout | |
QgsSimpleLineCallout () | |
QgsSimpleLineCallout (const QgsSimpleLineCallout &other) | |
~QgsSimpleLineCallout () override | |
QgsSimpleLineCallout * | clone () const override |
Duplicates a callout by creating a deep copy of the callout. | |
bool | drawCalloutToAllParts () const |
Returns true if callout lines should be drawn to all feature parts. | |
QgsLineSymbol * | lineSymbol () |
Returns the line symbol used to render the callout line. | |
double | minimumLength () const |
Returns the minimum length of callout lines. | |
const QgsMapUnitScale & | minimumLengthMapUnitScale () const |
Returns the map unit scale for the minimum callout length. | |
Qgis::RenderUnit | minimumLengthUnit () const |
Returns the units for the minimum length of callout lines. | |
double | offsetFromAnchor () const |
Returns the offset distance from the anchor point at which to start the line. | |
const QgsMapUnitScale & | offsetFromAnchorMapUnitScale () const |
Returns the map unit scale for the offset from anchor. | |
Qgis::RenderUnit | offsetFromAnchorUnit () const |
Returns the units for the offset from anchor point. | |
double | offsetFromLabel () const |
Returns the offset distance from label area at which to end the line. | |
const QgsMapUnitScale & | offsetFromLabelMapUnitScale () const |
Returns the map unit scale for the minimum callout length. | |
Qgis::RenderUnit | offsetFromLabelUnit () const |
Returns the units for the offset from label area. | |
QgsSimpleLineCallout & | operator= (const QgsSimpleLineCallout &)=delete |
QVariantMap | properties (const QgsReadWriteContext &context) const override |
Returns the properties describing the callout encoded in a string format. | |
void | readProperties (const QVariantMap &props, const QgsReadWriteContext &context) override |
Reads a string map of an callout's properties and restores the callout to the state described by the properties map. | |
QSet< QString > | referencedFields (const QgsRenderContext &context) const override |
Returns the set of attributes referenced by the callout. | |
void | setDrawCalloutToAllParts (bool drawToAllParts) |
Sets whether callout lines should be drawn to all feature parts. | |
void | setLineSymbol (QgsLineSymbol *symbol) |
Sets the line symbol used to render the callout line. | |
void | setMinimumLength (double length) |
Sets the minimum length of callout lines. | |
void | setMinimumLengthMapUnitScale (const QgsMapUnitScale &scale) |
Sets the map unit scale for the minimum callout length. | |
void | setMinimumLengthUnit (Qgis::RenderUnit unit) |
Sets the unit for the minimum length of callout lines. | |
void | setOffsetFromAnchor (double distance) |
Sets the offset distance from the anchor point at which to start the line. | |
void | setOffsetFromAnchorMapUnitScale (const QgsMapUnitScale &scale) |
Sets the map unit scale for the offset from anchor. | |
void | setOffsetFromAnchorUnit (Qgis::RenderUnit unit) |
Sets the unit for the offset from anchor distance. | |
void | setOffsetFromLabel (double distance) |
Sets the offset distance from label area at which to end the line. | |
void | setOffsetFromLabelMapUnitScale (const QgsMapUnitScale &scale) |
Sets the map unit scale for the offset from label area. | |
void | setOffsetFromLabelUnit (Qgis::RenderUnit unit) |
Sets the unit for the offset from label area distance. | |
void | startRender (QgsRenderContext &context) override |
Prepares the callout for rendering on the specified render context. | |
void | stopRender (QgsRenderContext &context) override |
Finalises the callout after a set of rendering operations on the specified render context. | |
QString | type () const override |
Returns a unique string representing the callout type. | |
Public Member Functions inherited from QgsCallout | |
QgsCallout () | |
Constructor for QgsCallout. | |
virtual | ~QgsCallout ()=default |
AnchorPoint | anchorPoint () const |
Returns the feature's anchor point position. | |
QPainter::CompositionMode | blendMode () const |
Returns the blending mode used for drawing callouts. | |
bool | containsAdvancedEffects () const |
Returns true if the callout requires advanced effects such as blend modes, which require output in raster formats to be fully respected. | |
QgsPropertyCollection & | dataDefinedProperties () |
Returns a reference to the callout's property collection, used for data defined overrides. | |
const QgsPropertyCollection & | dataDefinedProperties () const |
Returns a reference to the callout's property collection, used for data defined overrides. | |
virtual DrawOrder | drawOrder () const |
Returns the desired drawing order (stacking) to use while rendering this callout. | |
bool | enabled () const |
Returns true if the the callout is enabled. | |
LabelAnchorPoint | labelAnchorPoint () const |
Returns the label's anchor point position. | |
void | render (QgsRenderContext &context, const QRectF &rect, const double angle, const QgsGeometry &anchor, QgsCalloutContext &calloutContext) |
Renders the callout onto the specified render context. | |
virtual void | restoreProperties (const QDomElement &element, const QgsReadWriteContext &context) |
Restores the callout's properties from a DOM element. | |
virtual bool | saveProperties (QDomDocument &doc, QDomElement &element, const QgsReadWriteContext &context) const |
Saves the current state of the callout to a DOM element. | |
void | setAnchorPoint (AnchorPoint anchor) |
Sets the feature's anchor point position. | |
void | setBlendMode (QPainter::CompositionMode mode) |
Sets the blending mode used for drawing callouts. | |
void | setDataDefinedProperties (const QgsPropertyCollection &collection) |
Sets the callout's property collection, used for data defined overrides. | |
void | setEnabled (bool enabled) |
Sets whether the callout is enabled. | |
void | setLabelAnchorPoint (LabelAnchorPoint anchor) |
Sets the label's anchor point position. | |
Static Public Member Functions | |
static QgsCallout * | create (const QVariantMap &properties=QVariantMap(), const QgsReadWriteContext &context=QgsReadWriteContext()) |
Creates a new QgsCurvedLineCallout, using the settings serialized in the properties map (corresponding to the output from QgsCurvedLineCallout::properties() ). | |
Static Public Member Functions inherited from QgsSimpleLineCallout | |
static QgsCallout * | create (const QVariantMap &properties=QVariantMap(), const QgsReadWriteContext &context=QgsReadWriteContext()) |
Creates a new QgsSimpleLineCallout, using the settings serialized in the properties map (corresponding to the output from QgsSimpleLineCallout::properties() ). | |
Static Public Member Functions inherited from QgsCallout | |
static QgsCallout::AnchorPoint | decodeAnchorPoint (const QString &name, bool *ok=nullptr) |
Attempts to decode a string representation of an anchor point name to the corresponding anchor point. | |
static QgsCallout::LabelAnchorPoint | decodeLabelAnchorPoint (const QString &name, bool *ok=nullptr) |
Attempts to decode a string representation of a label anchor point name to the corresponding anchor point. | |
static QString | encodeAnchorPoint (AnchorPoint anchor) |
Encodes an anchor point to its string representation. | |
static QString | encodeLabelAnchorPoint (LabelAnchorPoint anchor) |
Encodes a label anchor point to its string representation. | |
static QgsPropertiesDefinition | propertyDefinitions () |
Returns the definitions for data defined properties available for use in callouts. | |
Protected Member Functions | |
QgsCurve * | createCalloutLine (const QgsPoint &start, const QgsPoint &end, QgsRenderContext &context, const QRectF &bodyBoundingBox, const double angle, const QgsGeometry &anchor, QgsCalloutContext &calloutContext) const override |
Creates a callout line between start and end in the desired style. | |
Protected Member Functions inherited from QgsSimpleLineCallout | |
void | draw (QgsRenderContext &context, const QRectF &bodyBoundingBox, const double angle, const QgsGeometry &anchor, QgsCallout::QgsCalloutContext &calloutContext) override |
Performs the actual rendering of the callout implementation onto the specified render context. | |
Protected Member Functions inherited from QgsCallout | |
QgsGeometry | calloutLabelPoint (const QRectF &bodyBoundingBox, double angle, LabelAnchorPoint anchor, QgsRenderContext &context, const QgsCalloutContext &calloutContext, bool &pinned) const |
Returns the anchor point geometry for a label with the given bounding box and anchor point mode. | |
QgsGeometry | calloutLineToPart (const QgsGeometry &labelGeometry, const QgsAbstractGeometry *partGeometry, QgsRenderContext &context, const QgsCalloutContext &calloutContext, bool &pinned) const |
Calculates the direct line from a label geometry to an anchor geometry part, respecting the various callout settings which influence how the callout end should be placed in the anchor geometry. | |
Q_DECL_DEPRECATED QgsGeometry | labelAnchorGeometry (const QRectF &bodyBoundingBox, const double angle, LabelAnchorPoint anchor) const |
Returns the anchor point geometry for a label with the given bounding box and anchor point mode. | |
Curve orientation.
Definition at line 791 of file qgscallout.h.
QgsCurvedLineCallout::QgsCurvedLineCallout | ( | ) |
Definition at line 793 of file qgscallout.cpp.
QgsCurvedLineCallout::QgsCurvedLineCallout | ( | const QgsCurvedLineCallout & | other | ) |
Definition at line 797 of file qgscallout.cpp.
|
overridevirtual |
Duplicates a callout by creating a deep copy of the callout.
Caller takes ownership of the returned object.
Implements QgsCallout.
Definition at line 821 of file qgscallout.cpp.
|
static |
Creates a new QgsCurvedLineCallout, using the settings serialized in the properties map (corresponding to the output from QgsCurvedLineCallout::properties() ).
Definition at line 805 of file qgscallout.cpp.
|
overrideprotectedvirtual |
Creates a callout line between start and end in the desired style.
The base class method returns a straight line.
Reimplemented from QgsSimpleLineCallout.
Definition at line 834 of file qgscallout.cpp.
double QgsCurvedLineCallout::curvature | ( | ) | const |
Returns the callout line's curvature.
The curvature is a percentage value (with typical ranges between 0.0 and 1.0), representing the overall curvature of the line.
Definition at line 1020 of file qgscallout.cpp.
|
delete |
QgsCurvedLineCallout::Orientation QgsCurvedLineCallout::orientation | ( | ) | const |
Returns the callout line's curve orientation.
Definition at line 1010 of file qgscallout.cpp.
|
overridevirtual |
Returns the properties describing the callout encoded in a string format.
Subclasses must ensure that they include the base class' properties() in their returned value.
Reimplemented from QgsCallout.
Definition at line 826 of file qgscallout.cpp.
void QgsCurvedLineCallout::setCurvature | ( | double | curvature | ) |
Sets the callout line's curvature.
The curvature is a percentage value (with typical ranges between 0.0 and 1.0), representing the overall curvature of the line.
Definition at line 1025 of file qgscallout.cpp.
void QgsCurvedLineCallout::setOrientation | ( | Orientation | orientation | ) |
Sets the callout line's curve orientation.
Definition at line 1015 of file qgscallout.cpp.
|
overridevirtual |
Returns a unique string representing the callout type.
Implements QgsCallout.
Definition at line 816 of file qgscallout.cpp.