QGIS API Documentation 3.39.0-Master (3aed037ce22)
Loading...
Searching...
No Matches
qgsrasterrendererregistry.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsrasterrendererregistry.h
3 ---------------------------
4 begin : January 2012
5 copyright : (C) 2012 by Marco Hugentobler
6 email : marco at sourcepole dot ch
7 ***************************************************************************/
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 QGSRASTERRENDERERREGISTRY_H
19#define QGSRASTERRENDERERREGISTRY_H
20
21#include "qgis_core.h"
22#include "qgis.h"
23#include <QHash>
24#include <QString>
25
26class QDomElement;
28class QgsRasterLayer;
32class QgsRectangle;
33
34#ifndef SIP_RUN
35typedef QgsRasterRenderer *( *QgsRasterRendererCreateFunc )( const QDomElement &, QgsRasterInterface *input );
36typedef QgsRasterRendererWidget *( *QgsRasterRendererWidgetCreateFunc )( QgsRasterLayer *, const QgsRectangle &extent );
37
45{
46
52 QgsRasterRendererRegistryEntry( const QString &name, const QString &visibleName, QgsRasterRendererCreateFunc rendererFunction,
54
56 QString name;
57 QString visibleName; //visible (and translatable) name
58
65
66 QIcon icon();
67 QgsRasterRendererCreateFunc rendererCreateFunction = nullptr ; //pointer to create function
68 QgsRasterRendererWidgetCreateFunc widgetCreateFunction = nullptr ; //pointer to create function for renderer widget
69};
70
71#endif
72
83{
84 public:
85
95
101 void insert( const QgsRasterRendererRegistryEntry &entry ) SIP_SKIP;
102
108 void insertWidgetFunction( const QString &rendererName, QgsRasterRendererWidgetCreateFunc func ) SIP_SKIP;
109
115 bool rendererData( const QString &rendererName, QgsRasterRendererRegistryEntry &data ) const SIP_SKIP;
116
120 QStringList renderersList() const;
121
127 QList< QgsRasterRendererRegistryEntry > entries() const SIP_SKIP;
128
134 Qgis::RasterRendererCapabilities rendererCapabilities( const QString &rendererName ) const;
135
140 QgsRasterRenderer *defaultRendererForDrawingStyle( Qgis::RasterDrawingStyle drawingStyle, QgsRasterDataProvider *provider ) const SIP_FACTORY;
141
142 private:
143 QHash< QString, QgsRasterRendererRegistryEntry > mEntries;
144 QStringList mSortedEntries;
145
146 //read min/max values from
147 bool minMaxValuesForBand( int band, QgsRasterDataProvider *provider, double &minValue, double &maxValue ) const;
148};
149
150#endif // QGSRASTERRENDERERREGISTRY_H
RasterDrawingStyle
Raster drawing styles.
Definition qgis.h:4229
QFlags< RasterRendererCapability > RasterRendererCapabilities
Raster renderer capabilities.
Definition qgis.h:1328
Base class for raster data providers.
Base class for processing filters like renderers, reprojector, resampler etc.
Represents a raster layer.
Registry for raster renderers.
Abstract base class for widgets which configure a QgsRasterRenderer.
Raster renderer pipe that applies colors to a raster.
A rectangle specified with double values.
#define SIP_SKIP
Definition qgis_sip.h:126
#define SIP_FACTORY
Definition qgis_sip.h:76
QgsRasterRendererWidget *(* QgsRasterRendererWidgetCreateFunc)(QgsRasterLayer *, const QgsRectangle &extent)
QgsRasterRenderer *(* QgsRasterRendererCreateFunc)(const QDomElement &, QgsRasterInterface *input)
Registry for raster renderer entries.
Qgis::RasterRendererCapabilities capabilities
Renderer capabilities.