QGIS API Documentation
3.16.0-Hannover (43b64b13f3)
src
core
raster
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
22
#define SIP_NO_FILE
23
24
25
26
#include "qgis_core.h"
27
#include "
qgsrasterlayer.h
"
//for DrawingStyle enum
28
#include <QHash>
29
#include <QString>
30
31
class
QDomElement;
32
class
QgsRasterInterface
;
33
class
QgsRasterLayer
;
34
class
QgsRasterRenderer
;
35
class
QgsRasterRendererWidget
;
36
37
typedef
QgsRasterRenderer
*( *QgsRasterRendererCreateFunc )(
const
QDomElement &,
QgsRasterInterface
*input );
38
typedef
QgsRasterRendererWidget
*( *QgsRasterRendererWidgetCreateFunc )(
QgsRasterLayer
*,
const
QgsRectangle
&extent );
39
44
struct
CORE_EXPORT
QgsRasterRendererRegistryEntry
45
{
46
QgsRasterRendererRegistryEntry
(
const
QString &name,
const
QString &visibleName,
QgsRasterRendererCreateFunc
rendererFunction,
47
QgsRasterRendererWidgetCreateFunc
widgetFunction );
48
52
QgsRasterRendererRegistryEntry
() =
default
;
53
QString
name
;
54
QString
visibleName
;
//visible (and translatable) name
55
QIcon icon();
56
QgsRasterRendererCreateFunc
rendererCreateFunction = nullptr ;
//pointer to create function
57
QgsRasterRendererWidgetCreateFunc
widgetCreateFunction = nullptr ;
//pointer to create function for renderer widget
58
};
59
69
class
CORE_EXPORT
QgsRasterRendererRegistry
70
{
71
public
:
72
73
QgsRasterRendererRegistry
();
74
75
void
insert(
const
QgsRasterRendererRegistryEntry
&entry );
76
void
insertWidgetFunction(
const
QString &rendererName,
QgsRasterRendererWidgetCreateFunc
func );
77
bool
rendererData(
const
QString &rendererName,
QgsRasterRendererRegistryEntry
&data )
const
;
78
QStringList renderersList()
const
;
79
QList< QgsRasterRendererRegistryEntry > entries()
const
;
80
85
QgsRasterRenderer
*defaultRendererForDrawingStyle(
QgsRaster::DrawingStyle
drawingStyle,
QgsRasterDataProvider
*provider )
const
;
86
87
private
:
88
QHash< QString, QgsRasterRendererRegistryEntry > mEntries;
89
QStringList mSortedEntries;
90
91
//read min/max values from
92
bool
minMaxValuesForBand(
int
band,
QgsRasterDataProvider
*provider,
double
&minValue,
double
&maxValue )
const
;
93
};
94
95
#endif // QGSRASTERRENDERERREGISTRY_H
qgsrasterlayer.h
QgsRasterRendererRegistryEntry::name
QString name
Definition:
qgsrasterrendererregistry.h:53
QgsRasterRendererRegistryEntry
Registry for raster renderer entries.
Definition:
qgsrasterrendererregistry.h:45
QgsRaster::DrawingStyle
DrawingStyle
This enumerator describes the different kinds of drawing we can do.
Definition:
qgsraster.h:90
QgsRasterRendererCreateFunc
QgsRasterRenderer *(* QgsRasterRendererCreateFunc)(const QDomElement &, QgsRasterInterface *input)
Definition:
qgsrasterrendererregistry.h:37
QgsRectangle
A rectangle specified with double values.
Definition:
qgsrectangle.h:42
QgsRasterRenderer
Raster renderer pipe that applies colors to a raster.
Definition:
qgsrasterrenderer.h:39
QgsRasterRendererRegistryEntry::visibleName
QString visibleName
Definition:
qgsrasterrendererregistry.h:54
QgsRasterRendererRegistryEntry::QgsRasterRendererRegistryEntry
QgsRasterRendererRegistryEntry()=default
Constructor for QgsRasterRendererRegistryEntry.
QgsRasterLayer
Represents a raster layer.
Definition:
qgsrasterlayer.h:71
QgsRasterRendererWidgetCreateFunc
QgsRasterRendererWidget *(* QgsRasterRendererWidgetCreateFunc)(QgsRasterLayer *, const QgsRectangle &extent)
Definition:
qgsrasterrendererregistry.h:38
QgsRasterInterface
Base class for processing filters like renderers, reprojector, resampler etc.
Definition:
qgsrasterinterface.h:117
QgsRasterRendererRegistry
Registry for raster renderers.
Definition:
qgsrasterrendererregistry.h:70
QgsRasterRendererWidget
Definition:
qgsrasterrendererwidget.h:37
QgsRasterDataProvider
Base class for raster data providers.
Definition:
qgsrasterdataprovider.h:89
Generated on Sat Oct 24 2020 17:43:09 for QGIS API Documentation by
1.8.20