author | simon <simon> | 2002-12-14 17:30:26 (UTC) |
---|---|---|
committer | simon <simon> | 2002-12-14 17:30:26 (UTC) |
commit | a3b9d0a1e6ee4f1e74ac3335cb2ba67f6da30476 (patch) (side-by-side diff) | |
tree | dde78606067af08f0e3ac8f6ccabff2661b99d08 /noncore/multimedia/opieplayer2/mediawidget.cpp | |
parent | bbdeff25bd0cc5ff59d52fd8bf25cdfbeac8f251 (diff) | |
download | opie-a3b9d0a1e6ee4f1e74ac3335cb2ba67f6da30476.zip opie-a3b9d0a1e6ee4f1e74ac3335cb2ba67f6da30476.tar.gz opie-a3b9d0a1e6ee4f1e74ac3335cb2ba67f6da30476.tar.bz2 |
- kill the flickery when painting. backgroundmode is now always
NoBackground and we do full double-buffering in the paintEvent
Diffstat (limited to 'noncore/multimedia/opieplayer2/mediawidget.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/multimedia/opieplayer2/mediawidget.cpp | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/noncore/multimedia/opieplayer2/mediawidget.cpp b/noncore/multimedia/opieplayer2/mediawidget.cpp index 702e6d7..f7a22a3 100644 --- a/noncore/multimedia/opieplayer2/mediawidget.cpp +++ b/noncore/multimedia/opieplayer2/mediawidget.cpp @@ -30,12 +30,14 @@ MediaWidget::MediaWidget( PlayListWidget &_playList, MediaPlayerState &_mediaPla connect( &mediaPlayerState, SIGNAL( displayTypeChanged( MediaPlayerState::DisplayType ) ), this, SLOT( setDisplayType( MediaPlayerState::DisplayType ) ) ); connect( &mediaPlayerState, SIGNAL( lengthChanged( long ) ), this, SLOT( setLength( long ) ) ); connect( &mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( setPlaying( bool ) ) ); + + setBackgroundMode( NoBackground ); } MediaWidget::~MediaWidget() { } @@ -90,25 +92,17 @@ void MediaWidget::paintEvent( QPaintEvent *pe ) if ( mediaPlayerState.isFullscreen() ) { // Clear the background p.setBrush( QBrush( Qt::black ) ); return; } - if ( !pe->erased() ) { - // Combine with background and double buffer - QPixmap pix( pe->rect().size() ); - QPainter p( &pix ); - p.translate( -pe->rect().topLeft().x(), -pe->rect().topLeft().y() ); - p.drawTiledPixmap( pe->rect(), backgroundPixmap, pe->rect().topLeft() ); - paintAllButtons( p ); - QPainter p2( this ); - p2.drawPixmap( pe->rect().topLeft(), pix ); - } else { - QPainter p( this ); - paintAllButtons( p ); - } + QPixmap buffer( size() ); + QPainter bufferedPainter( &buffer ); + bufferedPainter.drawTiledPixmap( rect(), backgroundPixmap, QPoint( 0, 0 ) ); + paintAllButtons( bufferedPainter ); + p.drawPixmap( 0, 0, buffer ); } void MediaWidget::resizeEvent( QResizeEvent *e ) { QPixmap pixUp = combineImageWithBackground( buttonUpImage, backgroundPixmap, upperLeftOfButtonMask ); QPixmap pixDn = combineImageWithBackground( buttonDownImage, backgroundPixmap, upperLeftOfButtonMask ); |