QGIS API Documentation 3.43.0-Master (e737cc10456)
qgspallabeling.h
Go to the documentation of this file.
1/***************************************************************************
2 qgspallabeling.h
3 Smart labeling for vector layers
4 -------------------
5 begin : June 2009
6 copyright : (C) Martin Dobias
7 email : wonder dot sk at gmail dot com
8
9 ***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGSPALLABELING_H
19#define QGSPALLABELING_H
20
21#include "qgis_core.h"
22#include "qgis_sip.h"
23#include <QString>
24#include <QFont>
25#include <QFontDatabase>
26#include <QColor>
27#include <QHash>
28#include <QList>
29#include <QPainter>
30#include <QRectF>
31#include <QMap>
32#include "qgsfeature.h"
33#include "qgsgeometry.h"
34#include "qgsfields.h"
35#include "qgspointxy.h"
36#include "qgsmapunitscale.h"
37#include "qgsstringutils.h"
38#include "qgstextformat.h"
46#include "qgsexpression.h"
47
48class QgsTextDocument;
50
51namespace pal SIP_SKIP
52{
53 class Pal;
54 class Layer;
55 class LabelPosition;
56}
57
59class QgsRectangle;
60class QgsMapToPixel;
61class QgsFeature;
63class QgsVectorLayer;
64class QgsExpression;
65class QFontMetricsF;
66class QPainter;
67class QPicture;
68class QgsGeometry;
71class QgsMapLayer;
72class QgsMapSettings;
73class QgsLabelFeature;
77class QgsDxfExport;
80class QgsCallout;
81
87class CORE_EXPORT QgsPalLayerSettings
88{
89 public:
93
95 QgsPalLayerSettings &operator=( const QgsPalLayerSettings &s );
96
97 // *INDENT-OFF*
100 {
101 // text style
102 Size = 0,
103 Bold = 1,
104 Italic = 2,
105 Underline = 3,
106 Color = 4,
107 Strikeout = 5,
108 Family = 6,
109 FontStyle = 21,
110 FontSizeUnit = 22,
111 FontTransp = 18,
112 FontOpacity = 92,
113 FontCase = 27,
114 FontLetterSpacing = 28,
115 FontWordSpacing = 29,
116 FontBlendMode = 30,
117 FontStretchFactor = 113,
118
119 // text formatting
120 MultiLineWrapChar = 31,
121 AutoWrapLength = 101,
122 MultiLineHeight = 32,
123 MultiLineAlignment = 33,
124 TextOrientation = 110,
125 TabStopDistance = 120,
126 DirSymbDraw = 34,
127 DirSymbLeft = 35,
128 DirSymbRight = 36,
129 DirSymbPlacement = 37,
130 DirSymbReverse = 38,
131 NumFormat = 39,
132 NumDecimals = 40,
133 NumPlusSign = 41,
134
135 // text buffer
136 BufferDraw = 42,
137 BufferSize = 7,
138 BufferUnit = 43,
139 BufferColor = 8,
140 BufferTransp = 19,
141 BufferOpacity = 94,
142 BufferJoinStyle = 44,
143 BufferBlendMode = 45,
144
145 // mask buffer
146 MaskEnabled = 104,
147 MaskBufferSize = 105,
148 MaskBufferUnit = 106,
149 MaskOpacity = 107,
150 MaskJoinStyle = 108,
151
152 // background
153 ShapeDraw = 46,
154 ShapeKind = 47,
155 ShapeSVGFile = 48,
156 ShapeSizeType = 49,
157 ShapeSizeX = 50,
158 ShapeSizeY = 85,
159 ShapeSizeUnits = 51,
160 ShapeRotationType = 52,
161 ShapeRotation = 53,
162 ShapeOffset = 54,
163 ShapeOffsetUnits = 55,
164 ShapeRadii = 56,
165 ShapeRadiiUnits = 57,
166 ShapeTransparency = 63,
167 ShapeOpacity = 93,
168 ShapeBlendMode = 64,
169 ShapeFillColor = 58,
170 ShapeStrokeColor = 59,
171 ShapeStrokeWidth = 60,
172 ShapeStrokeWidthUnits = 61,
173 ShapeJoinStyle = 62,
174
175 // drop shadow
176 ShadowDraw = 65,
177 ShadowUnder = 66,
178 ShadowOffsetAngle = 67,
179 ShadowOffsetDist = 68,
180 ShadowOffsetUnits = 69,
181 ShadowRadius = 70,
182 ShadowRadiusUnits = 71,
183 ShadowTransparency = 72,
184 ShadowOpacity = 95,
185 ShadowScale = 73,
186 ShadowColor = 74,
187 ShadowBlendMode = 75,
188
189 // placement
190 CentroidWhole = 76,
191 OffsetQuad = 77,
192 OffsetXY = 78,
193 OffsetUnits = 80,
194 LabelDistance = 13,
195 MaximumDistance = 119,
196 DistanceUnits = 81,
197 OffsetRotation = 82,
198 CurvedCharAngleInOut = 83,
199 // (data defined only)
200 PositionX = 9,
201 PositionY = 10,
202 PositionPoint = 114,
203 Hali = 11,
204 Vali = 12,
205 Rotation = 14,
206 LabelRotation = 96,
207 RepeatDistance = 84,
208 RepeatDistanceUnit = 86,
209 Priority = 87,
210 PredefinedPositionOrder = 91,
211 LinePlacementOptions = 99,
212 OverrunDistance = 102,
213 LabelAllParts = 103,
214 PolygonLabelOutside = 109,
215 LineAnchorPercent = 111,
216 LineAnchorClipping = 112,
217 LineAnchorType = 115,
218 LineAnchorTextPoint = 116,
219
220 // rendering
221 ScaleVisibility = 23,
222 MinScale = 16,
223 MinimumScale = 97,
224 MaxScale = 17,
225 MaximumScale = 98,
226 FontLimitPixel = 24,
227 FontMinPixel = 25,
228 FontMaxPixel = 26,
229 IsObstacle = 88,
230 ObstacleFactor = 89,
231 ZIndex = 90,
232 CalloutDraw = 100,
233
234 AllowDegradedPlacement = 117,
235 OverlapHandling = 118,
236
237 LabelMarginDistance = 121,
238 RemoveDuplicateLabels = 122,
239 RemoveDuplicateLabelDistance = 123,
240
241 // (data defined only)
242 Show = 15,
243 AlwaysShow = 20
244 };
245 // *INDENT-ON*
246
258 bool prepare( QgsRenderContext &context, QSet<QString> &attributeNames SIP_INOUT, const QgsFields &fields, const QgsMapSettings &mapSettings, const QgsCoordinateReferenceSystem &crs );
259
264 QSet<QString> referencedFields( const QgsRenderContext &context ) const;
265
274 void startRender( QgsRenderContext &context );
275
283 void stopRender( QgsRenderContext &context );
284
290 bool containsAdvancedEffects() const;
291
295 static const QgsPropertiesDefinition &propertyDefinitions();
296
304 bool drawLabels = true;
305
306 //-- text style
307
313 QString fieldName;
314
319 bool isExpression = false;
320
324 QgsExpression *getLabelExpression();
325
329 Q_DECL_DEPRECATED QColor previewBkgrdColor = Qt::white;
330
334 bool useSubstitutions = false;
335
336 //-- text formatting
337
342 QString wrapChar;
343
351 int autoWrapLength = 0;
352
363 bool useMaxLineLengthForAutoWrap = true;
364
367
374 bool formatNumbers = false;
375
381 int decimals = 3;
382
388 bool plusSign = false;
389
390 //-- placement
391
394
401 Qgis::LabelPolygonPlacementFlags polygonPlacementFlags() const { return mPolygonPlacementFlags; }
402
409 void setPolygonPlacementFlags( Qgis::LabelPolygonPlacementFlags flags ) { mPolygonPlacementFlags = flags; }
410
415 bool centroidWhole = false;
416
422 bool centroidInside = false;
423
427 bool fitInPolygonOnly = false;
428
434 double dist = 0;
435
442
449
452
458 double repeatDistance = 0;
459
466
473
480 double xOffset = 0;
481
488 double yOffset = 0;
489
497
505
507 double angleOffset = 0;
508
510 bool preserveRotation = true;
511
517 Qgis::AngleUnit rotationUnit() const;
518
524 void setRotationUnit( Qgis::AngleUnit angleUnit );
525
530 double maxCurvedCharAngleIn = 25.0;
531
536 double maxCurvedCharAngleOut = -25.0;
537
542 int priority = 5;
543
544 //-- rendering
545
551 bool scaleVisibility = false;
552
563 double maximumScale = 0;
564
575 double minimumScale = 0;
576
582 bool fontLimitPixelSize = false;
583
589 int fontMinPixelSize = 0;
590
596 int fontMaxPixelSize = 10000;
597
600
605 bool labelPerPart = false;
606
608 double zIndex = 0;
609
612
615
617 bool geometryGeneratorEnabled = false;
618
624
629 void setLegendString( const QString &legendString ) { mLegendString = legendString; }
630
635 QString legendString() const { return mLegendString; }
636
649 Q_DECL_DEPRECATED void calculateLabelSize( const QFontMetricsF *fm, const QString &text, double &labelX, double &labelY, const QgsFeature *f = nullptr, QgsRenderContext *context = nullptr, double *rotatedLabelX SIP_OUT = nullptr, double *rotatedLabelY SIP_OUT = nullptr ) SIP_DEPRECATED;
650
660 void registerFeature( const QgsFeature &f, QgsRenderContext &context );
661
662#ifndef SIP_RUN
663
680 std::unique_ptr< QgsLabelFeature > registerFeatureWithDetails( const QgsFeature &feature, QgsRenderContext &context,
681 QgsGeometry obstacleGeometry = QgsGeometry(), const QgsSymbol *symbol = nullptr );
682
683#endif
684
688 void readXml( const QDomElement &elem, const QgsReadWriteContext &context );
689
693 QDomElement writeXml( QDomDocument &doc, const QgsReadWriteContext &context ) const;
694
699 QgsPropertyCollection &dataDefinedProperties() { return mDataDefinedProperties; }
700
707 const QgsPropertyCollection &dataDefinedProperties() const SIP_SKIP { return mDataDefinedProperties; }
708
715 void setDataDefinedProperties( const QgsPropertyCollection &collection ) { mDataDefinedProperties = collection; }
716
721 const QgsTextFormat &format() const { return mFormat; }
722
728 void setFormat( const QgsTextFormat &format ) { mFormat = format; }
729
738 QgsCallout *callout() const { return mCallout.get(); }
739
748 void setCallout( QgsCallout *callout SIP_TRANSFER );
749
758 const QgsLabelLineSettings &lineSettings() const SIP_SKIP { return mLineSettings; }
759
767 QgsLabelLineSettings &lineSettings() { return mLineSettings; }
768
776 void setLineSettings( const QgsLabelLineSettings &settings ) { mLineSettings = settings; }
777
787 const QgsLabelPointSettings &pointSettings() const SIP_SKIP { return mPointSettings; }
788
797 QgsLabelPointSettings &pointSettings() { return mPointSettings; }
798
807 void setPointSettings( const QgsLabelPointSettings &settings ) { mPointSettings = settings; }
808
815 const QgsLabelObstacleSettings &obstacleSettings() const SIP_SKIP { return mObstacleSettings; }
816
822 QgsLabelObstacleSettings &obstacleSettings() { return mObstacleSettings; }
823
829 void setObstacleSettings( const QgsLabelObstacleSettings &settings ) { mObstacleSettings = settings; }
830
837 const QgsLabelThinningSettings &thinningSettings() const SIP_SKIP { return mThinningSettings; }
838
844 QgsLabelThinningSettings &thinningSettings() { return mThinningSettings; }
845
851 void setThinningSettings( const QgsLabelThinningSettings &settings ) { mThinningSettings = settings; }
852
859 const QgsLabelPlacementSettings &placementSettings() const SIP_SKIP { return mPlacementSettings; }
860
866 QgsLabelPlacementSettings &placementSettings() { return mPlacementSettings; }
867
873 void setPlacementSettings( const QgsLabelPlacementSettings &settings ) { mPlacementSettings = settings; }
874
884 static QPixmap labelSettingsPreviewPixmap( const QgsPalLayerSettings &settings, QSize size, const QString &previewText = QString(), int padding = 0, const QgsScreenProperties &screen = QgsScreenProperties() );
885
892 Qgis::UnplacedLabelVisibility unplacedVisibility() const;
893
900 void setUnplacedVisibility( Qgis::UnplacedLabelVisibility visibility );
901
902 // temporary stuff: set when layer gets prepared or labeled
903 const QgsFeature *mCurFeat = nullptr;
905 int fieldIndex = 0;
906 const QgsMapToPixel *xform = nullptr;
908
912 int mFeaturesToLabel = 0; // total features that will probably be labeled, may be less (figured before PAL)
913 int mFeatsSendingToPal = 0; // total features tested for sending into PAL (relative to maxNumLabels)
914 int mFeatsRegPal = 0; // number of features registered in PAL, when using limitNumLabels
915
916 private:
917
918 friend class QgsVectorLayer; // to allow calling readFromLayerCustomProperties()
919
923 void readFromLayerCustomProperties( QgsVectorLayer *layer );
924
928 void readOldDataDefinedPropertyMap( QgsVectorLayer *layer, QDomElement *parentElem );
929
933 void readOldDataDefinedProperty( QgsVectorLayer *layer, QgsPalLayerSettings::Property p );
934
942 void calculateLabelSize( const QFontMetricsF &fm, const QString &text, QgsRenderContext &context,
943 const QgsTextFormat &format,
944 QgsTextDocument *document,
945 QgsTextDocumentMetrics *documentMetrics,
946 QSizeF &size, QSizeF &rotatedSize,
947 QRectF &outerBounds );
948
949
950 enum DataDefinedValueType
951 {
952 DDBool,
953 DDInt,
954 DDIntPos,
955 DDDouble,
956 DDDoublePos,
957 DDRotation180,
958 DDOpacity,
959 DDString,
960 DDUnits,
961 DDColor,
962 DDJoinStyle,
963 DDBlendMode,
964 DDPointF,
965 DDSizeF,
966 };
967
968 // convenience data defined evaluation function
969 bool dataDefinedValEval( DataDefinedValueType valType,
971 QVariant &exprVal, QgsExpressionContext &context, const QVariant &originalValue = QVariant() );
972
973 void parseTextStyle( QFont &labelFont,
974 Qgis::RenderUnit fontunits,
975 QgsRenderContext &context );
976
977 void parseTextBuffer( QgsRenderContext &context );
978
979 void parseTextMask( QgsRenderContext &context );
980
981 void parseTextFormatting( QgsRenderContext &context );
982
983 void parseShapeBackground( QgsRenderContext &context );
984
985 void parseDropShadow( QgsRenderContext &context );
986
991 bool checkMinimumSizeMM( const QgsRenderContext &ct, const QgsGeometry &geom, double minSize ) const;
992
996 std::unique_ptr< QgsLabelFeature > registerObstacleFeature( const QgsFeature &f, QgsRenderContext &context, const QgsGeometry &obstacleGeometry = QgsGeometry() );
997
998 QMap<Property, QVariant> dataDefinedValues;
999
1001 QgsPropertyCollection mDataDefinedProperties;
1002
1003 std::unique_ptr<QgsExpression> expression;
1004
1005 std::unique_ptr< QFontDatabase > mFontDB;
1006
1007 QgsTextFormat mFormat;
1008
1009 std::unique_ptr< QgsCallout > mCallout;
1010
1011 QgsLabelPlacementSettings mPlacementSettings;
1012 QgsLabelLineSettings mLineSettings;
1013 QgsLabelPointSettings mPointSettings;
1014 QgsLabelObstacleSettings mObstacleSettings;
1015 QgsLabelThinningSettings mThinningSettings;
1016
1018
1019 QgsExpression mGeometryGeneratorExpression;
1020
1021 bool mRenderStarted = false;
1022
1023 QString mLegendString = QObject::tr( "Aa" );
1024
1026
1029
1030 static void initPropertyDefinitions();
1031};
1032
1033
1039class CORE_EXPORT QgsPalLabeling
1040{
1041 public:
1042
1046 static bool staticWillUseLayer( const QgsMapLayer *layer );
1047
1057 static QgsGeometry prepareGeometry( const QgsGeometry &geometry, QgsRenderContext &context, const QgsCoordinateTransform &ct, const QgsGeometry &clipGeometry = QgsGeometry(), bool mergeLines = false ) SIP_FACTORY;
1058
1068 static bool geometryRequiresPreparation( const QgsGeometry &geometry, QgsRenderContext &context, const QgsCoordinateTransform &ct, const QgsGeometry &clipGeometry = QgsGeometry(), bool mergeLines = false );
1069
1081 static QStringList splitToLines( const QString &text, const QString &wrapCharacter, int autoWrapLength = 0, bool useMaxLineLengthWhenAutoWrapping = true );
1082
1090 static QStringList splitToGraphemes( const QString &text );
1091
1092 private:
1094 static void dataDefinedTextStyle( QgsPalLayerSettings &tmpLyr,
1095 const QMap< QgsPalLayerSettings::Property, QVariant > &ddValues );
1096
1098 static void dataDefinedTextFormatting( QgsPalLayerSettings &tmpLyr,
1099 const QMap< QgsPalLayerSettings::Property, QVariant > &ddValues );
1100
1102 static void dataDefinedTextBuffer( QgsPalLayerSettings &tmpLyr,
1103 const QMap< QgsPalLayerSettings::Property, QVariant > &ddValues );
1104
1106 static void dataDefinedTextMask( QgsPalLayerSettings &tmpLyr,
1107 const QMap< QgsPalLayerSettings::Property, QVariant > &ddValues );
1108
1110 static void dataDefinedShapeBackground( QgsPalLayerSettings &tmpLyr,
1111 const QMap< QgsPalLayerSettings::Property, QVariant > &ddValues );
1112
1114 static void dataDefinedDropShadow( QgsPalLayerSettings &tmpLyr,
1115 const QMap< QgsPalLayerSettings::Property, QVariant > &ddValues );
1116
1117 friend class QgsVectorLayerLabelProvider; // to allow calling the static methods above
1118 friend class QgsDxfExport; // to allow calling the static methods above
1119
1127 static bool checkMinimumSizeMM( const QgsRenderContext &context, const QgsGeometry &geom, double minSize );
1128
1130};
1131
1132
1133#endif // QGSPALLABELING_H
AngleUnit
Units of angles.
Definition qgis.h:4984
@ Degrees
Degrees.
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
Definition qgis.h:1205
@ FromPoint
Offset distance applies from point geometry.
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
Definition qgis.h:1158
@ AroundPoint
Arranges candidates in a circle around a point (or centroid of a polygon). Applies to point or polygo...
@ AllowPlacementInsideOfPolygon
Labels can be placed inside a polygon feature.
QFlags< LabelPolygonPlacementFlag > LabelPolygonPlacementFlags
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1276
UnplacedLabelVisibility
Unplaced label visibility.
Definition qgis.h:1119
@ FollowEngineSetting
Respect the label engine setting.
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:337
@ Unknown
Unknown types.
LabelMultiLineAlignment
Text alignment for multi-line labels.
Definition qgis.h:1302
@ FollowPlacement
Alignment follows placement of label, e.g., labels to the left of a feature will be drawn with right ...
RenderUnit
Rendering size units.
Definition qgis.h:5029
@ Millimeters
Millimeters.
UpsideDownLabelHandling
Handling techniques for upside down labels.
Definition qgis.h:1287
@ FlipUpsideDownLabels
Upside-down labels (90 <= angle < 270) are shown upright.
Abstract base class for callout renderers.
Definition qgscallout.h:54
Represents a coordinate reference system (CRS).
Handles coordinate transforms between two coordinate systems.
Stores the settings for rendering of all diagrams for a layer.
Exports QGIS layers to the DXF format.
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Handles parsing and evaluation of expressions (formerly called "search strings").
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Definition qgsfeature.h:58
Container of fields for a vector layer.
Definition qgsfields.h:46
A geometry is the spatial representation of a feature.
Describes a feature that should be used within the labeling engine.
Contains settings related to how the label engine places and formats labels for line features (or pol...
Contains settings related to how the label engine treats features as obstacles.
Contains general settings related to how labels are placed.
Contains settings related to how the label engine places and formats labels for point-like features.
Queries the labeling structure at a given point.
Contains settings related to how the label engine removes candidate label positions and reduces the n...
Provides map labeling functionality.
Base class for all map layer types.
Definition qgsmaplayer.h:77
Contains configuration for rendering maps.
Perform transforms between map coordinates and device coordinates.
Struct for storing maximum and minimum scales for measurements in map units.
PAL labeling utilities.
Contains settings for how a map layer will be labeled.
QgsMapUnitScale labelOffsetMapUnitScale
Map unit scale for label offset.
const QgsLabelObstacleSettings & obstacleSettings() const
Returns the label obstacle settings.
void setObstacleSettings(const QgsLabelObstacleSettings &settings)
Sets the label obstacle settings.
const QgsPropertyCollection & dataDefinedProperties() const
Returns a reference to the label's property collection, used for data defined overrides.
const QgsLabelPlacementSettings & placementSettings() const
Returns the label placement settings.
void setFormat(const QgsTextFormat &format)
Sets the label text formatting settings, e.g., font settings, buffer settings, etc.
void setPolygonPlacementFlags(Qgis::LabelPolygonPlacementFlags flags)
Sets the polygon placement flags, which dictate how polygon labels can be placed.
QString wrapChar
Wrapping character string.
QgsCoordinateTransform ct
QString legendString() const
legendString
QgsLabelPointSettings & pointSettings()
Returns the label point settings, which contain settings related to how the label engine places and f...
void setLineSettings(const QgsLabelLineSettings &settings)
Sets the label line settings, which contain settings related to how the label engine places and forma...
QgsPropertyCollection & dataDefinedProperties()
Returns a reference to the label's property collection, used for data defined overrides.
QgsLabelLineSettings & lineSettings()
Returns the label line settings, which contain settings related to how the label engine places and fo...
QgsCallout * callout() const
Returns the label callout renderer, responsible for drawing label callouts.
const QgsLabelThinningSettings & thinningSettings() const
Returns the label thinning settings.
void setLegendString(const QString &legendString)
setLegendString
void setThinningSettings(const QgsLabelThinningSettings &settings)
Sets the label thinning settings.
void setDataDefinedProperties(const QgsPropertyCollection &collection)
Sets the label's property collection, used for data defined overrides.
void setPlacementSettings(const QgsLabelPlacementSettings &settings)
Sets the label placement settings.
QgsLabelThinningSettings & thinningSettings()
Returns the label thinning settings.
QString geometryGenerator
The geometry generator expression. Null if disabled.
const QgsLabelLineSettings & lineSettings() const
Returns the label line settings, which contain settings related to how the label engine places and fo...
QgsMapUnitScale distMapUnitScale
Map unit scale for label feature distance.
QgsStringReplacementCollection substitutions
Substitution collection for automatic text substitution with labels.
QgsMapUnitScale repeatDistanceMapUnitScale
Map unit scale for repeating labels for a single feature.
Property
Data definable properties.
QString fieldName
Name of field (or an expression) to use for label text.
void setPointSettings(const QgsLabelPointSettings &settings)
Sets the label point settings, which contain settings related to how the label engine places and form...
const QgsTextFormat & format() const
Returns the label text formatting settings, e.g., font settings, buffer settings, etc.
QgsLabelPlacementSettings & placementSettings()
Returns the label placement settings.
const QgsLabelPointSettings & pointSettings() const
Returns the label point settings, which contain settings related to how the label engine places and f...
Qgis::LabelPolygonPlacementFlags polygonPlacementFlags() const
Returns the polygon placement flags, which dictate how polygon labels can be placed.
QgsLabelObstacleSettings & obstacleSettings()
Returns the label obstacle settings.
Represents a 2D point.
Definition qgspointxy.h:60
A grouped map of multiple QgsProperty objects, each referenced by an integer key value.
A container for the context for various read/write operations on objects.
A rectangle specified with double values.
Contains information about the context of a rendering operation.
Stores properties relating to a screen.
A collection of string replacements (specified using QgsStringReplacement objects).
Abstract base class for all rendered symbols.
Definition qgssymbol.h:231
Contains pre-calculated metrics of a QgsTextDocument.
Represents a document consisting of one or more QgsTextBlock objects.
Container for all settings relating to text rendering.
Adds extra information to QgsLabelFeature for text labels.
Implements support for diagrams within the labeling engine.
Implements a label provider for vector layers.
Represents a vector layer which manages a vector based dataset.
#define SIP_DEPRECATED
Definition qgis_sip.h:106
#define SIP_SKIP
Definition qgis_sip.h:126
#define SIP_MONKEYPATCH_SCOPEENUM_UNNEST(OUTSIDE_CLASS, FORMERNAME)
Definition qgis_sip.h:271
#define SIP_TRANSFER
Definition qgis_sip.h:36
#define SIP_OUT
Definition qgis_sip.h:58
#define SIP_FACTORY
Definition qgis_sip.h:76
#define SIP_INOUT
Definition qgis_sip.h:71
QMap< int, QgsPropertyDefinition > QgsPropertiesDefinition
Definition of available properties.
const QgsCoordinateReferenceSystem & crs