QGIS API Documentation 4.0.0-Norrköping (1ddcee3d0e4)
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.h"
22#include "qgis_core.h"
23
24#include <QHash>
25#include <QString>
26
27class QDomElement;
29class QgsRasterLayer;
33class QgsRectangle;
34
35#ifndef SIP_RUN
36typedef QgsRasterRenderer *( *QgsRasterRendererCreateFunc )( const QDomElement &, QgsRasterInterface *input );
37typedef QgsRasterRendererWidget *( *QgsRasterRendererWidgetCreateFunc )( QgsRasterLayer *, const QgsRectangle &extent );
38
46{
53 const QString &name,
54 const QString &visibleName,
55 QgsRasterRendererCreateFunc rendererFunction,
58 );
59
61 QString name;
62 QString visibleName; //visible (and translatable) name
63
70
71 QIcon icon();
72 QgsRasterRendererCreateFunc rendererCreateFunction = nullptr; //pointer to create function
73 QgsRasterRendererWidgetCreateFunc widgetCreateFunction = nullptr; //pointer to create function for renderer widget
74};
75
76#endif
77
88{
89 public:
99
106
112 void insertWidgetFunction( const QString &rendererName, QgsRasterRendererWidgetCreateFunc func ) SIP_SKIP;
113
119 bool rendererData( const QString &rendererName, QgsRasterRendererRegistryEntry &data ) const SIP_SKIP;
120
124 QStringList renderersList() const;
125
131 QList< QgsRasterRendererRegistryEntry > entries() const SIP_SKIP;
132
138 Qgis::RasterRendererCapabilities rendererCapabilities( const QString &rendererName ) const;
139
145
146 private:
147 QHash< QString, QgsRasterRendererRegistryEntry > mEntries;
148 QStringList mSortedEntries;
149
150 //read min/max values from
151 bool minMaxValuesForBand( int band, QgsRasterDataProvider *provider, double &minValue, double &maxValue ) const;
152};
153
154#endif // QGSRASTERRENDERERREGISTRY_H
RasterDrawingStyle
Raster drawing styles.
Definition qgis.h:4936
QFlags< RasterRendererCapability > RasterRendererCapabilities
Raster renderer capabilities.
Definition qgis.h:1612
Base class for raster data providers.
Base class for processing filters like renderers, reprojector, resampler etc.
Represents a raster layer.
void insertWidgetFunction(const QString &rendererName, QgsRasterRendererWidgetCreateFunc func)
Sets the widget creation function for a renderer.
QgsRasterRendererRegistry()
Constructor for QgsRasterRendererRegistry.
QList< QgsRasterRendererRegistryEntry > entries() const
Returns the list of registered renderers.
void insert(const QgsRasterRendererRegistryEntry &entry)
Inserts a new entry into the registry.
bool rendererData(const QString &rendererName, QgsRasterRendererRegistryEntry &data) const
Retrieves renderer data from the registry.
QgsRasterRenderer * defaultRendererForDrawingStyle(Qgis::RasterDrawingStyle drawingStyle, QgsRasterDataProvider *provider) const
Creates a default renderer for a raster drawing style (considering user options such as default contr...
Qgis::RasterRendererCapabilities rendererCapabilities(const QString &rendererName) const
Returns the capabilities for the renderer with the specified name.
QStringList renderersList() const
Returns a list of the names of registered 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:133
#define SIP_FACTORY
Definition qgis_sip.h:83
QgsRasterRendererWidget *(* QgsRasterRendererWidgetCreateFunc)(QgsRasterLayer *, const QgsRectangle &extent)
QgsRasterRenderer *(* QgsRasterRendererCreateFunc)(const QDomElement &, QgsRasterInterface *input)
Registry for raster renderer entries.
QgsRasterRendererRegistryEntry(const QString &name, const QString &visibleName, QgsRasterRendererCreateFunc rendererFunction, QgsRasterRendererWidgetCreateFunc widgetFunction, Qgis::RasterRendererCapabilities capabilities=Qgis::RasterRendererCapabilities())
Constructor for QgsRasterRendererRegistryEntry.
QgsRasterRendererWidgetCreateFunc widgetCreateFunction
Qgis::RasterRendererCapabilities capabilities
Renderer capabilities.
QgsRasterRendererCreateFunc rendererCreateFunction