10#ifndef GUIIMAGECACHE_H
11#define GUIIMAGECACHE_H
15#include "GUIImageCacheReplacementPolicy.h"
22#define GETIMGCACHE (CGUIImageCache::GetInstance())
135#ifdef GUILIANI_STREAM_GUI
Helper Macros in Guiliani
ImageResource_t
Enumeration of image resource ids.
Definition: GUIImageResource.h:126
Image cache base class.
Definition: GUIImageCache.h:106
virtual void SetUsedReplacementPolicy(CGUIImageCacheReplacementPolicy *pPolicy)
void SetReadResolutionAppendix(const eC_String &kAppendString)
Definition: GUIImageCache.h:152
eC_UInt m_uiCacheSizeLimit
Maximum amount of memory used by images.
Definition: GUIImageCache.h:285
virtual eC_UInt GetCurrentMemoryUsage() const =0
eC_UInt GetCacheSizeLimit() const
Definition: GUIImageCache.h:179
virtual eC_Bool ReadCacheSettingsFromFile(const eC_String &kPath)=0
eC_String m_kAppendString
Extension to the resolution for config reading.
Definition: GUIImageCache.h:288
virtual void CopyCacheContents(CGUIImageCacheReplacementPolicy *pOldPolicy, CGUIImageCacheReplacementPolicy *pNewPolicy)=0
eC_Bool SetCacheSizeLimit(eC_UInt uiCacheSizeLimit)
virtual eC_UInt GetImageSize(const ImageResource_t &eImageID) const =0
static void DeleteInstance()
Deletes the only instance of this class.
static void CreateInstance(eC_UInt uiSize=100 *1024 *1024, ReplacementPolicyType_t eUsed=IC_REPLACEMENT_POLICY_LRU, ReplacementPolicyType_t eFree=IC_REPLACEMENT_POLICY_LRU)
virtual eC_Bool LoadImg(const eC_String &kPath, const ImageResource_t &eImageID)=0
virtual void MarkAsUsed(const ImageResource_t &eImageID)=0
static void NotifyImageAccess(const ImageResource_t &eImageID)
Definition: GUIImageCache.h:209
virtual eC_Bool FreeSpace(eC_UInt uiSpaceToFree)=0
friend class CGUIBackgroundImageLoaderThread
Definition: GUIImageCache.h:111
CGUIImageCacheReplacementPolicy * m_pFreeReplacementPolicy
Pointer to the current free list replacement policy.
Definition: GUIImageCache.h:291
static CGUIImageCache * ms_pInstance
Pointer to singleton instance.
Definition: GUIImageCache.h:282
virtual ~CGUIImageCache()
Destructor.
static CGUIImageCache * GetInstance()
Definition: GUIImageCache.h:127
virtual void MarkAsFree(const ImageResource_t &eImageID)=0
virtual void NotifyImageAccessInternal(const ImageResource_t &eImageID)=0
virtual eC_Bool PreloadImg(const eC_String &psPath, const ImageResource_t &eImageID)=0
virtual void SetFreeReplacementPolicy(CGUIImageCacheReplacementPolicy *pPolicy)
CGUIImageCacheReplacementPolicy * m_pUsedReplacementPolicy
Pointer to the current used list replacement policy.
Definition: GUIImageCache.h:294
CGUIImageCacheReplacementManager * m_pUsedListManager
Pointer to the current used list manager.
Definition: GUIImageCache.h:300
virtual eC_Bool UnloadSpecificImage(const ImageResource_t &eImageID)=0
CGUIImageCacheReplacementManager * m_pFreeListManager
Pointer to the current free list manager.
Definition: GUIImageCache.h:297
Replacement manager for the image cache.
Definition: GUIImageCacheReplacementManager.h:23
Abstract replacement policy for use with the Guiliani image cache.
Definition: GUIImageCacheReplacementPolicy.h:34
Manages resource ID mappings for fonts, images, sounds, etc.
Definition: GUIResourceManager.h:111
The graphics wrapper base class.
Definition: GfxWrap.h:88
ReplacementPolicyType_t
Definition: GUIImageCacheReplacementPolicy.h:22
@ IC_REPLACEMENT_POLICY_LRU
Last recently used.
Definition: GUIImageCacheReplacementPolicy.h:26