Diffstat (limited to 'core/applets/volumeapplet/oledbox.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | core/applets/volumeapplet/oledbox.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/core/applets/volumeapplet/oledbox.cpp b/core/applets/volumeapplet/oledbox.cpp index 3036929..7547287 100644 --- a/core/applets/volumeapplet/oledbox.cpp +++ b/core/applets/volumeapplet/oledbox.cpp @@ -146,12 +146,14 @@ void OLedBox::drawLed ( QPixmap *pix, const QColor &col ) // paint a ROUND SUNK { QPainter paint; QColor color; QBrush brush; QPen pen; + pix-> fill ( black ); + // First of all we want to know what area should be updated // Initialize coordinates, width, and height of the LED int width = pix-> width ( ); // Make sure the LED is round! if ( width > pix-> height ( )) @@ -216,12 +218,15 @@ void OLedBox::drawLed ( QPixmap *pix, const QColor &col ) // paint a ROUND SUNK // Drawing of bright spot finished, now draw a thin border // around the LED which resembles a shadow with light coming // from the upper left. #ifdef _QTE_IS_TOO_DUMB_TO_DRAW_AN_ARC paint. drawPixmap ( 0, 0, *s_border_pix ); + paint. end ( ); + + pix-> setMask ( pix-> createHeuristicMask ( )); #else pen.setWidth( 3 ); brush.setStyle( QBrush::NoBrush ); // Switch off the brush paint.setBrush( brush ); // This avoids filling of the ellipse @@ -250,21 +255,21 @@ void OLedBox::drawLed ( QPixmap *pix, const QColor &col ) // paint a ROUND SUNK else { shadow_color -= 25; // set color to a darker value again if ( shadow_color < 100 ) shadow_color = 100; } // end if ( angle < 2320 ) } // end for ( angle = 720; angle < 6480; angle += 160 ) -#endif paint.end(); // // painting done QBitmap mask ( pix-> width ( ), pix-> height ( ), true ); QPainter mp ( &mask ); mp. setPen ( Qt::NoPen ); mp. setBrush ( Qt::color1 ); mp. drawEllipse ( 0, 0, width + 2, width + 2 ); mp. end ( ); pix-> setMask ( mask ); +#endif } |