Diffstat (limited to 'noncore/multimedia/opieplayer2/skin.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/multimedia/opieplayer2/skin.cpp | 16 |
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 ) { |