author | sandman <sandman> | 2002-10-01 16:20:28 (UTC) |
---|---|---|
committer | sandman <sandman> | 2002-10-01 16:20:28 (UTC) |
commit | 3352558f31f2f3f5f32730a28f07161fe71787a9 (patch) (unidiff) | |
tree | 613a75fb333cfd28f54e29cd2b420889ea4467f0 /core | |
parent | 70d2cbd97a6b39b1738e3e6580f916dcf0fbc787 (diff) | |
download | opie-3352558f31f2f3f5f32730a28f07161fe71787a9.zip opie-3352558f31f2f3f5f32730a28f07161fe71787a9.tar.gz opie-3352558f31f2f3f5f32730a28f07161fe71787a9.tar.bz2 |
Another performance tweak for busyindicator and alpha-blended bg pixmaps
-rw-r--r-- | core/launcher/launcherview.cpp | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/core/launcher/launcherview.cpp b/core/launcher/launcherview.cpp index 33717bc..e15b150 100644 --- a/core/launcher/launcherview.cpp +++ b/core/launcher/launcherview.cpp | |||
@@ -140,7 +140,7 @@ public: | |||
140 | if ( busytimer ) | 140 | if ( busytimer ) |
141 | killTimer ( busytimer ); | 141 | killTimer ( busytimer ); |
142 | timerEvent ( 0 ); | 142 | timerEvent ( 0 ); |
143 | busytimer = startTimer ( 180 ); | 143 | busytimer = startTimer ( 200 ); |
144 | } | 144 | } |
145 | else { | 145 | else { |
146 | killTimer ( busytimer ); | 146 | killTimer ( busytimer ); |
@@ -157,7 +157,7 @@ public: | |||
157 | if ( busystate > 5 ) | 157 | if ( busystate > 5 ) |
158 | busystate = -4; | 158 | busystate = -4; |
159 | 159 | ||
160 | bsy-> repaint ( ); | 160 | QScrollView::updateContents ( bsy-> pixmapRect ( false )); |
161 | } | 161 | } |
162 | } | 162 | } |
163 | } | 163 | } |
@@ -202,7 +202,21 @@ public: | |||
202 | } | 202 | } |
203 | 203 | ||
204 | void setBackgroundPixmap( const QPixmap &pm ) { | 204 | void setBackgroundPixmap( const QPixmap &pm ) { |
205 | bgPixmap = pm; | 205 | if ( pm. isNull ( )) { |
206 | bgPixmap = pm; | ||
207 | } | ||
208 | else { | ||
209 | // This is need for bg images with alpha channel | ||
210 | |||
211 | QPixmap tmp ( pm. size ( ), pm. depth ( )); | ||
212 | |||
213 | QPainter p ( &tmp ); | ||
214 | p. fillRect ( 0, 0, pm. width ( ), pm. height ( ), bgColor. isValid ( ) ? bgColor : white ); | ||
215 | p. drawPixmap ( 0, 0, pm ); | ||
216 | p. end ( ); | ||
217 | |||
218 | bgPixmap = tmp; | ||
219 | } | ||
206 | } | 220 | } |
207 | 221 | ||
208 | void setBackgroundColor( const QColor &c ) { | 222 | void setBackgroundColor( const QColor &c ) { |
@@ -212,7 +226,7 @@ public: | |||
212 | void drawBackground( QPainter *p, const QRect &r ) | 226 | void drawBackground( QPainter *p, const QRect &r ) |
213 | { | 227 | { |
214 | if ( !bgPixmap.isNull() ) { | 228 | if ( !bgPixmap.isNull() ) { |
215 | p-> fillRect ( r, bgColor ); | 229 | //p-> fillRect ( r, bgColor ); |
216 | p->drawTiledPixmap( r, bgPixmap, | 230 | p->drawTiledPixmap( r, bgPixmap, |
217 | QPoint( (r.x() + contentsX()) % bgPixmap.width(), | 231 | QPoint( (r.x() + contentsX()) % bgPixmap.width(), |
218 | (r.y() + contentsY()) % bgPixmap.height() ) ); | 232 | (r.y() + contentsY()) % bgPixmap.height() ) ); |