summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/mediawidget.cpp
authorsimon <simon>2002-12-11 13:46:15 (UTC)
committer simon <simon>2002-12-11 13:46:15 (UTC)
commit2b3c450378c1da0a2175c91d652ce2eae5614ff8 (patch) (side-by-side diff)
tree4c11c70dbf487725f6e443f5db4c5a0a0c964e61 /noncore/multimedia/opieplayer2/mediawidget.cpp
parentcd5e96b40ceae9158e5cb01e71769e895ea7a3c1 (diff)
downloadopie-2b3c450378c1da0a2175c91d652ce2eae5614ff8.zip
opie-2b3c450378c1da0a2175c91d652ce2eae5614ff8.tar.gz
opie-2b3c450378c1da0a2175c91d652ce2eae5614ff8.tar.bz2
- less code duplication. code from resizeEvent is now shared as well as
the image composing method and the pixmap mask helper
Diffstat (limited to 'noncore/multimedia/opieplayer2/mediawidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/mediawidget.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/noncore/multimedia/opieplayer2/mediawidget.cpp b/noncore/multimedia/opieplayer2/mediawidget.cpp
index ab23aa8..ab2ec50 100644
--- a/noncore/multimedia/opieplayer2/mediawidget.cpp
+++ b/noncore/multimedia/opieplayer2/mediawidget.cpp
@@ -109,6 +109,23 @@ void MediaWidget::paintEvent( QPaintEvent *pe )
}
}
+void MediaWidget::resizeEvent( QResizeEvent *e )
+{
+ QPixmap pixUp = combineImageWithBackground( buttonUpImage, backgroundPixmap, upperLeftOfButtonMask );
+ QPixmap pixDn = combineImageWithBackground( buttonDownImage, backgroundPixmap, upperLeftOfButtonMask );
+
+ for ( ButtonVector::iterator it = buttons.begin(); it != buttons.end(); ++it ) {
+ Button &button = *it;
+
+ if ( button.mask.isNull() )
+ continue;
+ button.pixUp = addMaskToPixmap( pixUp, button.mask );
+ button.pixDown = addMaskToPixmap( pixDn, button.mask );
+ }
+
+ QWidget::resizeEvent( e );
+}
+
MediaWidget::Button *MediaWidget::buttonAt( const QPoint &position )
{
if ( position.x() <= 0 || position.y() <= 0 ||
@@ -230,5 +247,21 @@ void MediaWidget::toggleButton( Button &button )
paintButton( button );
}
+QPixmap MediaWidget::combineImageWithBackground( const QImage &image, const QPixmap &background, const QPoint &offset )
+{
+ QPixmap pix( image.size() );
+ QPainter p( &pix );
+ p.drawTiledPixmap( pix.rect(), background, offset );
+ p.drawImage( 0, 0, image );
+ return pix;
+}
+
+QPixmap MediaWidget::addMaskToPixmap( const QPixmap &pix, const QBitmap &mask )
+{
+ QPixmap result( pix );
+ result.setMask( mask );
+ return result;
+}
+
/* vim: et sw=4 ts=4
*/