19 #include "qgis_core.h"
34 #include <QDomDocument>
35 #include <QDomElement>
51 #define RENDERER_TAG_NAME "renderer-v2"
108 const QString type = sipCpp->type();
110 if ( type == QStringLiteral(
"singleSymbol" ) )
111 sipType = sipType_QgsSingleSymbolRenderer;
112 else if ( type == QStringLiteral(
"categorizedSymbol" ) )
113 sipType = sipType_QgsCategorizedSymbolRenderer;
114 else if ( type == QStringLiteral(
"graduatedSymbol" ) )
115 sipType = sipType_QgsGraduatedSymbolRenderer;
116 else if ( type == QStringLiteral(
"RuleRenderer" ) )
117 sipType = sipType_QgsRuleBasedRenderer;
118 else if ( type == QStringLiteral(
"heatmapRenderer" ) )
119 sipType = sipType_QgsHeatmapRenderer;
120 else if ( type == QStringLiteral(
"invertedPolygonRenderer" ) )
121 sipType = sipType_QgsInvertedPolygonRenderer;
122 else if ( type == QStringLiteral(
"pointCluster" ) )
123 sipType = sipType_QgsPointClusterRenderer;
124 else if ( type == QStringLiteral(
"pointDisplacement" ) )
125 sipType = sipType_QgsPointDisplacementRenderer;
126 else if ( type == QStringLiteral(
"25dRenderer" ) )
127 sipType = sipType_Qgs25DRenderer;
128 else if ( type == QStringLiteral(
"nullSymbol" ) )
129 sipType = sipType_QgsNullSymbolRenderer;
141 QString
type()
const {
return mType; }
213 virtual QSet<QString> usedAttributes(
const QgsRenderContext &context )
const = 0;
218 virtual bool filterNeedsGeometry()
const;
246 virtual QString dump() const;
255 MoreSymbolsPerFeature = 1 << 2,
257 ScaleDependent = 1 << 4
260 Q_DECLARE_FLAGS( Capabilities, Capability )
274 virtual
QgsFeatureRenderer::Capabilities capabilities() {
return QgsFeatureRenderer::Capabilities(); }
296 virtual QDomElement writeSld( QDomDocument &doc,
const QString &styleName,
const QgsStringMap &props =
QgsStringMap() )
const;
314 element.appendChild( doc.createComment( QStringLiteral(
"FeatureRenderer %1 not implemented yet" ).arg( type() ) ) );
322 virtual bool legendSymbolItemsCheckable()
const;
328 virtual bool legendSymbolItemChecked(
const QString &key );
334 virtual void checkLegendSymbolItem(
const QString &key,
bool state =
true );
357 void setVertexMarkerAppearance(
int type,
double size );
446 bool orderByEnabled()
const;
455 void setOrderByEnabled(
bool enabled );
499 void renderVertexMarkerPolyline( QPolygonF &pts,
QgsRenderContext &context );
501 void renderVertexMarkerPolygon( QPolygonF &pts, QList<QPolygonF> *rings,
QgsRenderContext &context );
543 static void convertSymbolRotation(
QgsSymbol *symbol,
const QString &field );
556 QThread *mThread =
nullptr;
563 Q_DECLARE_OPERATORS_FOR_FLAGS( QgsFeatureRenderer::Capabilities )
569 #endif // QGSRENDERER_H