Skip to content

Commit a9e1d76

Browse files
committed
QgsRasterFace renamed to QgsRasterInterface, some singlebandgray cleanup
1 parent b69ff58 commit a9e1d76

25 files changed

Lines changed: 128 additions & 98 deletions

‎src/core/CMakeLists.txt‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ SET(QGIS_CORE_SRCS
160160
raster/qgslinearminmaxenhancement.cpp
161161
raster/qgslinearminmaxenhancementwithclip.cpp
162162
raster/qgspseudocolorshader.cpp
163-
raster/qgsrasterface.cpp
163+
raster/qgsrasterinterface.cpp
164164
raster/qgsrasterlayer.cpp
165165
raster/qgsrastertransparency.cpp
166166
raster/qgsrastershader.cpp
@@ -388,7 +388,7 @@ SET(QGIS_CORE_HDRS
388388
raster/qgspseudocolorshader.h
389389
raster/qgsrasterpyramid.h
390390
raster/qgsrasterbandstats.h
391-
raster/qgsrasterface.h
391+
raster/qgsrasterinterface.h
392392
raster/qgsrasterlayer.h
393393
raster/qgsrastertransparency.h
394394
raster/qgsrastershader.h

‎src/core/qgsrasterdataprovider.h‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
#include "qgslogger.h"
2626
#include "qgsrectangle.h"
2727
#include "qgsdataprovider.h"
28-
#include "qgsrasterface.h"
28+
#include "qgsrasterinterface.h"
2929
#include "qgscolorrampshader.h"
3030
#include "qgsrasterpyramid.h"
3131
#include "qgscoordinatereferencesystem.h"
@@ -48,7 +48,7 @@ class QByteArray;
4848
* QgsVectorDataProvider, and does not yet make
4949
* sense for Raster layers.
5050
*/
51-
class CORE_EXPORT QgsRasterDataProvider : public QgsDataProvider, public QgsRasterFace
51+
class CORE_EXPORT QgsRasterDataProvider : public QgsDataProvider, public QgsRasterInterface
5252
{
5353

5454
Q_OBJECT

‎src/core/qgsrasterprojector.h‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,15 @@
3030
#include "qgsrectangle.h"
3131
#include "qgscoordinatereferencesystem.h"
3232
#include "qgscoordinatetransform.h"
33-
#include "qgsrasterface.h"
33+
#include "qgsrasterinterface.h"
3434

3535
#include <cmath>
3636

3737
//class QgsRectangle;
3838
class QgsPoint;
3939

4040
//class CORE_EXPORT QgsRasterProjector
41-
class QgsRasterProjector : public QgsRasterFace
41+
class QgsRasterProjector : public QgsRasterInterface
4242
{
4343
// Q_OBJECT
4444
public:

‎src/core/raster/qgsmultibandcolorrenderer.cpp‎

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
#include <QImage>
2525
#include <QSet>
2626

27-
QgsMultiBandColorRenderer::QgsMultiBandColorRenderer( QgsRasterFace* input, int redBand, int greenBand, int blueBand,
27+
QgsMultiBandColorRenderer::QgsMultiBandColorRenderer( QgsRasterInterface* input, int redBand, int greenBand, int blueBand,
2828
QgsContrastEnhancement* redEnhancement,
2929
QgsContrastEnhancement* greenEnhancement,
3030
QgsContrastEnhancement* blueEnhancement ):
@@ -55,7 +55,7 @@ void QgsMultiBandColorRenderer::setBlueContrastEnhancement( QgsContrastEnhanceme
5555
delete mBlueContrastEnhancement; mBlueContrastEnhancement = ce;
5656
}
5757

58-
QgsRasterRenderer* QgsMultiBandColorRenderer::create( const QDomElement& elem, QgsRasterFace* input )
58+
QgsRasterRenderer* QgsMultiBandColorRenderer::create( const QDomElement& elem, QgsRasterInterface* input )
5959
{
6060
if ( elem.isNull() )
6161
{
@@ -118,26 +118,26 @@ void * QgsMultiBandColorRenderer::readBlock( int bandNo, QgsRectangle const & e
118118
&& mAlphaBand < 1 && !mRedContrastEnhancement && !mGreenContrastEnhancement && !mBlueContrastEnhancement
119119
&& !mInvertColor );
120120
*/
121-
QgsRasterFace::DataType redType = QgsRasterFace::UnknownDataType;
121+
QgsRasterInterface::DataType redType = QgsRasterInterface::UnknownDataType;
122122

123123
if ( mRedBand > 0 )
124124
{
125-
redType = ( QgsRasterFace::DataType )mInput->dataType( mRedBand );
125+
redType = ( QgsRasterInterface::DataType )mInput->dataType( mRedBand );
126126
}
127-
QgsRasterFace::DataType greenType = QgsRasterFace::UnknownDataType;
127+
QgsRasterInterface::DataType greenType = QgsRasterInterface::UnknownDataType;
128128
if ( mGreenBand > 0 )
129129
{
130-
greenType = ( QgsRasterFace::DataType )mInput->dataType( mGreenBand );
130+
greenType = ( QgsRasterInterface::DataType )mInput->dataType( mGreenBand );
131131
}
132-
QgsRasterFace::DataType blueType = QgsRasterFace::UnknownDataType;
132+
QgsRasterInterface::DataType blueType = QgsRasterInterface::UnknownDataType;
133133
if ( mBlueBand > 0 )
134134
{
135-
blueType = ( QgsRasterFace::DataType )mInput->dataType( mBlueBand );
135+
blueType = ( QgsRasterInterface::DataType )mInput->dataType( mBlueBand );
136136
}
137-
QgsRasterFace::DataType transparencyType = QgsRasterFace::UnknownDataType;
137+
QgsRasterInterface::DataType transparencyType = QgsRasterInterface::UnknownDataType;
138138
if ( mAlphaBand > 0 )
139139
{
140-
transparencyType = ( QgsRasterFace::DataType )mInput->dataType( mAlphaBand );
140+
transparencyType = ( QgsRasterInterface::DataType )mInput->dataType( mAlphaBand );
141141
}
142142

143143
double oversamplingX = 1.0, oversamplingY = 1.0;

‎src/core/raster/qgsmultibandcolorrenderer.h‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@ class QDomElement;
2727
class CORE_EXPORT QgsMultiBandColorRenderer: public QgsRasterRenderer
2828
{
2929
public:
30-
QgsMultiBandColorRenderer( QgsRasterFace* input, int redBand, int greenBand, int blueBand,
30+
QgsMultiBandColorRenderer( QgsRasterInterface* input, int redBand, int greenBand, int blueBand,
3131
QgsContrastEnhancement* redEnhancement = 0, QgsContrastEnhancement* greenEnhancement = 0,
3232
QgsContrastEnhancement* blueEnhancement = 0 );
3333
~QgsMultiBandColorRenderer();
3434

35-
static QgsRasterRenderer* create( const QDomElement& elem, QgsRasterFace* input );
35+
static QgsRasterRenderer* create( const QDomElement& elem, QgsRasterInterface* input );
3636

3737
//void draw( QPainter* p, QgsRasterViewPort* viewPort, const QgsMapToPixel* theQgsMapToPixel );
3838
void * readBlock( int bandNo, QgsRectangle const & extent, int width, int height );

‎src/core/raster/qgspalettedrasterrenderer.cpp‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
#include <QDomElement>
2424
#include <QImage>
2525

26-
QgsPalettedRasterRenderer::QgsPalettedRasterRenderer( QgsRasterFace* input, int bandNumber,
26+
QgsPalettedRasterRenderer::QgsPalettedRasterRenderer( QgsRasterInterface* input, int bandNumber,
2727
QColor* colorArray, int nColors ):
2828
QgsRasterRenderer( input, "paletted" ), mBandNumber( bandNumber ), mColors( colorArray ), mNColors( nColors )
2929
{
@@ -34,7 +34,7 @@ QgsPalettedRasterRenderer::~QgsPalettedRasterRenderer()
3434
delete[] mColors;
3535
}
3636

37-
QgsRasterRenderer* QgsPalettedRasterRenderer::create( const QDomElement& elem, QgsRasterFace* input )
37+
QgsRasterRenderer* QgsPalettedRasterRenderer::create( const QDomElement& elem, QgsRasterInterface* input )
3838
{
3939
if ( elem.isNull() )
4040
{
@@ -88,13 +88,13 @@ void * QgsPalettedRasterRenderer::readBlock( int bandNo, QgsRectangle const & e
8888
return 0;
8989
}
9090

91-
QgsRasterFace::DataType transparencyType = QgsRasterFace::UnknownDataType;
91+
QgsRasterInterface::DataType transparencyType = QgsRasterInterface::UnknownDataType;
9292
if ( mAlphaBand > 0 )
9393
{
94-
transparencyType = ( QgsRasterFace::DataType )mInput->dataType( mAlphaBand );
94+
transparencyType = ( QgsRasterInterface::DataType )mInput->dataType( mAlphaBand );
9595
}
9696

97-
QgsRasterFace::DataType rasterType = ( QgsRasterFace::DataType )mInput->dataType( mBandNumber );
97+
QgsRasterInterface::DataType rasterType = ( QgsRasterInterface::DataType )mInput->dataType( mBandNumber );
9898
void* rasterData = mInput->readBlock( bandNo, extent, width, height );
9999
double currentOpacity = mOpacity;
100100

‎src/core/raster/qgspalettedrasterrenderer.h‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ class CORE_EXPORT QgsPalettedRasterRenderer: public QgsRasterRenderer
2727
{
2828
public:
2929
/**Renderer owns color array*/
30-
QgsPalettedRasterRenderer( QgsRasterFace* input, int bandNumber, QColor* colorArray, int nColors );
30+
QgsPalettedRasterRenderer( QgsRasterInterface* input, int bandNumber, QColor* colorArray, int nColors );
3131
~QgsPalettedRasterRenderer();
32-
static QgsRasterRenderer* create( const QDomElement& elem, QgsRasterFace* input );
32+
static QgsRasterRenderer* create( const QDomElement& elem, QgsRasterInterface* input );
3333

3434
void draw( QPainter* p, QgsRasterViewPort* viewPort, const QgsMapToPixel* theQgsMapToPixel );
3535

‎src/core/raster/qgsrasterdrawer.cpp‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
#include <QImage>
3333
#include <QPainter>
3434

35-
QgsRasterDrawer::QgsRasterDrawer( QgsRasterFace* input ): mInput( input )
35+
QgsRasterDrawer::QgsRasterDrawer( QgsRasterInterface* input ): mInput( input )
3636
{
3737
}
3838

‎src/core/raster/qgsrasterdrawer.h‎

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
#define QGSRASTERDRAWER_H
2020

2121
//#include "qgsrasterdataprovider.h"
22-
#include "qgsrasterface.h"
22+
#include "qgsrasterinterface.h"
2323

2424
#include <QMap>
2525

@@ -49,13 +49,13 @@ class QgsRasterDrawer
4949
QgsRasterProjector* prj; //raster projector (or 0 if no reprojection is done)
5050
};
5151

52-
QgsRasterDrawer( QgsRasterFace* input );
52+
QgsRasterDrawer( QgsRasterInterface* input );
5353
~QgsRasterDrawer();
5454

5555
void draw( QPainter* p, QgsRasterViewPort* viewPort, const QgsMapToPixel* theQgsMapToPixel );
5656

5757
protected:
58-
//inline double readValue( void *data, QgsRasterFace::DataType type, int index );
58+
//inline double readValue( void *data, QgsRasterInterface::DataType type, int index );
5959

6060
/**Start reading of raster band. Raster data can then be retrieved by calling readNextRasterPart until it returns false.
6161
@param bandNumer number of raster band to read
@@ -81,15 +81,15 @@ class QgsRasterDrawer
8181
void drawImage( QPainter* p, QgsRasterViewPort* viewPort, const QImage& img, int topLeftCol, int topLeftRow ) const;
8282
void stopRasterRead( int bandNumber );
8383

84-
QgsRasterFace* mInput;
84+
QgsRasterInterface* mInput;
8585
QMap<int, RasterPartInfo> mRasterPartInfos;
8686

8787
private:
8888
/**Remove part into and release memory*/
8989
void removePartInfo( int bandNumer );
9090
};
9191
/*
92-
inline double QgsRasterDrawer::readValue( void *data, QgsRasterFace::DataType type, int index )
92+
inline double QgsRasterDrawer::readValue( void *data, QgsRasterInterface::DataType type, int index )
9393
{
9494
if ( !mProvider )
9595
{
@@ -103,25 +103,25 @@ inline double QgsRasterDrawer::readValue( void *data, QgsRasterFace::DataType ty
103103
104104
switch ( type )
105105
{
106-
case QgsRasterFace::Byte:
106+
case QgsRasterInterface::Byte:
107107
return ( double )(( GByte * )data )[index];
108108
break;
109-
case QgsRasterFace::UInt16:
109+
case QgsRasterInterface::UInt16:
110110
return ( double )(( GUInt16 * )data )[index];
111111
break;
112-
case QgsRasterFace::Int16:
112+
case QgsRasterInterface::Int16:
113113
return ( double )(( GInt16 * )data )[index];
114114
break;
115-
case QgsRasterFace::UInt32:
115+
case QgsRasterInterface::UInt32:
116116
return ( double )(( GUInt32 * )data )[index];
117117
break;
118-
case QgsRasterFace::Int32:
118+
case QgsRasterInterface::Int32:
119119
return ( double )(( GInt32 * )data )[index];
120120
break;
121-
case QgsRasterFace::Float32:
121+
case QgsRasterInterface::Float32:
122122
return ( double )(( float * )data )[index];
123123
break;
124-
case QgsRasterFace::Float64:
124+
case QgsRasterInterface::Float64:
125125
return ( double )(( double * )data )[index];
126126
break;
127127
default:
Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,27 @@
1515
* *
1616
***************************************************************************/
1717

18-
#include "qgsrasterface.h"
18+
#include "qgsrasterinterface.h"
1919
#include "qgslogger.h"
2020

2121
#include <QByteArray>
2222

23-
QgsRasterFace::QgsRasterFace( QgsRasterFace * input ): mInput( input )
23+
QgsRasterInterface::QgsRasterInterface( QgsRasterInterface * input ): mInput( input )
2424
{
2525
}
2626

27-
QgsRasterFace::~QgsRasterFace()
27+
QgsRasterInterface::~QgsRasterInterface()
2828
{
2929
}
30+
31+
QImage * QgsRasterInterface::createImage ( int width, int height, QImage::Format format )
32+
{
33+
// Qt has its own internal function depthForFormat(), unfortunately it is not public
34+
35+
QImage img( 1, 1, format );
36+
37+
// We ignore QImage::Format_Mono and QImage::Format_MonoLSB ( depth 1)
38+
int size = width * height * img.bytesPerLine();
39+
uchar * data = (uchar *) malloc ( size );
40+
return new QImage( data, width, height, format );
41+
}

0 commit comments

Comments
 (0)