From cd0348944043437b5c712f23cb2907cdba655b12 Mon Sep 17 00:00:00 2001 From: Marco Hugentobler Date: Wed, 28 Dec 2011 11:57:55 +0100 Subject: [PATCH] Invert color flag for raster renderer --- src/core/raster/qgsrasterrenderer.cpp | 4 ++-- src/core/raster/qgsrasterrenderer.h | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/core/raster/qgsrasterrenderer.cpp b/src/core/raster/qgsrasterrenderer.cpp index 38688157b785..abccea7c7655 100644 --- a/src/core/raster/qgsrasterrenderer.cpp +++ b/src/core/raster/qgsrasterrenderer.cpp @@ -21,7 +21,7 @@ #include "qgsmaptopixel.h" QgsRasterRenderer::QgsRasterRenderer( QgsRasterDataProvider* provider, QgsRasterResampler* resampler ): mProvider( provider ), mResampler( resampler ), - mOpacity( 1.0 ), mRasterTransparency( 0 ), mAlphaBand( -1 ) + mOpacity( 1.0 ), mRasterTransparency( 0 ), mAlphaBand( -1 ), mInvertColor( false ) { } @@ -64,7 +64,7 @@ void QgsRasterRenderer::startRasterRead( int bandNumber, QgsRasterViewPort* view pInfo.nCols = viewPort->drawableAreaXDim * oversampling; pInfo.nRows = viewPort->drawableAreaYDim * oversampling; int totalMemoryUsage = pInfo.nCols * pInfo.nRows * mProvider->dataTypeSize( bandNumber ); - int parts = totalMemoryUsage / /*100000000*/ 100000 + 1; + int parts = totalMemoryUsage / 100000000 /*100000*/ + 1; pInfo.nPartsPerDimension = sqrt( parts ); pInfo.nColsPerPart = pInfo.nCols / pInfo.nPartsPerDimension; pInfo.nRowsPerPart = pInfo.nRows / pInfo.nPartsPerDimension; diff --git a/src/core/raster/qgsrasterrenderer.h b/src/core/raster/qgsrasterrenderer.h index a08ab718b6e9..15289013195c 100644 --- a/src/core/raster/qgsrasterrenderer.h +++ b/src/core/raster/qgsrasterrenderer.h @@ -57,6 +57,9 @@ class QgsRasterRenderer void setAlphaBand( int band ) { mAlphaBand = band; } int alphaBand() const { return mAlphaBand; } + void setInvertColor( bool invert ){ mInvertColor = invert; } + bool invertColor() const { return mInvertColor; } + protected: inline double readValue( void *data, QgsRasterDataProvider::DataType type, int index ); @@ -77,6 +80,8 @@ class QgsRasterRenderer Default: -1 (not set)*/ int mAlphaBand; + bool mInvertColor; + private: /**Remove part into and release memory*/ void removePartInfo( int bandNumer );