summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/mediawidget.cpp
Side-by-side diff
Diffstat (limited to 'noncore/multimedia/opieplayer2/mediawidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/mediawidget.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/noncore/multimedia/opieplayer2/mediawidget.cpp b/noncore/multimedia/opieplayer2/mediawidget.cpp
index f977b61..3a44185 100644
--- a/noncore/multimedia/opieplayer2/mediawidget.cpp
+++ b/noncore/multimedia/opieplayer2/mediawidget.cpp
@@ -45,4 +45,32 @@ void MediaWidget::closeEvent( QCloseEvent * )
}
+void MediaWidget::paintEvent( QPaintEvent *pe )
+{
+ QPainter p( this );
+
+ 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() );
+ for ( unsigned int i = 0; i < buttons.count(); i++ ) {
+ paintButton( p, buttons[ i ] );
+ }
+ QPainter p2( this );
+ p2.drawPixmap( pe->rect().topLeft(), pix );
+ } else {
+ QPainter p( this );
+ for ( unsigned int i = 0; i < buttons.count(); i++ )
+ paintButton( p, buttons[ i ] );
+ }
+}
+
void MediaWidget::handleCommand( Command command, bool buttonDown )
{