author | simon <simon> | 2002-12-14 17:54:47 (UTC) |
---|---|---|
committer | simon <simon> | 2002-12-14 17:54:47 (UTC) |
commit | 03c4518324c328c530eb795705b6a4281d65055a (patch) (unidiff) | |
tree | 903d32d360050d5eb1a65f104618d215e6f804ae | |
parent | a3b9d0a1e6ee4f1e74ac3335cb2ba67f6da30476 (diff) | |
download | opie-03c4518324c328c530eb795705b6a4281d65055a.zip opie-03c4518324c328c530eb795705b6a4281d65055a.tar.gz opie-03c4518324c328c530eb795705b6a4281d65055a.tar.bz2 |
- save a bit of memory by caching a pixmap instead
-rw-r--r-- | noncore/multimedia/opieplayer2/skin.cpp | 46 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/skin.h | 4 |
2 files changed, 25 insertions, 25 deletions
diff --git a/noncore/multimedia/opieplayer2/skin.cpp b/noncore/multimedia/opieplayer2/skin.cpp index e9fb5a6..d6f4080 100644 --- a/noncore/multimedia/opieplayer2/skin.cpp +++ b/noncore/multimedia/opieplayer2/skin.cpp | |||
@@ -38,3 +38,3 @@ struct SkinData | |||
38 | 38 | ||
39 | QImage backgroundImage; | 39 | QPixmap backgroundPixmap; |
40 | QImage buttonUpImage; | 40 | QImage buttonUpImage; |
@@ -56,3 +56,3 @@ private: | |||
56 | typedef QCache<SkinData> DataCache; | 56 | typedef QCache<SkinData> DataCache; |
57 | typedef QCache<QImage> BackgroundImageCache; | 57 | typedef QCache<QPixmap> BackgroundPixmapCache; |
58 | 58 | ||
@@ -62,3 +62,3 @@ private: | |||
62 | DataCache m_cache; | 62 | DataCache m_cache; |
63 | BackgroundImageCache m_backgroundImageCache; | 63 | BackgroundPixmapCache m_backgroundPixmapCache; |
64 | }; | 64 | }; |
@@ -90,3 +90,3 @@ void Skin::preload( const MediaWidget::SkinButtonInfo *skinButtonInfo, uint butt | |||
90 | { | 90 | { |
91 | backgroundImage(); | 91 | backgroundPixmap(); |
92 | buttonUpImage(); | 92 | buttonUpImage(); |
@@ -96,7 +96,7 @@ void Skin::preload( const MediaWidget::SkinButtonInfo *skinButtonInfo, uint butt | |||
96 | 96 | ||
97 | QImage Skin::backgroundImage() const | 97 | QPixmap Skin::backgroundPixmap() const |
98 | { | 98 | { |
99 | if ( d->backgroundImage.isNull() ) | 99 | if ( d->backgroundPixmap.isNull() ) |
100 | d->backgroundImage = loadImage( QString( "%1/background" ).arg( m_skinPath ) ); | 100 | d->backgroundPixmap = loadImage( QString( "%1/background" ).arg( m_skinPath ) ); |
101 | return d->backgroundImage; | 101 | return d->backgroundPixmap; |
102 | } | 102 | } |
@@ -175,3 +175,3 @@ SkinCache::SkinCache() | |||
175 | // ... and one background pixmap | 175 | // ... and one background pixmap |
176 | m_backgroundImageCache.setMaxCost( 1 ); | 176 | m_backgroundPixmapCache.setMaxCost( 1 ); |
177 | } | 177 | } |
@@ -188,9 +188,9 @@ SkinData *SkinCache::lookupAndTake( const QString &skinPath, const QString &file | |||
188 | 188 | ||
189 | QImage *bgImage = m_backgroundImageCache.find( skinPath ); | 189 | QPixmap *bgPixmap = m_backgroundPixmapCache.find( skinPath ); |
190 | if ( bgImage ) { | 190 | if ( bgPixmap ) { |
191 | qDebug( "SkinCache: hit on bgimage" ); | 191 | qDebug( "SkinCache: hit on bgpixmap" ); |
192 | data->backgroundImage = *bgImage; | 192 | data->backgroundPixmap = *bgPixmap; |
193 | } | 193 | } |
194 | else | 194 | else |
195 | data->backgroundImage = QImage(); | 195 | data->backgroundPixmap = QPixmap(); |
196 | 196 | ||
@@ -201,5 +201,5 @@ void SkinCache::store( const QString &skinPath, const QString &fileNameInfix, Sk | |||
201 | { | 201 | { |
202 | QImage *backgroundImage = new QImage( data->backgroundImage ); | 202 | QPixmap *backgroundPixmap = new QPixmap( data->backgroundPixmap ); |
203 | 203 | ||
204 | data->backgroundImage = QImage(); | 204 | data->backgroundPixmap = QPixmap(); |
205 | 205 | ||
@@ -211,5 +211,5 @@ void SkinCache::store( const QString &skinPath, const QString &fileNameInfix, Sk | |||
211 | 211 | ||
212 | if ( m_backgroundImageCache.find( skinPath, false /*ref*/ ) != 0 || | 212 | if ( m_backgroundPixmapCache.find( skinPath, false /*ref*/ ) != 0 || |
213 | !m_backgroundImageCache.insert( skinPath, backgroundImage ) ) | 213 | !m_backgroundPixmapCache.insert( skinPath, backgroundPixmap ) ) |
214 | delete backgroundImage; | 214 | delete backgroundPixmap; |
215 | } | 215 | } |
@@ -219,3 +219,3 @@ SkinLoader::IncrementalLoader::IncrementalLoader( const Info &info ) | |||
219 | { | 219 | { |
220 | m_currentState = LoadBackgroundImage; | 220 | m_currentState = LoadBackgroundPixmap; |
221 | } | 221 | } |
@@ -225,5 +225,5 @@ SkinLoader::IncrementalLoader::LoaderResult SkinLoader::IncrementalLoader::loadS | |||
225 | switch ( m_currentState ) { | 225 | switch ( m_currentState ) { |
226 | case LoadBackgroundImage: | 226 | case LoadBackgroundPixmap: |
227 | qDebug( "load bgimage" ); | 227 | qDebug( "load bgpixmap" ); |
228 | m_skin.backgroundImage(); | 228 | m_skin.backgroundPixmap(); |
229 | m_currentState = LoadButtonUpImage; | 229 | m_currentState = LoadButtonUpImage; |
diff --git a/noncore/multimedia/opieplayer2/skin.h b/noncore/multimedia/opieplayer2/skin.h index a43a1d0..90062c2 100644 --- a/noncore/multimedia/opieplayer2/skin.h +++ b/noncore/multimedia/opieplayer2/skin.h | |||
@@ -42,3 +42,3 @@ public: | |||
42 | 42 | ||
43 | QImage backgroundImage() const; | 43 | QPixmap backgroundPixmap() const; |
44 | QImage buttonUpImage() const; | 44 | QImage buttonUpImage() const; |
@@ -108,3 +108,3 @@ private: | |||
108 | private: | 108 | private: |
109 | enum State { LoadBackgroundImage, LoadButtonUpImage, LoadButtonDownImage, LoadButtonMasks, LoadButtonMask }; | 109 | enum State { LoadBackgroundPixmap, LoadButtonUpImage, LoadButtonDownImage, LoadButtonMasks, LoadButtonMask }; |
110 | 110 | ||