QGIS API Documentation 3.37.0-Master (0e08c91998a)
Loading...
Searching...
No Matches
Static Public Member Functions | Friends | List of all members
QgsPalLabeling Class Reference

PAL labeling utilities. More...

#include <qgspallabeling.h>

Static Public Member Functions

static void drawLabelCandidateRect (pal::LabelPosition *lp, QPainter *painter, const QgsMapToPixel *xform, QList< QgsLabelCandidate > *candidates=nullptr)
 
static bool geometryRequiresPreparation (const QgsGeometry &geometry, QgsRenderContext &context, const QgsCoordinateTransform &ct, const QgsGeometry &clipGeometry=QgsGeometry(), bool mergeLines=false)
 Checks whether a geometry requires preparation before registration with PAL.
 
static QgsGeometry prepareGeometry (const QgsGeometry &geometry, QgsRenderContext &context, const QgsCoordinateTransform &ct, const QgsGeometry &clipGeometry=QgsGeometry(), bool mergeLines=false)
 Prepares a geometry for registration with PAL.
 
static QStringList splitToGraphemes (const QString &text)
 Splits a text string to a list of graphemes, which are the smallest allowable character divisions in the string.
 
static QStringList splitToLines (const QString &text, const QString &wrapCharacter, int autoWrapLength=0, bool useMaxLineLengthWhenAutoWrapping=true)
 Splits a text string to a list of separate lines, using a specified wrap character (wrapCharacter).
 
static bool staticWillUseLayer (const QgsMapLayer *layer)
 Called to find out whether a specified layer is used for labeling.
 

Friends

class QgsDxfExport
 
class QgsPalLayerSettings
 
class QgsVectorLayerLabelProvider
 

Detailed Description

PAL labeling utilities.

Definition at line 1030 of file qgspallabeling.h.

Member Function Documentation

◆ drawLabelCandidateRect()

void QgsPalLabeling::drawLabelCandidateRect ( pal::LabelPosition lp,
QPainter *  painter,
const QgsMapToPixel xform,
QList< QgsLabelCandidate > *  candidates = nullptr 
)
static
Note
not available in Python bindings

Definition at line 4734 of file qgspallabeling.cpp.

◆ geometryRequiresPreparation()

bool QgsPalLabeling::geometryRequiresPreparation ( const QgsGeometry geometry,
QgsRenderContext context,
const QgsCoordinateTransform ct,
const QgsGeometry clipGeometry = QgsGeometry(),
bool  mergeLines = false 
)
static

Checks whether a geometry requires preparation before registration with PAL.

Parameters
geometrygeometry to prepare
contextrender context
ctcoordinate transform, or invalid transform if no transformation required
clipGeometrygeometry to clip features to, if applicable
mergeLinestrue if touching lines from this layer will be merged and treated as single features during labeling
Returns
true if geometry requires preparation

Definition at line 4005 of file qgspallabeling.cpp.

◆ prepareGeometry()

QgsGeometry QgsPalLabeling::prepareGeometry ( const QgsGeometry geometry,
QgsRenderContext context,
const QgsCoordinateTransform ct,
const QgsGeometry clipGeometry = QgsGeometry(),
bool  mergeLines = false 
)
static

Prepares a geometry for registration with PAL.

Handles reprojection, rotation, clipping, etc.

Parameters
geometrygeometry to prepare
contextrender context
ctcoordinate transform, or invalid transform if no transformation required
clipGeometrygeometry to clip features to, if applicable
mergeLinestrue if touching lines from this layer will be merged and treated as single features during labeling
Returns
prepared geometry

Definition at line 4082 of file qgspallabeling.cpp.

◆ splitToGraphemes()

QStringList QgsPalLabeling::splitToGraphemes ( const QString &  text)
static

Splits a text string to a list of graphemes, which are the smallest allowable character divisions in the string.

This accounts for scripts were individual characters are not allowed to be split apart (e.g., Arabic and Indic based scripts)

Parameters
textstring to split
Returns
list of graphemes

Definition at line 4068 of file qgspallabeling.cpp.

◆ splitToLines()

QStringList QgsPalLabeling::splitToLines ( const QString &  text,
const QString &  wrapCharacter,
int  autoWrapLength = 0,
bool  useMaxLineLengthWhenAutoWrapping = true 
)
static

Splits a text string to a list of separate lines, using a specified wrap character (wrapCharacter).

The text string will be split on either newline characters or the wrap character.

Since QGIS 3.4 the autoWrapLength argument can be used to specify an ideal length of line to automatically wrap text to (automatic wrapping is disabled if autoWrapLength is 0). This automatic wrapping is performed after processing wrapping using wrapCharacter. When auto wrapping is enabled, the useMaxLineLengthWhenAutoWrapping argument controls whether the lines should be wrapped to an ideal maximum of autoWrapLength characters, or if false then the lines are wrapped to an ideal minimum length of autoWrapLength characters.

Definition at line 4037 of file qgspallabeling.cpp.

◆ staticWillUseLayer()

bool QgsPalLabeling::staticWillUseLayer ( const QgsMapLayer layer)
static

Called to find out whether a specified layer is used for labeling.

Definition at line 3970 of file qgspallabeling.cpp.

Friends And Related Symbol Documentation

◆ QgsDxfExport

friend class QgsDxfExport
friend

Definition at line 1112 of file qgspallabeling.h.

◆ QgsPalLayerSettings

friend class QgsPalLayerSettings
friend

Definition at line 1123 of file qgspallabeling.h.

◆ QgsVectorLayerLabelProvider

friend class QgsVectorLayerLabelProvider
friend

Definition at line 1111 of file qgspallabeling.h.


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