summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2
authorsimon <simon>2002-12-09 13:35:46 (UTC)
committer simon <simon>2002-12-09 13:35:46 (UTC)
commitd1324d850a3c8269bd6009de6fdf6c321954b371 (patch) (unidiff)
treef9effa74f69b06b8e9e7b89c3317c871c2bd81d6 /noncore/multimedia/opieplayer2
parent235ef0e11bfd61c0debb530de8598ae38a396914 (diff)
downloadopie-d1324d850a3c8269bd6009de6fdf6c321954b371.zip
opie-d1324d850a3c8269bd6009de6fdf6c321954b371.tar.gz
opie-d1324d850a3c8269bd6009de6fdf6c321954b371.tar.bz2
- use a vector to store the masks
Diffstat (limited to 'noncore/multimedia/opieplayer2') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.cpp19
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.h4
2 files changed, 12 insertions, 11 deletions
diff --git a/noncore/multimedia/opieplayer2/audiowidget.cpp b/noncore/multimedia/opieplayer2/audiowidget.cpp
index adef247..fe7ddc1 100644
--- a/noncore/multimedia/opieplayer2/audiowidget.cpp
+++ b/noncore/multimedia/opieplayer2/audiowidget.cpp
@@ -101,30 +101,32 @@ AudioWidget::AudioWidget( PlayListWidget &playList, MediaPlayerState &mediaPlaye
101 skin = cfg.readEntry("Skin","default"); 101 skin = cfg.readEntry("Skin","default");
102 //skin = "scaleTest"; 102 //skin = "scaleTest";
103 // color of background, frame, degree of transparency 103 // color of background, frame, degree of transparency
104 104
105 QString skinPath = "opieplayer2/skins/" + skin; 105 QString skinPath = "opieplayer2/skins/" + skin;
106 pixBg = QPixmap( Resource::loadPixmap( QString("%1/background").arg(skinPath) ) ); 106 pixBg = QPixmap( Resource::loadPixmap( QString("%1/background").arg(skinPath) ) );
107 imgUp = QImage( Resource::loadImage( QString("%1/skin_up").arg(skinPath) ) ); 107 imgUp = QImage( Resource::loadImage( QString("%1/skin_up").arg(skinPath) ) );
108 imgDn = QImage( Resource::loadImage( QString("%1/skin_down").arg(skinPath) ) ); 108 imgDn = QImage( Resource::loadImage( QString("%1/skin_down").arg(skinPath) ) );
109 109
110 buttonMask = QImage( imgUp.width(), imgUp.height(), 8, 255 ); 110 buttonMask = QImage( imgUp.width(), imgUp.height(), 8, 255 );
111 buttonMask.fill( 0 ); 111 buttonMask.fill( 0 );
112 112
113 for ( int i = 0; i < 10; i++ ) { 113 masks.reserve( 10 );
114
115 for ( uint i = 0; i < masks.capacity(); i++ ) {
114 QString filename = QString( QPEApplication::qpeDir() + "/pics/" + skinPath + "/skin_mask_" + skin_mask_file_names[i] + ".png" ); 116 QString filename = QString( QPEApplication::qpeDir() + "/pics/" + skinPath + "/skin_mask_" + skin_mask_file_names[i] + ".png" );
115 masks[i] = new QBitmap( filename ); 117 masks.push_back( QBitmap( filename ) );
116 118
117 if ( !masks[i]->isNull() ) { 119 if ( !masks[i].isNull() ) {
118 QImage imgMask = masks[i]->convertToImage(); 120 QImage imgMask = masks[i].convertToImage();
119 uchar **dest = buttonMask.jumpTable(); 121 uchar **dest = buttonMask.jumpTable();
120 for ( int y = 0; y < imgUp.height(); y++ ) { 122 for ( int y = 0; y < imgUp.height(); y++ ) {
121 uchar *line = dest[y]; 123 uchar *line = dest[y];
122 for ( int x = 0; x < imgUp.width(); x++ ) 124 for ( int x = 0; x < imgUp.width(); x++ )
123 if ( !qRed( imgMask.pixel( x, y ) ) ) 125 if ( !qRed( imgMask.pixel( x, y ) ) )
124 line[x] = i + 1; 126 line[x] = i + 1;
125 } 127 }
126 } 128 }
127 129
128 } 130 }
129 131
130 for ( int i = 0; i < 10; i++ ) { 132 for ( int i = 0; i < 10; i++ ) {
@@ -173,27 +175,24 @@ AudioWidget::AudioWidget( PlayListWidget &playList, MediaPlayerState &mediaPlaye
173 setLooping( mediaPlayerState.isFullscreen() ); 175 setLooping( mediaPlayerState.isFullscreen() );
174 // setPaused( mediaPlayerState->paused() ); 176 // setPaused( mediaPlayerState->paused() );
175 setPlaying( mediaPlayerState.isPlaying() ); 177 setPlaying( mediaPlayerState.isPlaying() );
176 178
177} 179}
178 180
179AudioWidget::~AudioWidget() { 181AudioWidget::~AudioWidget() {
180 182
181 for ( int i = 0; i < 10; i++ ) { 183 for ( int i = 0; i < 10; i++ ) {
182 delete buttonPixUp[i]; 184 delete buttonPixUp[i];
183 delete buttonPixDown[i]; 185 delete buttonPixDown[i];
184 } 186 }
185 for ( int i = 0; i < 10; i++ ) {
186 delete masks[i];
187 }
188// mediaPlayerState->setPlaying(false); 187// mediaPlayerState->setPlaying(false);
189} 188}
190 189
191namespace { 190namespace {
192 191
193QPixmap combineImageWithBackground( QImage img, QPixmap bg, QPoint offset ) { 192QPixmap combineImageWithBackground( QImage img, QPixmap bg, QPoint offset ) {
194 QPixmap pix( img.width(), img.height() ); 193 QPixmap pix( img.width(), img.height() );
195 QPainter p( &pix ); 194 QPainter p( &pix );
196 p.drawTiledPixmap( pix.rect(), bg, offset ); 195 p.drawTiledPixmap( pix.rect(), bg, offset );
197 p.drawImage( 0, 0, img ); 196 p.drawImage( 0, 0, img );
198 return pix; 197 return pix;
199} 198}
@@ -216,29 +215,29 @@ void AudioWidget::resizeEvent( QResizeEvent * ) {
216 slider.setGeometry( QRect( 15, h - 22, w - 90, 20 ) ); 215 slider.setGeometry( QRect( 15, h - 22, w - 90, 20 ) );
217 slider.setBackgroundOrigin( QWidget::ParentOrigin ); 216 slider.setBackgroundOrigin( QWidget::ParentOrigin );
218 time.setGeometry( QRect( w - 85, h - 30, 70, 20 ) ); 217 time.setGeometry( QRect( w - 85, h - 30, 70, 20 ) );
219 218
220 upperLeftOfButtonMask.rx() = ( w - imgUp.width() ) / 2; 219 upperLeftOfButtonMask.rx() = ( w - imgUp.width() ) / 2;
221 upperLeftOfButtonMask.ry() = (( h - imgUp.height() ) / 2) - 10; 220 upperLeftOfButtonMask.ry() = (( h - imgUp.height() ) / 2) - 10;
222 QPoint p = upperLeftOfButtonMask; 221 QPoint p = upperLeftOfButtonMask;
223 222
224 QPixmap pixUp = combineImageWithBackground( imgUp, pixBg, p ); 223 QPixmap pixUp = combineImageWithBackground( imgUp, pixBg, p );
225 QPixmap pixDn = combineImageWithBackground( imgDn, pixBg, p ); 224 QPixmap pixDn = combineImageWithBackground( imgDn, pixBg, p );
226 225
227 for ( int i = 0; i < 10; i++ ) { 226 for ( int i = 0; i < 10; i++ ) {
228 if ( !masks[i]->isNull() ) { 227 if ( !masks[i].isNull() ) {
229 delete buttonPixUp[i]; 228 delete buttonPixUp[i];
230 delete buttonPixDown[i]; 229 delete buttonPixDown[i];
231 buttonPixUp[i] = maskPixToMask( pixUp, *masks[i] ); 230 buttonPixUp[i] = maskPixToMask( pixUp, masks[i] );
232 buttonPixDown[i] = maskPixToMask( pixDn, *masks[i] ); 231 buttonPixDown[i] = maskPixToMask( pixDn, masks[i] );
233 } 232 }
234 } 233 }
235} 234}
236 235
237void AudioWidget::sliderPressed() { 236void AudioWidget::sliderPressed() {
238 audioSliderBeingMoved = TRUE; 237 audioSliderBeingMoved = TRUE;
239} 238}
240 239
241 240
242void AudioWidget::sliderReleased() { 241void AudioWidget::sliderReleased() {
243 audioSliderBeingMoved = FALSE; 242 audioSliderBeingMoved = FALSE;
244 if ( slider.width() == 0 ) 243 if ( slider.width() == 0 )
diff --git a/noncore/multimedia/opieplayer2/audiowidget.h b/noncore/multimedia/opieplayer2/audiowidget.h
index 8426490..bc7262c 100644
--- a/noncore/multimedia/opieplayer2/audiowidget.h
+++ b/noncore/multimedia/opieplayer2/audiowidget.h
@@ -82,32 +82,34 @@ protected:
82 void showEvent( QShowEvent *se ); 82 void showEvent( QShowEvent *se );
83 void resizeEvent( QResizeEvent *re ); 83 void resizeEvent( QResizeEvent *re );
84 void mouseMoveEvent( QMouseEvent *event ); 84 void mouseMoveEvent( QMouseEvent *event );
85 void mousePressEvent( QMouseEvent *event ); 85 void mousePressEvent( QMouseEvent *event );
86 void mouseReleaseEvent( QMouseEvent *event ); 86 void mouseReleaseEvent( QMouseEvent *event );
87 void timerEvent( QTimerEvent *event ); 87 void timerEvent( QTimerEvent *event );
88 void keyReleaseEvent( QKeyEvent *e); 88 void keyReleaseEvent( QKeyEvent *e);
89private slots: 89private slots:
90 void skipFor(); 90 void skipFor();
91 void skipBack(); 91 void skipBack();
92 void stopSkip(); 92 void stopSkip();
93private: 93private:
94 typedef std::vector<QBitmap> MaskVector;
95
94 void setToggleButton( int, bool ); 96 void setToggleButton( int, bool );
95 virtual void paintButton( QPainter &p, int i ); 97 virtual void paintButton( QPainter &p, int i );
96 int skipDirection; 98 int skipDirection;
97 QString skin; 99 QString skin;
98 QPixmap pixBg; 100 QPixmap pixBg;
99 QImage imgUp; 101 QImage imgUp;
100 QImage imgDn; 102 QImage imgDn;
101 QBitmap *masks[10]; 103 MaskVector masks;
102 QPixmap *buttonPixUp[10]; 104 QPixmap *buttonPixUp[10];
103 QPixmap *buttonPixDown[10]; 105 QPixmap *buttonPixDown[10];
104 106
105 QPixmap *pixmaps[4]; 107 QPixmap *pixmaps[4];
106 OTicker songInfo; 108 OTicker songInfo;
107 QSlider slider; 109 QSlider slider;
108 QLineEdit time; 110 QLineEdit time;
109 bool isStreaming : 1; 111 bool isStreaming : 1;
110 bool audioSliderBeingMoved : 1; 112 bool audioSliderBeingMoved : 1;
111}; 113};
112 114
113 115