Diffstat (limited to 'noncore/multimedia/opieplayer2/mediawidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/multimedia/opieplayer2/mediawidget.cpp | 33 |
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 | |||
@@ -111,2 +111,19 @@ void MediaWidget::paintEvent( QPaintEvent *pe ) | |||
111 | 111 | ||
112 | void MediaWidget::resizeEvent( QResizeEvent *e ) | ||
113 | { | ||
114 | QPixmap pixUp = combineImageWithBackground( buttonUpImage, backgroundPixmap, upperLeftOfButtonMask ); | ||
115 | QPixmap pixDn = combineImageWithBackground( buttonDownImage, backgroundPixmap, upperLeftOfButtonMask ); | ||
116 | |||
117 | for ( ButtonVector::iterator it = buttons.begin(); it != buttons.end(); ++it ) { | ||
118 | Button &button = *it; | ||
119 | |||
120 | if ( button.mask.isNull() ) | ||
121 | continue; | ||
122 | button.pixUp = addMaskToPixmap( pixUp, button.mask ); | ||
123 | button.pixDown = addMaskToPixmap( pixDn, button.mask ); | ||
124 | } | ||
125 | |||
126 | QWidget::resizeEvent( e ); | ||
127 | } | ||
128 | |||
112 | MediaWidget::Button *MediaWidget::buttonAt( const QPoint &position ) | 129 | MediaWidget::Button *MediaWidget::buttonAt( const QPoint &position ) |
@@ -232,2 +249,18 @@ void MediaWidget::toggleButton( Button &button ) | |||
232 | 249 | ||
250 | QPixmap MediaWidget::combineImageWithBackground( const QImage &image, const QPixmap &background, const QPoint &offset ) | ||
251 | { | ||
252 | QPixmap pix( image.size() ); | ||
253 | QPainter p( &pix ); | ||
254 | p.drawTiledPixmap( pix.rect(), background, offset ); | ||
255 | p.drawImage( 0, 0, image ); | ||
256 | return pix; | ||
257 | } | ||
258 | |||
259 | QPixmap MediaWidget::addMaskToPixmap( const QPixmap &pix, const QBitmap &mask ) | ||
260 | { | ||
261 | QPixmap result( pix ); | ||
262 | result.setMask( mask ); | ||
263 | return result; | ||
264 | } | ||
265 | |||
233 | /* vim: et sw=4 ts=4 | 266 | /* vim: et sw=4 ts=4 |