QGIS API Documentation 3.99.0-Master (26c88405ac0)
Loading...
Searching...
No Matches
qgssymbol.h
Go to the documentation of this file.
1/***************************************************************************
2 qgssymbol.h
3 ---------------------
4 begin : November 2009
5 copyright : (C) 2009 by Martin Dobias
6 email : wonder dot sk at gmail dot com
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15
16#ifndef QGSSYMBOL_H
17#define QGSSYMBOL_H
18
19#include "qgis.h"
20#include "qgis_core.h"
22#include "qgsrendercontext.h"
23#include "qgsscreenproperties.h"
24
25class QgsSymbolLayer;
29
30typedef QList<QgsSymbolLayer *> QgsSymbolLayerList;
31
41{
42 public:
43
53 void setIsAnimated( bool animated ) { mIsAnimated = animated; }
54
64 bool isAnimated() const { return mIsAnimated; }
65
71 void setFrameRate( double rate ) { mFrameRate = rate; }
72
78 double frameRate() const { return mFrameRate; }
79
80 private:
81
82 bool mIsAnimated = false;
83 double mFrameRate = 10;
84
85};
86
87
96class CORE_EXPORT QgsSymbolBufferSettings
97{
98 public:
99
102
105
110 bool enabled() const { return mEnabled; }
111
116 void setEnabled( bool enabled ) { mEnabled = enabled; }
117
123 double size() const { return mSize; }
124
133 void setSize( double size ) { mSize = size; }
134
141 Qgis::RenderUnit sizeUnit() const { return mSizeUnit; }
142
149 void setSizeUnit( Qgis::RenderUnit unit ) { mSizeUnit = unit; }
150
158 QgsMapUnitScale sizeMapUnitScale() const { return mSizeMapUnitScale; }
159
168 void setSizeMapUnitScale( const QgsMapUnitScale &scale ) { mSizeMapUnitScale = scale; }
169
174 Qt::PenJoinStyle joinStyle() const { return mJoinStyle; }
175
180 void setJoinStyle( Qt::PenJoinStyle style ) { mJoinStyle = style; }
181
189 QgsFillSymbol *fillSymbol() const;
190
197 void setFillSymbol( QgsFillSymbol *symbol SIP_TRANSFER );
198
199
205 void writeXml( QDomElement &element, const QgsReadWriteContext &context ) const;
206
212 void readXml( const QDomElement &element, const QgsReadWriteContext &context );
213
214 private:
215 bool mEnabled = false;
216 double mSize = 1;
218 QgsMapUnitScale mSizeMapUnitScale;
219 Qt::PenJoinStyle mJoinStyle = Qt::RoundJoin;
220 std::unique_ptr< QgsFillSymbol > mFillSymbol;
221};
222
223
230class CORE_EXPORT QgsSymbol
231{
232
233#ifdef SIP_RUN
235 switch ( sipCpp->type() )
236 {
237 case Qgis::SymbolType::Marker: sipType = sipType_QgsMarkerSymbol; break;
238 case Qgis::SymbolType::Line: sipType = sipType_QgsLineSymbol; break;
239 case Qgis::SymbolType::Fill: sipType = sipType_QgsFillSymbol; break;
240 default: sipType = 0; break;
241 }
242 SIP_END
243#endif
244
245 friend class QgsFeatureRenderer;
246
247 public:
248
254 static QString symbolTypeToString( Qgis::SymbolType type );
255
262
263 // *INDENT-OFF*
264
270 {
271 Opacity SIP_MONKEYPATCH_COMPAT_NAME( PropertyOpacity ),
272 ExtentBuffer,
273 };
274 // *INDENT-ON*
275
280 static const QgsPropertiesDefinition &propertyDefinitions();
281
282 virtual ~QgsSymbol();
283
289 static QgsSymbol *defaultSymbol( Qgis::GeometryType geomType ) SIP_FACTORY;
290
294 Qgis::SymbolType type() const { return mType; }
295
296 // symbol layers handling
297
305
306#ifndef SIP_RUN
307
313 QgsSymbolLayer *symbolLayer( int layer );
314
321 const QgsSymbolLayer *symbolLayer( int layer ) const;
322#else
323
332 SIP_PYOBJECT symbolLayer( int layer ) SIP_TYPEHINT( QgsSymbolLayer );
333 % MethodCode
334 const int count = sipCpp->symbolLayerCount();
335 if ( a0 < 0 || a0 >= count )
336 {
337 PyErr_SetString( PyExc_IndexError, QByteArray::number( a0 ) );
338 sipIsErr = 1;
339 }
340 else
341 {
342 sipRes = sipConvertFromType( sipCpp->symbolLayer( a0 ), sipType_QgsSymbolLayer, NULL );
343 }
344 % End
345#endif
346
353 int symbolLayerCount() const { return mLayers.count(); }
354
355#ifdef SIP_RUN
356
360 int __len__() const;
361 % MethodCode
362 sipRes = sipCpp->symbolLayerCount();
363 % End
364
366 int __bool__() const;
367 % MethodCode
368 sipRes = true;
369 % End
370
381 SIP_PYOBJECT __getitem__( int index ) SIP_TYPEHINT( QgsSymbolLayer );
382 % MethodCode
383 const int count = sipCpp->symbolLayerCount();
384 if ( a0 < -count || a0 >= count )
385 {
386 PyErr_SetString( PyExc_IndexError, QByteArray::number( a0 ) );
387 sipIsErr = 1;
388 }
389 else if ( a0 >= 0 )
390 {
391 return sipConvertFromType( sipCpp->symbolLayer( a0 ), sipType_QgsSymbolLayer, NULL );
392 }
393 else
394 {
395 return sipConvertFromType( sipCpp->symbolLayer( count + a0 ), sipType_QgsSymbolLayer, NULL );
396 }
397 % End
398
409 void __delitem__( int index );
410 % MethodCode
411 const int count = sipCpp->symbolLayerCount();
412 if ( a0 >= 0 && a0 < count )
413 sipCpp->deleteSymbolLayer( a0 );
414 else if ( a0 < 0 && a0 >= -count )
415 sipCpp->deleteSymbolLayer( count + a0 );
416 else
417 {
418 PyErr_SetString( PyExc_IndexError, QByteArray::number( a0 ) );
419 sipIsErr = 1;
420 }
421 % End
422#endif
423
431 bool insertSymbolLayer( int index, QgsSymbolLayer *layer SIP_TRANSFER );
432
439 bool appendSymbolLayer( QgsSymbolLayer *layer SIP_TRANSFER );
440
444 bool deleteSymbolLayer( int index );
445
452 QgsSymbolLayer *takeSymbolLayer( int index ) SIP_TRANSFERBACK;
453
461 bool changeSymbolLayer( int index, QgsSymbolLayer *layer SIP_TRANSFER );
462
472 void startRender( QgsRenderContext &context, const QgsFields &fields = QgsFields() );
473
480 void stopRender( QgsRenderContext &context );
481
492 void setColor( const QColor &color ) const;
493
502 QColor color() const;
503
520 void drawPreviewIcon( QPainter *painter, QSize size, QgsRenderContext *customContext = nullptr, bool selected = false, const QgsExpressionContext *expressionContext = nullptr,
521 const QgsLegendPatchShape *patchShape = nullptr, const QgsScreenProperties &screen = QgsScreenProperties() );
522
532 void exportImage( const QString &path, const QString &format, QSize size );
533
543 QImage asImage( QSize size, QgsRenderContext *customContext = nullptr );
544
556 QImage bigSymbolPreviewImage( QgsExpressionContext *expressionContext = nullptr, Qgis::SymbolPreviewFlags flags = Qgis::SymbolPreviewFlag::FlagIncludeCrosshairsForMarkerSymbols, const QgsScreenProperties &screen = QgsScreenProperties() ) SIP_PYNAME( bigSymbolPreviewImageV2 );
557
561 Q_DECL_DEPRECATED QImage bigSymbolPreviewImage( QgsExpressionContext *expressionContext = nullptr, int flags = static_cast< int >( Qgis::SymbolPreviewFlag::FlagIncludeCrosshairsForMarkerSymbols ) ) SIP_DEPRECATED;
562
566 QString dump() const;
567
581 bool rendersIdenticallyTo( const QgsSymbol *other ) const;
582
588 virtual QgsSymbol *clone() const = 0 SIP_FACTORY;
589
595 Q_DECL_DEPRECATED void toSld( QDomDocument &doc, QDomElement &element, QVariantMap props ) const SIP_DEPRECATED;
596
604 bool toSld( QDomDocument &doc, QDomElement &element, QgsSldExportContext &context ) const;
605
614 Qgis::RenderUnit outputUnit() const;
615
621 bool usesMapUnits() const;
622
631 void setOutputUnit( Qgis::RenderUnit unit ) const;
632
643
652 void setMapUnitScale( const QgsMapUnitScale &scale ) const;
653
659 qreal opacity() const { return mOpacity; }
660
666 void setOpacity( qreal opacity ) { mOpacity = opacity; }
667
673
678 Qgis::SymbolRenderHints renderHints() const;
679
687
694 Qgis::SymbolFlags flags() const;
695
705
715
725 void setForceRHR( bool force ) { mForceRHR = force; }
726
736 bool forceRHR() const { return mForceRHR; }
737
746 QgsSymbolBufferSettings *bufferSettings();
747
756 const QgsSymbolBufferSettings *bufferSettings() const SIP_SKIP;
757
766 void setBufferSettings( QgsSymbolBufferSettings *settings SIP_TRANSFER );
767
774 QgsSymbolAnimationSettings &animationSettings();
775
782 const QgsSymbolAnimationSettings &animationSettings() const SIP_SKIP;
783
790 void setAnimationSettings( const QgsSymbolAnimationSettings &settings );
791
797 QSet<QString> usedAttributes( const QgsRenderContext &context ) const;
798
806 void setDataDefinedProperty( Property key, const QgsProperty &property );
807
814 QgsPropertyCollection &dataDefinedProperties() { return mDataDefinedProperties; }
815
821 const QgsPropertyCollection &dataDefinedProperties() const SIP_SKIP { return mDataDefinedProperties; }
822
829 void setDataDefinedProperties( const QgsPropertyCollection &collection ) { mDataDefinedProperties = collection; }
830
834 bool hasDataDefinedProperties() const;
835
845 bool canCauseArtifactsBetweenAdjacentTiles() const;
846
853 Q_DECL_DEPRECATED void setLayer( const QgsVectorLayer *layer ) SIP_DEPRECATED;
854
858 Q_DECL_DEPRECATED const QgsVectorLayer *layer() const SIP_DEPRECATED;
859
864 void renderFeature( const QgsFeature &feature, QgsRenderContext &context, int layer = -1, bool selected = false, bool drawVertexMarker = false, Qgis::VertexMarkerType currentVertexMarkerType = Qgis::VertexMarkerType::SemiTransparentCircle, double currentVertexMarkerSize = 0.0 ) SIP_THROW( QgsCsException );
865
871 QgsSymbolRenderContext *symbolRenderContext();
872
884 void startFeatureRender( const QgsFeature &feature, QgsRenderContext &context, int layer = -1 );
885
897 void stopFeatureRender( const QgsFeature &feature, QgsRenderContext &context, int layer = -1 );
898
905 double extentBuffer() const;
906
916 void setExtentBuffer( double extentBuffer );
917
925 Qgis::RenderUnit extentBufferSizeUnit() const { return mExtentBufferSizeUnit; }
926
935
936 protected:
937
943 QgsSymbol( Qgis::SymbolType type, const QgsSymbolLayerList &layers SIP_TRANSFER ); // can't be instantiated
944
948 static inline QPointF _getPoint( QgsRenderContext &context, const QgsPoint &point )
949 {
950 QPointF pt;
951 if ( context.coordinateTransform().isValid() )
952 {
953 double x = point.x();
954 double y = point.y();
955 double z = 0.0;
956 context.coordinateTransform().transformInPlace( x, y, z );
957 pt = QPointF( x, y );
958
959 }
960 else
961 pt = point.toQPointF();
962
963 context.mapToPixel().transformInPlace( pt.rx(), pt.ry() );
964 return pt;
965 }
966
970 static QPolygonF _getLineString( QgsRenderContext &context, const QgsCurve &curve, bool clipToExtent = true );
971
978 static QPolygonF _getPolygonRing( QgsRenderContext &context, const QgsCurve &curve, bool clipToExtent, bool isExteriorRing = false, bool correctRingOrientation = false );
979
987 static void _getPolygon( QPolygonF &pts, QVector<QPolygonF> &holes, QgsRenderContext &context, const QgsPolygon &polygon, bool clipToExtent = true, bool correctRingOrientation = false );
988
993 QgsSymbolLayerList cloneLayers() const SIP_FACTORY;
994
1000 void copyCommonProperties( const QgsSymbol *other );
1001
1014 void renderUsingLayer( QgsSymbolLayer *layer, QgsSymbolRenderContext &context, Qgis::GeometryType geometryType = Qgis::GeometryType::Unknown, const QPolygonF *points = nullptr, const QVector<QPolygonF> *rings = nullptr );
1015
1019 void renderVertexMarker( QPointF pt, QgsRenderContext &context, Qgis::VertexMarkerType currentVertexMarkerType, double currentVertexMarkerSize );
1020
1021 Qgis::SymbolType mType;
1023
1024 double mExtentBuffer = 0;
1025 Qgis::RenderUnit mExtentBufferSizeUnit = Qgis::RenderUnit::MapUnits;
1026
1028 qreal mOpacity = 1.0;
1029
1030 Qgis::SymbolRenderHints mRenderHints;
1031
1037 Qgis::SymbolFlags mSymbolFlags = Qgis::SymbolFlags();
1038
1040 bool mForceRHR = false;
1041
1044
1045 Q_DECL_DEPRECATED const QgsVectorLayer *mLayer = nullptr; //current vectorlayer
1046
1047 private:
1048#ifdef SIP_RUN
1049 QgsSymbol( const QgsSymbol & );
1050#endif
1051
1052 static void initPropertyDefinitions();
1053
1055 static QgsPropertiesDefinition sPropertyDefinitions;
1056
1061 bool mStarted = false;
1062
1064 std::unique_ptr< QgsSymbolRenderContext > mSymbolRenderContext;
1065
1066 QgsPropertyCollection mDataDefinedProperties;
1067
1071 static QPolygonF _getLineString2d( QgsRenderContext &context, const QgsCurve &curve, bool clipToExtent = true );
1072
1076 static QPolygonF _getLineString3d( QgsRenderContext &context, const QgsCurve &curve, bool clipToExtent = true );
1077
1084 static QPolygonF _getPolygonRing2d( QgsRenderContext &context, const QgsCurve &curve, bool clipToExtent, bool isExteriorRing = false, bool correctRingOrientation = false );
1085
1092 static QPolygonF _getPolygonRing3d( QgsRenderContext &context, const QgsCurve &curve, bool clipToExtent, bool isExteriorRing = false, bool correctRingOrientation = false );
1093
1094 Q_DISABLE_COPY( QgsSymbol )
1095
1096};
1097
1098#endif
Provides global constants and enumerations for use throughout the application.
Definition qgis.h:56
QFlags< SymbolPreviewFlag > SymbolPreviewFlags
Symbol preview flags.
Definition qgis.h:867
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:358
RenderUnit
Rendering size units.
Definition qgis.h:5183
@ Millimeters
Millimeters.
Definition qgis.h:5184
@ FlagIncludeCrosshairsForMarkerSymbols
Include a crosshairs reference image in the background of marker symbol previews.
Definition qgis.h:863
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
Definition qgis.h:777
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
Definition qgis.h:853
SymbolType
Symbol types.
Definition qgis.h:610
@ Marker
Marker symbol.
Definition qgis.h:611
@ Line
Line symbol.
Definition qgis.h:612
@ Fill
Fill symbol.
Definition qgis.h:613
void transformInPlace(double &x, double &y, double &z, Qgis::TransformDirection direction=Qgis::TransformDirection::Forward) const
Transforms an array of x, y and z double coordinates in place, from the source CRS to the destination...
bool isValid() const
Returns true if the coordinate transform is valid, ie both the source and destination CRS have been s...
Custom exception class for Coordinate Reference System related exceptions.
Abstract base class for curved geometry type.
Definition qgscurve.h:36
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Definition qgsfeature.h:58
A fill symbol type, for rendering Polygon and MultiPolygon geometries.
Represents a patch shape for use in map legends.
Abstract base class for line symbol layers.
void transformInPlace(double &x, double &y) const
Transforms map coordinates to device coordinates.
Struct for storing maximum and minimum scales for measurements in map units.
Point geometry type, with support for z-dimension and m-values.
Definition qgspoint.h:49
QPointF toQPointF() const
Returns the point as a QPointF.
Definition qgspoint.h:376
double x
Definition qgspoint.h:52
double y
Definition qgspoint.h:53
Polygon geometry type.
Definition qgspolygon.h:33
A grouped map of multiple QgsProperty objects, each referenced by an integer key value.
A store for object properties.
A container for the context for various read/write operations on objects.
Contains information about the context of a rendering operation.
const QgsMapToPixel & mapToPixel() const
Returns the context's map to pixel transform, which transforms between map coordinates and device coo...
QgsCoordinateTransform coordinateTransform() const
Returns the current coordinate transform for the context.
Holds SLD export options and other information related to SLD export of a QGIS layer style.
Contains settings relating to symbol animation.
Definition qgssymbol.h:41
bool isAnimated() const
Returns true if the symbol is animated.
Definition qgssymbol.h:64
void setIsAnimated(bool animated)
Sets whether the symbol is animated.
Definition qgssymbol.h:53
void setFrameRate(double rate)
Sets the symbol animation frame rate (in frames per second).
Definition qgssymbol.h:71
double frameRate() const
Returns the symbol animation frame rate (in frames per second).
Definition qgssymbol.h:78
Contains settings relating to symbol buffers, which draw a "halo" effect around the symbol.
Definition qgssymbol.h:97
void setEnabled(bool enabled)
Sets whether the symbol buffer will be drawn.
Definition qgssymbol.h:116
void setSizeMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale object for the buffer size.
Definition qgssymbol.h:168
bool enabled() const
Returns whether the buffer is enabled.
Definition qgssymbol.h:110
QgsMapUnitScale sizeMapUnitScale() const
Returns the map unit scale object for the buffer size.
Definition qgssymbol.h:158
void setSize(double size)
Sets the size of the buffer.
Definition qgssymbol.h:133
void setJoinStyle(Qt::PenJoinStyle style)
Sets the join style used for drawing the buffer.
Definition qgssymbol.h:180
void setSizeUnit(Qgis::RenderUnit unit)
Sets the unit used for the buffer size.
Definition qgssymbol.h:149
QgsSymbolBufferSettings & operator=(const QgsSymbolBufferSettings &)
Definition qgssymbol.cpp:89
Qt::PenJoinStyle joinStyle() const
Returns the buffer join style.
Definition qgssymbol.h:174
Qgis::RenderUnit sizeUnit() const
Returns the units for the buffer size.
Definition qgssymbol.h:141
double size() const
Returns the size of the buffer.
Definition qgssymbol.h:123
Abstract base class for symbol layers.
Encapsulates the context in which a symbol is being rendered.
Abstract base class for all rendered symbols.
Definition qgssymbol.h:231
void setDataDefinedProperties(const QgsPropertyCollection &collection)
Sets the symbol's property collection, used for data defined overrides.
Definition qgssymbol.h:829
Qgis::SymbolFlags mSymbolFlags
Symbol flags.
Definition qgssymbol.h:1037
void setOutputUnit(Qgis::RenderUnit unit) const
Sets the units to use for sizes and widths within the symbol.
Property
Data definable properties.
Definition qgssymbol.h:270
void setRenderHints(Qgis::SymbolRenderHints hints)
Sets rendering hint flags for the symbol.
Definition qgssymbol.h:672
QgsPropertyCollection & dataDefinedProperties()
Returns a reference to the symbol's property collection, used for data defined overrides.
Definition qgssymbol.h:814
qreal mOpacity
Symbol opacity (in the range 0 - 1).
Definition qgssymbol.h:1028
Q_DECL_DEPRECATED const QgsVectorLayer * mLayer
Definition qgssymbol.h:1045
static QPointF _getPoint(QgsRenderContext &context, const QgsPoint &point)
Creates a point in screen coordinates from a QgsPoint in map coordinates.
Definition qgssymbol.h:948
bool mClipFeaturesToExtent
Definition qgssymbol.h:1039
bool usesMapUnits() const
Returns true if the symbol has any components which use map unit based sizes.
friend class QgsFeatureRenderer
Definition qgssymbol.h:245
Qgis::SymbolFlags flags() const
Returns flags for the symbol.
Q_DECL_DEPRECATED void toSld(QDomDocument &doc, QDomElement &element, QVariantMap props) const
Converts the symbol to a SLD representation.
QgsMapUnitScale mapUnitScale() const
Returns the map unit scale for the symbol.
static QString symbolTypeToString(Qgis::SymbolType type)
Returns a translated string version of the specified symbol type.
qreal opacity() const
Returns the opacity for the symbol.
Definition qgssymbol.h:659
static Qgis::SymbolType symbolTypeForGeometryType(Qgis::GeometryType type)
Returns the default symbol type required for the specified geometry type.
void setMapUnitScale(const QgsMapUnitScale &scale) const
Sets the map unit scale for the symbol.
bool clipFeaturesToExtent() const
Returns whether features drawn by the symbol will be clipped to the render context's extent.
Definition qgssymbol.h:714
void setFlags(Qgis::SymbolFlags flags)
Sets flags for the symbol.
Definition qgssymbol.h:686
Qgis::RenderUnit mExtentBufferSizeUnit
Definition qgssymbol.h:1025
void setExtentBufferSizeUnit(Qgis::RenderUnit unit)
Sets the unit used for the extent buffer.
Definition qgssymbol.h:934
std::unique_ptr< QgsSymbolBufferSettings > mBufferSettings
Definition qgssymbol.h:1042
Qgis::SymbolType mType
Definition qgssymbol.h:1021
QgsSymbolLayerList symbolLayers() const
Returns the list of symbol layers contained in the symbol.
Definition qgssymbol.h:304
void setOpacity(qreal opacity)
Sets the opacity for the symbol.
Definition qgssymbol.h:666
Qgis::RenderUnit extentBufferSizeUnit() const
Returns the units for the buffer size.
Definition qgssymbol.h:925
Qgis::SymbolRenderHints mRenderHints
Definition qgssymbol.h:1030
virtual QgsSymbol * clone() const =0
Returns a deep copy of this symbol.
bool mForceRHR
Definition qgssymbol.h:1040
int symbolLayerCount() const
Returns the total number of symbol layers contained in the symbol.
Definition qgssymbol.h:353
QgsSymbolLayerList mLayers
Definition qgssymbol.h:1022
QgsSymbolAnimationSettings mAnimationSettings
Definition qgssymbol.h:1043
Qgis::RenderUnit outputUnit() const
Returns the units to use for sizes and widths within the symbol.
Qgis::SymbolType type() const
Returns the symbol's type.
Definition qgssymbol.h:294
const QgsPropertyCollection & dataDefinedProperties() const
Returns a reference to the symbol's property collection, used for data defined overrides.
Definition qgssymbol.h:821
QgsSymbol(Qgis::SymbolType type, const QgsSymbolLayerList &layers)
Constructor for a QgsSymbol of the specified type.
bool forceRHR() const
Returns true if polygon features drawn by the symbol will be reoriented to follow the standard right-...
Definition qgssymbol.h:736
void setClipFeaturesToExtent(bool clipFeaturesToExtent)
Sets whether features drawn by the symbol should be clipped to the render context's extent.
Definition qgssymbol.h:704
double mExtentBuffer
Definition qgssymbol.h:1024
void setForceRHR(bool force)
Sets whether polygon features drawn by the symbol should be reoriented to follow the standard right-h...
Definition qgssymbol.h:725
Represents a vector layer which manages a vector based dataset.
#define SIP_TYPEHINT(type)
Definition qgis_sip.h:240
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Definition qgis_sip.h:199
#define SIP_DEPRECATED
Definition qgis_sip.h:114
#define SIP_SKIP
Definition qgis_sip.h:134
#define SIP_MONKEYPATCH_SCOPEENUM_UNNEST(OUTSIDE_CLASS, FORMERNAME)
Definition qgis_sip.h:268
#define SIP_PYNAME(name)
Definition qgis_sip.h:89
#define SIP_TRANSFER
Definition qgis_sip.h:36
#define SIP_TRANSFERBACK
Definition qgis_sip.h:48
#define SIP_FACTORY
Definition qgis_sip.h:84
#define SIP_THROW(name,...)
Definition qgis_sip.h:211
#define SIP_END
Definition qgis_sip.h:216
#define SIP_MONKEYPATCH_COMPAT_NAME(FORMERNAME)
Definition qgis_sip.h:270
QMap< int, QgsPropertyDefinition > QgsPropertiesDefinition
Definition of available properties.
QList< QgsSymbolLayer * > QgsSymbolLayerList
Definition qgssymbol.h:30