fixed bug on shadow rendering when size < 5 - in which case only the round corner should be rendered

svn path=/trunk/KDE/kdebase/workspace/; revision=1037681
This commit is contained in:
Hugo Pereira Da Costa 2009-10-19 19:43:59 +00:00
parent f7c3b99ac0
commit 60bf914cee
2 changed files with 71 additions and 60 deletions

View file

@ -172,6 +172,9 @@ namespace Oxygen
// some gradients rendering are different at bottom corners if client has no border // some gradients rendering are different at bottom corners if client has no border
bool hasBorder( key.hasBorder || key.isShade ); bool hasBorder( key.hasBorder || key.isShade );
if( shadowSize )
{
if( active && key.useOxygenShadows ) if( active && key.useOxygenShadows )
{ {
@ -257,6 +260,8 @@ namespace Oxygen
} }
}
// draw the corner of the window - actually all 4 corners as one circle // draw the corner of the window - actually all 4 corners as one circle
// this is all fixedSize. Does not scale with shadow size // this is all fixedSize. Does not scale with shadow size
QLinearGradient lg = QLinearGradient(0.0, size-4.5, 0.0, size+4.5); QLinearGradient lg = QLinearGradient(0.0, size-4.5, 0.0, size+4.5);

View file

@ -73,7 +73,13 @@ namespace Oxygen
//! shadow size //! shadow size
qreal shadowSize( void ) const qreal shadowSize( void ) const
{ return qMax( activeShadowConfiguration_.shadowSize(), inactiveShadowConfiguration_.shadowSize() ); } {
qreal size( qMax( activeShadowConfiguration_.shadowSize(), inactiveShadowConfiguration_.shadowSize() ) );
// even if shadows are disabled,
// you need a minimum size to allow corner rendering
return qMax( size, 5.0 );
}
//! get shadow matching client //! get shadow matching client
TileSet* tileSet( const OxygenClient* ); TileSet* tileSet( const OxygenClient* );