summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/mediawidget.cpp
authorsimon <simon>2002-12-14 17:30:26 (UTC)
committer simon <simon>2002-12-14 17:30:26 (UTC)
commita3b9d0a1e6ee4f1e74ac3335cb2ba67f6da30476 (patch) (unidiff)
treedde78606067af08f0e3ac8f6ccabff2661b99d08 /noncore/multimedia/opieplayer2/mediawidget.cpp
parentbbdeff25bd0cc5ff59d52fd8bf25cdfbeac8f251 (diff)
downloadopie-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.cpp20
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
@@ -33,6 +33,8 @@ MediaWidget::MediaWidget( PlayListWidget &_playList, MediaPlayerState &_mediaPla
33 this, SLOT( setLength( long ) ) ); 33 this, SLOT( setLength( long ) ) );
34 connect( &mediaPlayerState, SIGNAL( playingToggled( bool ) ), 34 connect( &mediaPlayerState, SIGNAL( playingToggled( bool ) ),
35 this, SLOT( setPlaying( bool ) ) ); 35 this, SLOT( setPlaying( bool ) ) );
36
37 setBackgroundMode( NoBackground );
36} 38}
37 39
38MediaWidget::~MediaWidget() 40MediaWidget::~MediaWidget()
@@ -93,19 +95,11 @@ void MediaWidget::paintEvent( QPaintEvent *pe )
93 return; 95 return;
94 } 96 }
95 97
96 if ( !pe->erased() ) { 98 QPixmap buffer( size() );
97 // Combine with background and double buffer 99 QPainter bufferedPainter( &buffer );
98 QPixmap pix( pe->rect().size() ); 100 bufferedPainter.drawTiledPixmap( rect(), backgroundPixmap, QPoint( 0, 0 ) );
99 QPainter p( &pix ); 101 paintAllButtons( bufferedPainter );
100 p.translate( -pe->rect().topLeft().x(), -pe->rect().topLeft().y() ); 102 p.drawPixmap( 0, 0, buffer );
101 p.drawTiledPixmap( pe->rect(), backgroundPixmap, pe->rect().topLeft() );
102 paintAllButtons( p );
103 QPainter p2( this );
104 p2.drawPixmap( pe->rect().topLeft(), pix );
105 } else {
106 QPainter p( this );
107 paintAllButtons( p );
108 }
109} 103}
110 104
111void MediaWidget::resizeEvent( QResizeEvent *e ) 105void MediaWidget::resizeEvent( QResizeEvent *e )