summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/skin.cpp
Side-by-side diff
Diffstat (limited to 'noncore/multimedia/opieplayer2/skin.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/skin.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/noncore/multimedia/opieplayer2/skin.cpp b/noncore/multimedia/opieplayer2/skin.cpp
index 9ad5f3f..06453f9 100644
--- a/noncore/multimedia/opieplayer2/skin.cpp
+++ b/noncore/multimedia/opieplayer2/skin.cpp
@@ -21,6 +21,7 @@
*/
#include "skin.h"
+#include "singleton.h"
#include <qpe/resource.h>
#include <qpe/config.h>
@@ -38,6 +39,21 @@ struct SkinData
ButtonMaskImageMap buttonMasks;
};
+class SkinCache : public Singleton<SkinCache>
+{
+public:
+ SkinCache();
+
+ QImage loadImage( const QString &name );
+
+private:
+ typedef QDict<QImage> ImageCache;
+
+ ImageCache m_cache;
+
+ ThreadUtil::Mutex m_cacheGuard;
+};
+
Skin::Skin( const QString &name, const QString &fileNameInfix )
: m_fileNameInfix( fileNameInfix )
{