summaryrefslogtreecommitdiff
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
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 (more/less context) (show whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.cpp13
-rw-r--r--noncore/multimedia/opieplayer2/mediawidget.cpp33
-rw-r--r--noncore/multimedia/opieplayer2/mediawidget.h5
-rw-r--r--noncore/multimedia/opieplayer2/videowidget.cpp32
4 files changed, 42 insertions, 41 deletions
diff --git a/noncore/multimedia/opieplayer2/audiowidget.cpp b/noncore/multimedia/opieplayer2/audiowidget.cpp
index bb686f1..bb07882 100644
--- a/noncore/multimedia/opieplayer2/audiowidget.cpp
+++ b/noncore/multimedia/opieplayer2/audiowidget.cpp
@@ -125,39 +125,30 @@ QPixmap combineImageWithBackground( QImage img, QPixmap bg, QPoint offset ) {
QPixmap maskPixToMask( QPixmap pix, QBitmap mask ) {
QPixmap pixmap( pix );
pixmap.setMask( mask );
return pixmap;
}
};
-void AudioWidget::resizeEvent( QResizeEvent * ) {
+void AudioWidget::resizeEvent( QResizeEvent *e ) {
int h = height();
int w = width();
songInfo.setGeometry( QRect( 2, 2, w - 4, 20 ) );
slider.setFixedWidth( w - 110 );
slider.setGeometry( QRect( 15, h - 22, w - 90, 20 ) );
slider.setBackgroundOrigin( QWidget::ParentOrigin );
time.setGeometry( QRect( w - 85, h - 30, 70, 20 ) );
upperLeftOfButtonMask.rx() = ( w - buttonUpImage.width() ) / 2;
upperLeftOfButtonMask.ry() = (( h - buttonUpImage.height() ) / 2) - 10;
- QPoint p = upperLeftOfButtonMask;
- QPixmap pixUp = combineImageWithBackground( buttonUpImage, backgroundPixmap, p );
- QPixmap pixDn = combineImageWithBackground( buttonDownImage, backgroundPixmap, p );
-
- for ( uint i = 0; i < buttons.size(); i++ ) {
- if ( !buttons[i].mask.isNull() ) {
- buttons[i].pixUp = maskPixToMask( pixUp, buttons[i].mask );
- buttons[i].pixDown = maskPixToMask( pixDn, buttons[i].mask );
- }
- }
+ MediaWidget::resizeEvent( e );
}
void AudioWidget::sliderPressed() {
audioSliderBeingMoved = TRUE;
}
void AudioWidget::sliderReleased() {
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
@@ -104,16 +104,33 @@ void MediaWidget::paintEvent( QPaintEvent *pe )
QPainter p2( this );
p2.drawPixmap( pe->rect().topLeft(), pix );
} else {
QPainter p( this );
paintAllButtons( p );
}
}
+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 ||
position.x() >= buttonMask.width() ||
position.y() >= buttonMask.height() )
return 0;
int pixelIdx = buttonMask.pixelIndex( position.x(), position.y() );
@@ -225,10 +242,26 @@ void MediaWidget::setToggleButton( Button &button, bool down )
void MediaWidget::toggleButton( Button &button )
{
button.isDown = !button.isDown;
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
*/
diff --git a/noncore/multimedia/opieplayer2/mediawidget.h b/noncore/multimedia/opieplayer2/mediawidget.h
index 9f13677..4599637 100644
--- a/noncore/multimedia/opieplayer2/mediawidget.h
+++ b/noncore/multimedia/opieplayer2/mediawidget.h
@@ -107,16 +107,18 @@ protected:
void loadDefaultSkin( const SkinButtonInfo *skinInfo, uint buttonCount, const QString &fileNameInfix = QString::null );
void loadSkin( const SkinButtonInfo *skinInfo, uint buttonCount, const Skin &skin );
virtual void closeEvent( QCloseEvent * );
virtual void paintEvent( QPaintEvent *pe );
+ virtual void resizeEvent( QResizeEvent *e );
+
Button *buttonAt( const QPoint &position );
virtual void mousePressEvent( QMouseEvent *event );
virtual void mouseReleaseEvent( QMouseEvent *event );
virtual void makeVisible();
void handleCommand( Command command, bool buttonDown );
@@ -138,13 +140,16 @@ protected:
QImage buttonMask;
QPoint upperLeftOfButtonMask;
QPixmap backgroundPixmap;
QImage buttonUpImage;
QImage buttonDownImage;
+
+ static QPixmap combineImageWithBackground( const QImage &background, const QPixmap &pixmap, const QPoint &offset );
+ static QPixmap addMaskToPixmap( const QPixmap &pix, const QBitmap &mask );
};
#endif // MEDIAWIDGET_H
/* vim: et sw=4 ts=4
*/
diff --git a/noncore/multimedia/opieplayer2/videowidget.cpp b/noncore/multimedia/opieplayer2/videowidget.cpp
index bc47717..a8ff540 100644
--- a/noncore/multimedia/opieplayer2/videowidget.cpp
+++ b/noncore/multimedia/opieplayer2/videowidget.cpp
@@ -94,63 +94,35 @@ VideoWidget::VideoWidget( PlayListWidget &playList, MediaPlayerState &mediaPlaye
setPlaying( mediaPlayerState.isPlaying() );
}
VideoWidget::~VideoWidget()
{
}
-QPixmap *combineVImageWithBackground( QImage img, QPixmap bg, QPoint offset ) {
- QPixmap pix( img.width(), img.height() );
- QPainter p( &pix );
- p.drawTiledPixmap( pix.rect(), bg, offset );
- p.drawImage( 0, 0, img );
- return new QPixmap( pix );
-}
-
-QPixmap maskVPixToMask( QPixmap pix, QBitmap mask ) {
- QPixmap pixmap( pix );
- pixmap.setMask( mask );
- return pixmap;
-}
-
-void VideoWidget::resizeEvent( QResizeEvent * ) {
+void VideoWidget::resizeEvent( QResizeEvent *e ) {
int h = height();
int w = width();
//int Vh = 160;
//int Vw = 220;
slider->setFixedWidth( w - 20 );
slider->setGeometry( QRect( 15, h - 22, w - 90, 20 ) );
slider->setBackgroundOrigin( QWidget::ParentOrigin );
slider->setFocusPolicy( QWidget::NoFocus );
slider->setBackgroundPixmap( backgroundPixmap );
upperLeftOfButtonMask.rx() = 0;// ( imgUp->width() ) / 2;
if(w>h)
upperLeftOfButtonMask.ry() = 0;
else
upperLeftOfButtonMask.ry() = 185;//(( Vh - imgUp->height() ) / 2) - 10;
- QPoint p = upperLeftOfButtonMask;
-
- QPixmap *pixUp = combineVImageWithBackground( buttonUpImage, backgroundPixmap, p );
- QPixmap *pixDn = combineVImageWithBackground( buttonDownImage, backgroundPixmap, p );
-
- for ( ButtonVector::iterator it = buttons.begin(); it != buttons.end(); ++it ) {
- Button &button = *it;
-
- if ( !button.mask.isNull() ) {
- button.pixUp = maskVPixToMask( *pixUp, button.mask );
- button.pixDown = maskVPixToMask( *pixDn, button.mask );
- }
- }
- delete pixUp;
- delete pixDn;
+ MediaWidget::resizeEvent( e );
}
void VideoWidget::sliderPressed() {
videoSliderBeingMoved = TRUE;
}
void VideoWidget::sliderReleased() {
videoSliderBeingMoved = FALSE;