Skip to content

Commit

Permalink
raster renderers clone fix - fixes saves with transparency
Browse files Browse the repository at this point in the history
  • Loading branch information
blazek committed Oct 3, 2012
1 parent fe6a8a3 commit f2eb092
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 0 deletions.
5 changes: 5 additions & 0 deletions src/core/raster/qgsmultibandcolorrenderer.cpp
Expand Up @@ -55,6 +55,11 @@ QgsRasterInterface * QgsMultiBandColorRenderer::clone() const
{
renderer->setBlueContrastEnhancement( new QgsContrastEnhancement( *mBlueContrastEnhancement ) );
}
renderer->setOpacity( mOpacity );
renderer->setAlphaBand( mAlphaBand );
renderer->setInvertColor( mInvertColor );
renderer->setRasterTransparency( mRasterTransparency );

return renderer;
}

Expand Down
4 changes: 4 additions & 0 deletions src/core/raster/qgspalettedrasterrenderer.cpp
Expand Up @@ -37,6 +37,10 @@ QgsPalettedRasterRenderer::~QgsPalettedRasterRenderer()
QgsRasterInterface * QgsPalettedRasterRenderer::clone() const
{
QgsPalettedRasterRenderer * renderer = new QgsPalettedRasterRenderer( 0, mBandNumber, colors(), mNColors );
renderer->setOpacity( mOpacity );
renderer->setAlphaBand( mAlphaBand );
renderer->setInvertColor( mInvertColor );
renderer->setRasterTransparency( mRasterTransparency );
return renderer;
}

Expand Down
4 changes: 4 additions & 0 deletions src/core/raster/qgssinglebandcolordatarenderer.cpp
Expand Up @@ -34,6 +34,10 @@ QgsSingleBandColorDataRenderer::~QgsSingleBandColorDataRenderer()
QgsRasterInterface * QgsSingleBandColorDataRenderer::clone() const
{
QgsSingleBandColorDataRenderer * renderer = new QgsSingleBandColorDataRenderer( 0, mBand );
renderer->setOpacity( mOpacity );
renderer->setAlphaBand( mAlphaBand );
renderer->setInvertColor( mInvertColor );
renderer->setRasterTransparency( mRasterTransparency );
return renderer;
}

Expand Down
4 changes: 4 additions & 0 deletions src/core/raster/qgssinglebandgrayrenderer.cpp
Expand Up @@ -35,6 +35,10 @@ QgsSingleBandGrayRenderer::~QgsSingleBandGrayRenderer()
QgsRasterInterface * QgsSingleBandGrayRenderer::clone() const
{
QgsSingleBandGrayRenderer * renderer = new QgsSingleBandGrayRenderer( 0, mGrayBand );
renderer->setOpacity( mOpacity );
renderer->setAlphaBand( mAlphaBand );
renderer->setInvertColor( mInvertColor );
renderer->setRasterTransparency( mRasterTransparency );
if ( mContrastEnhancement )
{
renderer->setContrastEnhancement( new QgsContrastEnhancement( *mContrastEnhancement ) );
Expand Down
4 changes: 4 additions & 0 deletions src/core/raster/qgssinglebandpseudocolorrenderer.cpp
Expand Up @@ -56,6 +56,10 @@ QgsRasterInterface * QgsSingleBandPseudoColorRenderer::clone() const
}
QgsSingleBandPseudoColorRenderer * renderer = new QgsSingleBandPseudoColorRenderer( 0, mBand, shader );

renderer->setOpacity( mOpacity );
renderer->setAlphaBand( mAlphaBand );
renderer->setInvertColor( mInvertColor );
renderer->setRasterTransparency( mRasterTransparency );

return renderer;
}
Expand Down

0 comments on commit f2eb092

Please sign in to comment.