33#include <QDomDocument>
54#define RENDERER_TAG_NAME "renderer-v2"
113 const QString type = sipCpp->
type();
115 if ( type == QLatin1String(
"singleSymbol" ) )
116 sipType = sipType_QgsSingleSymbolRenderer;
117 else if ( type == QLatin1String(
"categorizedSymbol" ) )
118 sipType = sipType_QgsCategorizedSymbolRenderer;
119 else if ( type == QLatin1String(
"graduatedSymbol" ) )
120 sipType = sipType_QgsGraduatedSymbolRenderer;
121 else if ( type == QLatin1String(
"RuleRenderer" ) )
122 sipType = sipType_QgsRuleBasedRenderer;
123 else if ( type == QLatin1String(
"heatmapRenderer" ) )
124 sipType = sipType_QgsHeatmapRenderer;
125 else if ( type == QLatin1String(
"invertedPolygonRenderer" ) )
126 sipType = sipType_QgsInvertedPolygonRenderer;
127 else if ( type == QLatin1String(
"pointCluster" ) )
128 sipType = sipType_QgsPointClusterRenderer;
129 else if ( type == QLatin1String(
"pointDisplacement" ) )
130 sipType = sipType_QgsPointDisplacementRenderer;
131 else if ( type == QLatin1String(
"25dRenderer" ) )
132 sipType = sipType_Qgs25DRenderer;
133 else if ( type == QLatin1String(
"nullSymbol" ) )
134 sipType = sipType_QgsNullSymbolRenderer;
135 else if ( type == QLatin1String(
"embeddedSymbol" ) )
136 sipType = sipType_QgsEmbeddedSymbolRenderer;
166 QString
type()
const {
return mType; }
224 virtual bool canSkipRender();
253 virtual bool usesEmbeddedSymbols()
const;
258 virtual bool filterNeedsGeometry()
const;
286 virtual QString dump() const;
295 MoreSymbolsPerFeature = 1 << 2,
297 ScaleDependent = 1 << 4
346 virtual QDomElement writeSld( QDomDocument &doc,
const QString &styleName,
const QVariantMap &props = QVariantMap() )
const;
366 Q_DECL_DEPRECATED
virtual void toSld( QDomDocument &doc, QDomElement &element,
const QVariantMap &props = QVariantMap() ) const
SIP_DEPRECATED;
375 virtual
bool toSld( QDomDocument &doc, QDomElement &element,
QgsSldExportContext &context ) const;
384 QSet< QString > legendKeys() const;
390 virtual
bool legendSymbolItemsCheckable() const;
399 virtual
bool legendSymbolItemChecked( const QString &key );
408 virtual
void checkLegendSymbolItem( const QString &key,
bool state = true );
434 virtual QString legendKeyToExpression( const QString &key,
QgsVectorLayer *layer,
bool &ok
SIP_OUT ) const;
460 virtual QString legendClassificationAttribute()
const {
return QString(); }
531 void setDataDefinedProperty( Property key,
const QgsProperty &property );
614 bool orderByEnabled()
const;
622 void setOrderByEnabled(
bool enabled );
689 void renderVertexMarkerPolyline( QPolygonF &pts,
QgsRenderContext &context );
691 void renderVertexMarkerPolygon( QPolygonF &pts, QList<QPolygonF> *rings,
QgsRenderContext &context );
707 void saveRendererData( QDomDocument &doc, QDomElement &element,
const QgsReadWriteContext &context );
711 bool mUsingSymbolLevels =
false;
717 double mCurrentVertexMarkerSize = 2;
721 bool mForceRaster =
false;
723 double mReferenceScale = -1.0;
733 static void convertSymbolRotation(
QgsSymbol *symbol,
const QString &field );
737 bool mOrderByEnabled =
false;
745 static void initPropertyDefinitions();
751 QThread *mThread =
nullptr;
ScaleMethod
Scale methods.
QFlags< FeatureRendererFlag > FeatureRendererFlags
Flags controlling behavior of vector feature renderers.
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
Custom exception class for Coordinate Reference System related exceptions.
Abstract base class for all 2D vector feature renderers.
QgsPropertyCollection & dataDefinedProperties()
Returns a reference to the renderer's property collection, used for data defined overrides.
virtual QString filter(const QgsFields &fields=QgsFields())
If a renderer does not require all the features this method may be overridden and return an expressio...
bool forceRasterRender() const
Returns whether the renderer must render as a raster.
void setForceRasterRender(bool forceRaster)
Sets whether the renderer should be rendered to a raster destination.
Property
Data definable properties for renderers.
QFlags< Capability > Capabilities
double referenceScale() const
Returns the symbology reference scale.
void setReferenceScale(double scale)
Sets the symbology reference scale.
bool usingSymbolLevels() const
virtual QSet< QString > usedAttributes(const QgsRenderContext &context) const =0
Returns a list of attributes required by this renderer.
void setUsingSymbolLevels(bool usingSymbolLevels)
virtual QgsSymbol * symbolForFeature(const QgsFeature &feature, QgsRenderContext &context) const =0
To be overridden.
Capability
Used to specify details about a renderer.
const QgsPropertyCollection & dataDefinedProperties() const
Returns a reference to the renderer's property collection, used for data defined overrides.
QgsFeatureRequest::OrderBy mOrderBy
void setDataDefinedProperties(const QgsPropertyCollection &collection)
Sets the renderer's property collection, used for data defined overrides.
std::unique_ptr< QgsPaintEffect > mPaintEffect
virtual QgsFeatureRenderer * clone() const =0
Create a deep copy of this renderer.
Represents a list of OrderByClauses, with the most important first and the least important last.
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Container of fields for a vector layer.
Layer tree node points to a map layer.
An abstract interface for legend items returned from QgsMapLayerLegend implementation.
Base class for visual effects which can be applied to QPicture drawings.
Point geometry type, with support for z-dimension and m-values.
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.
A rectangle specified with double values.
Contains information about the context of a rendering operation.
Holds SLD export options and other information related to SLD export of a QGIS layer style.
An interface for classes which can visit style entity (e.g.
Represents a symbol level during vector rendering operations.
QgsSymbolLevelItem(QgsSymbol *symbol, int layer)
Abstract base class for all rendered symbols.
Represents a vector layer which manages a vector based dataset.
QMap< QString, QString > QgsStringMap
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
#define SIP_ENUM_BASETYPE(type)
#define SIP_THROW(name,...)
QList< QgsLegendSymbolItem > QgsLegendSymbolList
QMap< int, QgsPropertyDefinition > QgsPropertiesDefinition
Definition of available properties.
QList< QgsSymbolLevel > QgsSymbolLevelOrder
QList< QgsSymbolLevelItem > QgsSymbolLevel
QMap< QString, QgsSymbol * > QgsSymbolMap
QList< QgsSymbol * > QgsSymbolList
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsTextRendererUtils::CurvedTextFlags)