Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
sip modified for raster pipes
  • Loading branch information
blazek committed Jul 1, 2012
1 parent 82f6739 commit b69ff58
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 21 deletions.
23 changes: 6 additions & 17 deletions python/core/qgsrasterrenderer.sip
Expand Up @@ -29,7 +29,7 @@ class QgsRasterRenderer
virtual ~QgsRasterRenderer();

virtual QString type() const;
virtual void draw( QPainter* p, QgsRasterViewPort* viewPort, const QgsMapToPixel* theQgsMapToPixel ) = 0;
virtual void * readBlock( int bandNo, const QgsRectangle & extent, int width, int height );

bool usesTransparency( QgsCoordinateReferenceSystem& srcSRS, QgsCoordinateReferenceSystem& dstSRS ) const;

Expand All @@ -45,17 +45,6 @@ class QgsRasterRenderer
void setInvertColor( bool invert );
bool invertColor() const;

/**Set resampler for zoomed in scales. Takes ownership of the object*/
void setZoomedInResampler( QgsRasterResampler* r );
const QgsRasterResampler* zoomedInResampler();

/**Set resampler for zoomed out scales. Takes ownership of the object*/
void setZoomedOutResampler( QgsRasterResampler* r );
const QgsRasterResampler* zoomedOutResampler() const;

void setMaxOversampling( double os );
double maxOversampling() const;

/**Get symbology items if provided by renderer*/
virtual void legendSymbologyItems( QList< QPair< QString, QColor > >& symbolItems ) const;

Expand All @@ -76,7 +65,7 @@ class QgsPalettedRasterRenderer: QgsRasterRenderer
~QgsPalettedRasterRenderer();
static QgsRasterRenderer* create( const QDomElement& elem, QgsRasterDataProvider* provider );

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

/**Returns number of colors*/
int nColors() const;
Expand All @@ -101,7 +90,7 @@ class QgsMultiBandColorRenderer: QgsRasterRenderer

static QgsRasterRenderer* create( const QDomElement& elem, QgsRasterDataProvider* provider );

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

int redBand() const;
void setRedBand( int band );
Expand Down Expand Up @@ -137,7 +126,7 @@ class QgsSingleBandPseudoColorRenderer: QgsRasterRenderer

static QgsRasterRenderer* create( const QDomElement& elem, QgsRasterDataProvider* provider );

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

/**Takes ownership of the shader*/
void setShader( QgsRasterShader* shader );
Expand All @@ -159,7 +148,7 @@ class QgsSingleBandGrayRenderer: QgsRasterRenderer

static QgsRasterRenderer* create( const QDomElement& elem, QgsRasterDataProvider* provider );

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

int grayBand() const;
void setGrayBand( int band );
Expand All @@ -183,7 +172,7 @@ class QgsSingleBandColorDataRenderer: QgsRasterRenderer

static QgsRasterRenderer* create( const QDomElement& elem, QgsRasterDataProvider* provider );

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

void writeXML( QDomDocument& doc, QDomElement& parentElem ) const;
};
29 changes: 29 additions & 0 deletions python/core/qgsrasterresamplefilter.sip
@@ -0,0 +1,29 @@
class QgsRasterResampleFilter
{
%TypeHeaderCode
#include "qgsrasterresamplefilter.h"
%End

public:
QgsRasterResampleFilter( QgsRasterFace* input = 0 );
~QgsRasterResampleFilter();

void * readBlock( int bandNo, const QgsRectangle & extent, int width, int height );

/**Set resampler for zoomed in scales. Takes ownership of the object*/
void setZoomedInResampler( QgsRasterResampler* r );
const QgsRasterResampler* zoomedInResampler();

/**Set resampler for zoomed out scales. Takes ownership of the object*/
void setZoomedOutResampler( QgsRasterResampler* r );
const QgsRasterResampler* zoomedOutResampler() const;

void setMaxOversampling( double os );
double maxOversampling() const;

virtual void writeXML( QDomDocument& doc, QDomElement& parentElem ) const = 0;

/**Sets base class members from xml. Usually called from create() methods of subclasses*/
void readXML( const QDomElement& rendererElem );
};

6 changes: 3 additions & 3 deletions src/core/raster/qgsmultibandcolorrenderer.cpp
Expand Up @@ -118,18 +118,18 @@ void * QgsMultiBandColorRenderer::readBlock( int bandNo, QgsRectangle const & e
&& mAlphaBand < 1 && !mRedContrastEnhancement && !mGreenContrastEnhancement && !mBlueContrastEnhancement
&& !mInvertColor );
*/
QgsRasterDataProvider::DataType redType = QgsRasterDataProvider::UnknownDataType;
QgsRasterFace::DataType redType = QgsRasterFace::UnknownDataType;

if ( mRedBand > 0 )
{
redType = ( QgsRasterFace::DataType )mInput->dataType( mRedBand );
}
QgsRasterDataProvider::DataType greenType = QgsRasterDataProvider::UnknownDataType;
QgsRasterFace::DataType greenType = QgsRasterFace::UnknownDataType;
if ( mGreenBand > 0 )
{
greenType = ( QgsRasterFace::DataType )mInput->dataType( mGreenBand );
}
QgsRasterDataProvider::DataType blueType = QgsRasterDataProvider::UnknownDataType;
QgsRasterFace::DataType blueType = QgsRasterFace::UnknownDataType;
if ( mBlueBand > 0 )
{
blueType = ( QgsRasterFace::DataType )mInput->dataType( mBlueBand );
Expand Down
3 changes: 3 additions & 0 deletions src/core/raster/qgsrasterrenderer.h
Expand Up @@ -60,6 +60,9 @@ class CORE_EXPORT QgsRasterRenderer : public QgsRasterFace
void setInvertColor( bool invert ) { mInvertColor = invert; }
bool invertColor() const { return mInvertColor; }

/**Get symbology items if provided by renderer*/
virtual void legendSymbologyItems( QList< QPair< QString, QColor > >& symbolItems ) const { Q_UNUSED( symbolItems ); }

virtual void writeXML( QDomDocument& doc, QDomElement& parentElem ) const = 0;

/**Sets base class members from xml. Usually called from create() methods of subclasses*/
Expand Down
1 change: 0 additions & 1 deletion src/core/raster/qgssinglebandpseudocolorrenderer.cpp
Expand Up @@ -72,7 +72,6 @@ void * QgsSingleBandPseudoColorRenderer::readBlock( int bandNo, QgsRectangle co
transparencyType = ( QgsRasterFace::DataType )mInput->dataType( mAlphaBand );
}

void* transparencyData;
void* transparencyData = 0;
double currentOpacity = mOpacity;
QgsRasterFace::DataType rasterType = ( QgsRasterFace::DataType )mInput->dataType( mBand );
Expand Down

0 comments on commit b69ff58

Please sign in to comment.