Skip to content

Commit a1cb7fd

Browse files
committedJun 18, 2012
Replace contents of pseudoColor test with raster renderer code that generates the same result
1 parent cbb70a1 commit a1cb7fd

File tree

1 file changed

+28
-6
lines changed

1 file changed

+28
-6
lines changed
 

‎tests/src/core/testqgsrasterlayer.cpp

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
#include <qgsapplication.h>
3535
#include <qgsmaprenderer.h>
3636
#include <qgsmaplayerregistry.h>
37+
#include "qgssinglebandpseudocolorrenderer.h"
3738

3839
//qgis unit test includes
3940
#include <qgsrenderchecker.h>
@@ -128,12 +129,33 @@ void TestQgsRasterLayer::isValid()
128129

129130
void TestQgsRasterLayer::pseudoColor()
130131
{
131-
mpRasterLayer->setDrawingStyle( QgsRasterLayer::SingleBandPseudoColor );
132-
mpRasterLayer->setColorShadingAlgorithm( QgsRasterLayer::PseudoColorShader );
133-
mpRasterLayer->setContrastEnhancementAlgorithm(
134-
QgsContrastEnhancement::StretchToMinimumMaximum, false );
135-
mpRasterLayer->setMinimumValue( mpRasterLayer->grayBandName(), 0.0, false );
136-
mpRasterLayer->setMaximumValue( mpRasterLayer->grayBandName(), 10.0 );
132+
QgsRasterShader* rasterShader = new QgsRasterShader();
133+
QgsColorRampShader* colorRampShader = new QgsColorRampShader();
134+
colorRampShader->setColorRampType( QgsColorRampShader::INTERPOLATED );
135+
136+
//items to imitate old pseudo color renderer
137+
QList<QgsColorRampShader::ColorRampItem> colorRampItems;
138+
QgsColorRampShader::ColorRampItem firstItem;
139+
firstItem.value = 0.0;
140+
firstItem.color = QColor( "#0000ff" );
141+
colorRampItems.append( firstItem );
142+
QgsColorRampShader::ColorRampItem secondItem;
143+
secondItem.value = 3.0;
144+
secondItem.color = QColor( "#00ffff" );
145+
colorRampItems.append( secondItem );
146+
QgsColorRampShader::ColorRampItem thirdItem;
147+
thirdItem.value = 6.0;
148+
thirdItem.color = QColor( "#ffff00" );
149+
colorRampItems.append( thirdItem );
150+
QgsColorRampShader::ColorRampItem fourthItem;
151+
fourthItem.value = 9.0;
152+
fourthItem.color = QColor( "#ff0000" );
153+
colorRampItems.append( fourthItem );
154+
155+
colorRampShader->setColorRampItemList( colorRampItems );
156+
rasterShader->setRasterShaderFunction( colorRampShader );
157+
QgsSingleBandPseudoColorRenderer* r = new QgsSingleBandPseudoColorRenderer( mpRasterLayer->dataProvider(), 1, rasterShader );
158+
mpRasterLayer->setRenderer( r );
137159
mpMapRenderer->setExtent( mpRasterLayer->extent() );
138160
QVERIFY( render( "raster_pseudo" ) );
139161
}

0 commit comments

Comments
 (0)
Please sign in to comment.