QGIS API Documentation 4.1.0-Master (60fea48833c)
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:
52 void setIsAnimated( bool animated ) { mIsAnimated = animated; }
53
63 bool isAnimated() const { return mIsAnimated; }
64
70 void setFrameRate( double rate ) { mFrameRate = rate; }
71
77 double frameRate() const { return mFrameRate; }
78
79 private:
80 bool mIsAnimated = false;
81 double mFrameRate = 10;
82};
83
84
93class CORE_EXPORT QgsSymbolBufferSettings
94{
95 public:
98
101
106 bool enabled() const { return mEnabled; }
107
112 void setEnabled( bool enabled ) { mEnabled = enabled; }
113
119 double size() const { return mSize; }
120
129 void setSize( double size ) { mSize = size; }
130
137 Qgis::RenderUnit sizeUnit() const { return mSizeUnit; }
138
145 void setSizeUnit( Qgis::RenderUnit unit ) { mSizeUnit = unit; }
146
154 QgsMapUnitScale sizeMapUnitScale() const { return mSizeMapUnitScale; }
155
164 void setSizeMapUnitScale( const QgsMapUnitScale &scale ) { mSizeMapUnitScale = scale; }
165
170 Qt::PenJoinStyle joinStyle() const { return mJoinStyle; }
171
176 void setJoinStyle( Qt::PenJoinStyle style ) { mJoinStyle = style; }
177
185 QgsFillSymbol *fillSymbol() const;
186
193 void setFillSymbol( QgsFillSymbol *symbol SIP_TRANSFER );
194
195
201 void writeXml( QDomElement &element, const QgsReadWriteContext &context ) const;
202
208 void readXml( const QDomElement &element, const QgsReadWriteContext &context );
209
210 private:
211 bool mEnabled = false;
212 double mSize = 1;
214 QgsMapUnitScale mSizeMapUnitScale;
215 Qt::PenJoinStyle mJoinStyle = Qt::RoundJoin;
216 std::unique_ptr< QgsFillSymbol > mFillSymbol;
217};
218
219
226class CORE_EXPORT QgsSymbol
227{
228#ifdef SIP_RUN
230 switch ( sipCpp->type() )
231 {
233 sipType = sipType_QgsMarkerSymbol;
234 break;
236 sipType = sipType_QgsLineSymbol;
237 break;
239 sipType = sipType_QgsFillSymbol;
240 break;
241 default:
242 sipType = 0;
243 break;
244 }
245 SIP_END
246#endif
247
248 friend class QgsFeatureRenderer;
249
250 public:
256 static QString symbolTypeToString( Qgis::SymbolType type );
257
264
265 // *INDENT-OFF*
266
272 {
273 Opacity SIP_MONKEYPATCH_COMPAT_NAME( PropertyOpacity ),
274 ExtentBuffer,
275 };
276 // *INDENT-ON*
277
282 static const QgsPropertiesDefinition &propertyDefinitions();
283
284 virtual ~QgsSymbol();
285
291 static QgsSymbol *defaultSymbol( Qgis::GeometryType geomType ) SIP_FACTORY;
292
296 Qgis::SymbolType type() const { return mType; }
297
298 // symbol layers handling
299
307
308#ifndef SIP_RUN
309
315 QgsSymbolLayer *symbolLayer( int layer );
316
323 const QgsSymbolLayer *symbolLayer( int layer ) const;
324#else
325 // clang-format off
326
335 SIP_PYOBJECT symbolLayer( int layer ) SIP_TYPEHINT( QgsSymbolLayer );
336 % MethodCode
337 const int count = sipCpp->symbolLayerCount();
338 if ( a0 < 0 || a0 >= count )
339 {
340 PyErr_SetString( PyExc_IndexError, QByteArray::number( a0 ) );
341 sipIsErr = 1;
342 }
343 else
344 {
345 sipRes = sipConvertFromType( sipCpp->symbolLayer( a0 ), sipType_QgsSymbolLayer, NULL );
346 }
347 % End
348// clang-format on
349#endif
350
357 int symbolLayerCount() const { return mLayers.count(); }
358
359#ifdef SIP_RUN
360 // clang-format off
361
365 int __len__() const;
366 % MethodCode
367 sipRes = sipCpp->symbolLayerCount();
368 % End
369
371 int __bool__() const;
372 % MethodCode
373 sipRes = true;
374 % End
375
386 SIP_PYOBJECT __getitem__( int index ) SIP_TYPEHINT( QgsSymbolLayer );
387 % MethodCode
388 const int count = sipCpp->symbolLayerCount();
389 if ( a0 < -count || a0 >= count )
390 {
391 PyErr_SetString( PyExc_IndexError, QByteArray::number( a0 ) );
392 sipIsErr = 1;
393 }
394 else if ( a0 >= 0 )
395 {
396 return sipConvertFromType( sipCpp->symbolLayer( a0 ), sipType_QgsSymbolLayer, NULL );
397 }
398 else
399 {
400 return sipConvertFromType( sipCpp->symbolLayer( count + a0 ), sipType_QgsSymbolLayer, NULL );
401 }
402 % End
403
414 void __delitem__( int index );
415 % MethodCode
416 const int count = sipCpp->symbolLayerCount();
417 if ( a0 >= 0 && a0 < count )
418 sipCpp->deleteSymbolLayer( a0 );
419 else if ( a0 < 0 && a0 >= -count )
420 sipCpp->deleteSymbolLayer( count + a0 );
421 else
422 {
423 PyErr_SetString( PyExc_IndexError, QByteArray::number( a0 ) );
424 sipIsErr = 1;
425 }
426 % End
427// clang-format on
428#endif
429
437 bool insertSymbolLayer( int index, QgsSymbolLayer *layer SIP_TRANSFER );
438
445 bool appendSymbolLayer( QgsSymbolLayer *layer SIP_TRANSFER );
446
450 bool deleteSymbolLayer( int index );
451
458 QgsSymbolLayer *takeSymbolLayer( int index ) SIP_TRANSFERBACK;
459
467 bool changeSymbolLayer( int index, QgsSymbolLayer *layer SIP_TRANSFER );
468
478 void startRender( QgsRenderContext &context, const QgsFields &fields = QgsFields() );
479
486 void stopRender( QgsRenderContext &context );
487
498 void setColor( const QColor &color ) const;
499
508 QColor color() const;
509
526 void drawPreviewIcon(
527 QPainter *painter,
528 QSize size,
529 QgsRenderContext *customContext = nullptr,
530 bool selected = false,
531 const QgsExpressionContext *expressionContext = nullptr,
532 const QgsLegendPatchShape *patchShape = nullptr,
533 const QgsScreenProperties &screen = QgsScreenProperties()
534 );
535
545 void exportImage( const QString &path, const QString &format, QSize size );
546
556 QImage asImage( QSize size, QgsRenderContext *customContext = nullptr );
557
569 QImage bigSymbolPreviewImage(
570 QgsExpressionContext *expressionContext = nullptr,
572 const QgsScreenProperties &screen = QgsScreenProperties()
573 ) SIP_PYNAME( bigSymbolPreviewImageV2 );
574
578 Q_DECL_DEPRECATED QImage bigSymbolPreviewImage( QgsExpressionContext *expressionContext = nullptr, int flags = static_cast< int >( Qgis::SymbolPreviewFlag::FlagIncludeCrosshairsForMarkerSymbols ) )
580
584 QString dump() const;
585
599 bool rendersIdenticallyTo( const QgsSymbol *other ) const;
600
606 virtual QgsSymbol *clone() const = 0 SIP_FACTORY;
607
613 Q_DECL_DEPRECATED void toSld( QDomDocument &doc, QDomElement &element, QVariantMap props ) const SIP_DEPRECATED;
614
622 bool toSld( QDomDocument &doc, QDomElement &element, QgsSldExportContext &context ) const;
623
632 Qgis::RenderUnit outputUnit() const;
633
639 bool usesMapUnits() const;
640
649 void setOutputUnit( Qgis::RenderUnit unit ) const;
650
661
670 void setMapUnitScale( const QgsMapUnitScale &scale ) const;
671
677 qreal opacity() const { return mOpacity; }
678
684 void setOpacity( qreal opacity ) { mOpacity = opacity; }
685
691
696 Qgis::SymbolRenderHints renderHints() const;
697
705
712 Qgis::SymbolFlags flags() const;
713
723
733
743 void setForceRHR( bool force ) { mForceRHR = force; }
744
754 bool forceRHR() const { return mForceRHR; }
755
764 QgsSymbolBufferSettings *bufferSettings();
765
774 const QgsSymbolBufferSettings *bufferSettings() const SIP_SKIP;
775
784 void setBufferSettings( QgsSymbolBufferSettings *settings SIP_TRANSFER );
785
792 QgsSymbolAnimationSettings &animationSettings();
793
800 const QgsSymbolAnimationSettings &animationSettings() const SIP_SKIP;
801
808 void setAnimationSettings( const QgsSymbolAnimationSettings &settings );
809
815 QSet<QString> usedAttributes( const QgsRenderContext &context ) const;
816
824 void setDataDefinedProperty( Property key, const QgsProperty &property );
825
832 QgsPropertyCollection &dataDefinedProperties() { return mDataDefinedProperties; }
833
839 const QgsPropertyCollection &dataDefinedProperties() const SIP_SKIP { return mDataDefinedProperties; }
840
847 void setDataDefinedProperties( const QgsPropertyCollection &collection ) { mDataDefinedProperties = collection; }
848
852 bool hasDataDefinedProperties() const;
853
863 bool canCauseArtifactsBetweenAdjacentTiles() const;
864
871 Q_DECL_DEPRECATED void setLayer( const QgsVectorLayer *layer ) SIP_DEPRECATED;
872
876 Q_DECL_DEPRECATED const QgsVectorLayer *layer() const SIP_DEPRECATED;
877
882 void renderFeature(
883 const QgsFeature &feature,
884 QgsRenderContext &context,
885 int layer = -1,
886 bool selected = false,
887 bool drawVertexMarker = false,
888 Qgis::VertexMarkerType currentVertexMarkerType = Qgis::VertexMarkerType::SemiTransparentCircle,
889 double currentVertexMarkerSize = 0.0
891
897 QgsSymbolRenderContext *symbolRenderContext();
898
910 void startFeatureRender( const QgsFeature &feature, QgsRenderContext &context, int layer = -1 );
911
923 void stopFeatureRender( const QgsFeature &feature, QgsRenderContext &context, int layer = -1 );
924
931 double extentBuffer() const;
932
942 void setExtentBuffer( double extentBuffer );
943
951 Qgis::RenderUnit extentBufferSizeUnit() const { return mExtentBufferSizeUnit; }
952
961
962 protected:
968 QgsSymbol( Qgis::SymbolType type, const QgsSymbolLayerList &layers SIP_TRANSFER ); // can't be instantiated
969
973 static inline QPointF _getPoint( QgsRenderContext &context, const QgsPoint &point )
974 {
975 QPointF pt;
976 if ( context.coordinateTransform().isValid() )
977 {
978 double x = point.x();
979 double y = point.y();
980 double z = 0.0;
981 context.coordinateTransform().transformInPlace( x, y, z );
982 pt = QPointF( x, y );
983 }
984 else
985 pt = point.toQPointF();
986
987 context.mapToPixel().transformInPlace( pt.rx(), pt.ry() );
988 return pt;
989 }
990
994 static QPolygonF _getLineString( QgsRenderContext &context, const QgsCurve &curve, bool clipToExtent = true );
995
1002 static QPolygonF _getPolygonRing( QgsRenderContext &context, const QgsCurve &curve, bool clipToExtent, bool isExteriorRing = false, bool correctRingOrientation = false );
1003
1011 static void _getPolygon( QPolygonF &pts, QVector<QPolygonF> &holes, QgsRenderContext &context, const QgsPolygon &polygon, bool clipToExtent = true, bool correctRingOrientation = false );
1012
1017 QgsSymbolLayerList cloneLayers() const SIP_FACTORY;
1018
1024 void copyCommonProperties( const QgsSymbol *other );
1025
1038 void renderUsingLayer(
1039 QgsSymbolLayer *layer, QgsSymbolRenderContext &context, Qgis::GeometryType geometryType = Qgis::GeometryType::Unknown, const QPolygonF *points = nullptr, const QVector<QPolygonF> *rings = nullptr
1040 );
1041
1045 void renderVertexMarker( QPointF pt, QgsRenderContext &context, Qgis::VertexMarkerType currentVertexMarkerType, double currentVertexMarkerSize );
1046
1047 Qgis::SymbolType mType;
1049
1050 double mExtentBuffer = 0;
1051 Qgis::RenderUnit mExtentBufferSizeUnit = Qgis::RenderUnit::MapUnits;
1052
1054 qreal mOpacity = 1.0;
1055
1056 Qgis::SymbolRenderHints mRenderHints;
1057
1063 Qgis::SymbolFlags mSymbolFlags = Qgis::SymbolFlags();
1064
1066 bool mForceRHR = false;
1067
1070
1071 Q_DECL_DEPRECATED const QgsVectorLayer *mLayer = nullptr; //current vectorlayer
1072
1073 private:
1074#ifdef SIP_RUN
1075 QgsSymbol( const QgsSymbol & );
1076#endif
1077
1078 static void initPropertyDefinitions();
1079
1081 static QgsPropertiesDefinition sPropertyDefinitions;
1082
1087 bool mStarted = false;
1088
1090 std::unique_ptr< QgsSymbolRenderContext > mSymbolRenderContext;
1091
1092 QgsPropertyCollection mDataDefinedProperties;
1093
1097 static QPolygonF _getLineString2d( QgsRenderContext &context, const QgsCurve &curve, bool clipToExtent = true );
1098
1102 static QPolygonF _getLineString3d( QgsRenderContext &context, const QgsCurve &curve, bool clipToExtent = true );
1103
1110 static QPolygonF _getPolygonRing2d( QgsRenderContext &context, const QgsCurve &curve, bool clipToExtent, bool isExteriorRing = false, bool correctRingOrientation = false );
1111
1118 static QPolygonF _getPolygonRing3d( QgsRenderContext &context, const QgsCurve &curve, bool clipToExtent, bool isExteriorRing = false, bool correctRingOrientation = false );
1119
1120 Q_DISABLE_COPY( QgsSymbol )
1121};
1122
1123#endif
Provides global constants and enumerations for use throughout the application.
Definition qgis.h:62
QFlags< SymbolPreviewFlag > SymbolPreviewFlags
Symbol preview flags.
Definition qgis.h:893
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:379
RenderUnit
Rendering size units.
Definition qgis.h:5340
@ Millimeters
Millimeters.
Definition qgis.h:5341
@ FlagIncludeCrosshairsForMarkerSymbols
Include a crosshairs reference image in the background of marker symbol previews.
Definition qgis.h:889
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
Definition qgis.h:803
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
Definition qgis.h:879
SymbolType
Symbol types.
Definition qgis.h:636
@ Marker
Marker symbol.
Definition qgis.h:637
@ Line
Line symbol.
Definition qgis.h:638
@ Fill
Fill symbol.
Definition qgis.h:639
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:60
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:53
QPointF toQPointF() const
Returns the point as a QPointF.
Definition qgspoint.h:426
double x
Definition qgspoint.h:56
double y
Definition qgspoint.h:57
Polygon geometry type.
Definition qgspolygon.h:37
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:63
void setIsAnimated(bool animated)
Sets whether the symbol is animated.
Definition qgssymbol.h:52
void setFrameRate(double rate)
Sets the symbol animation frame rate (in frames per second).
Definition qgssymbol.h:70
double frameRate() const
Returns the symbol animation frame rate (in frames per second).
Definition qgssymbol.h:77
Contains settings relating to symbol buffers, which draw a "halo" effect around the symbol.
Definition qgssymbol.h:94
void setEnabled(bool enabled)
Sets whether the symbol buffer will be drawn.
Definition qgssymbol.h:112
void setSizeMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale object for the buffer size.
Definition qgssymbol.h:164
bool enabled() const
Returns whether the buffer is enabled.
Definition qgssymbol.h:106
QgsMapUnitScale sizeMapUnitScale() const
Returns the map unit scale object for the buffer size.
Definition qgssymbol.h:154
void setSize(double size)
Sets the size of the buffer.
Definition qgssymbol.h:129
void setJoinStyle(Qt::PenJoinStyle style)
Sets the join style used for drawing the buffer.
Definition qgssymbol.h:176
void setSizeUnit(Qgis::RenderUnit unit)
Sets the unit used for the buffer size.
Definition qgssymbol.h:145
QgsSymbolBufferSettings & operator=(const QgsSymbolBufferSettings &)
Definition qgssymbol.cpp:90
Qt::PenJoinStyle joinStyle() const
Returns the buffer join style.
Definition qgssymbol.h:170
Qgis::RenderUnit sizeUnit() const
Returns the units for the buffer size.
Definition qgssymbol.h:137
double size() const
Returns the size of the buffer.
Definition qgssymbol.h:119
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:227
void setDataDefinedProperties(const QgsPropertyCollection &collection)
Sets the symbol's property collection, used for data defined overrides.
Definition qgssymbol.h:847
Qgis::SymbolFlags mSymbolFlags
Symbol flags.
Definition qgssymbol.h:1063
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:272
void setRenderHints(Qgis::SymbolRenderHints hints)
Sets rendering hint flags for the symbol.
Definition qgssymbol.h:690
QgsPropertyCollection & dataDefinedProperties()
Returns a reference to the symbol's property collection, used for data defined overrides.
Definition qgssymbol.h:832
qreal mOpacity
Symbol opacity (in the range 0 - 1).
Definition qgssymbol.h:1054
Q_DECL_DEPRECATED const QgsVectorLayer * mLayer
Definition qgssymbol.h:1071
static QPointF _getPoint(QgsRenderContext &context, const QgsPoint &point)
Creates a point in screen coordinates from a QgsPoint in map coordinates.
Definition qgssymbol.h:973
bool mClipFeaturesToExtent
Definition qgssymbol.h:1065
bool usesMapUnits() const
Returns true if the symbol has any components which use map unit based sizes.
friend class QgsFeatureRenderer
Definition qgssymbol.h:248
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:677
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:732
void setFlags(Qgis::SymbolFlags flags)
Sets flags for the symbol.
Definition qgssymbol.h:704
Qgis::RenderUnit mExtentBufferSizeUnit
Definition qgssymbol.h:1051
void setExtentBufferSizeUnit(Qgis::RenderUnit unit)
Sets the unit used for the extent buffer.
Definition qgssymbol.h:960
std::unique_ptr< QgsSymbolBufferSettings > mBufferSettings
Definition qgssymbol.h:1068
Qgis::SymbolType mType
Definition qgssymbol.h:1047
QgsSymbolLayerList symbolLayers() const
Returns the list of symbol layers contained in the symbol.
Definition qgssymbol.h:306
void setOpacity(qreal opacity)
Sets the opacity for the symbol.
Definition qgssymbol.h:684
Qgis::RenderUnit extentBufferSizeUnit() const
Returns the units for the buffer size.
Definition qgssymbol.h:951
Qgis::SymbolRenderHints mRenderHints
Definition qgssymbol.h:1056
virtual QgsSymbol * clone() const =0
Returns a deep copy of this symbol.
bool mForceRHR
Definition qgssymbol.h:1066
int symbolLayerCount() const
Returns the total number of symbol layers contained in the symbol.
Definition qgssymbol.h:357
QgsSymbolLayerList mLayers
Definition qgssymbol.h:1048
QgsSymbolAnimationSettings mAnimationSettings
Definition qgssymbol.h:1069
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:296
const QgsPropertyCollection & dataDefinedProperties() const
Returns a reference to the symbol's property collection, used for data defined overrides.
Definition qgssymbol.h:839
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:754
void setClipFeaturesToExtent(bool clipFeaturesToExtent)
Sets whether features drawn by the symbol should be clipped to the render context's extent.
Definition qgssymbol.h:722
double mExtentBuffer
Definition qgssymbol.h:1050
void setForceRHR(bool force)
Sets whether polygon features drawn by the symbol should be reoriented to follow the standard right-h...
Definition qgssymbol.h:743
Represents a vector layer which manages a vector based dataset.
#define SIP_TYPEHINT(type)
Definition qgis_sip.h:239
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Definition qgis_sip.h:198
#define SIP_DEPRECATED
Definition qgis_sip.h:113
#define SIP_SKIP
Definition qgis_sip.h:133
#define SIP_MONKEYPATCH_SCOPEENUM_UNNEST(OUTSIDE_CLASS, FORMERNAME)
Definition qgis_sip.h:267
#define SIP_PYNAME(name)
Definition qgis_sip.h:88
#define SIP_TRANSFER
Definition qgis_sip.h:35
#define SIP_TRANSFERBACK
Definition qgis_sip.h:47
#define SIP_FACTORY
Definition qgis_sip.h:83
#define SIP_THROW(name,...)
Definition qgis_sip.h:210
#define SIP_END
Definition qgis_sip.h:215
#define SIP_MONKEYPATCH_COMPAT_NAME(FORMERNAME)
Definition qgis_sip.h:269
QMap< int, QgsPropertyDefinition > QgsPropertiesDefinition
Definition of available properties.
QList< QgsSymbolLayer * > QgsSymbolLayerList
Definition qgssymbol.h:30