diff options
Diffstat (limited to 'imagecache.h')
-rw-r--r-- | imagecache.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/imagecache.h b/imagecache.h index eb91d0d..f528011 100644 --- a/imagecache.h +++ b/imagecache.h @@ -12,6 +12,10 @@ using namespace Magick; enum eCacheType { ctMenuIcon = 0, ctSkinIcon, + ctLogo, + ctLogoMenuItem, + ctLogoTimer, + ctBackground, }; enum eBackgroundType { btNone = -1, @@ -49,23 +53,32 @@ public: cImageCache(); ~cImageCache(); void CreateCache(void); - void CreateCache2(void); + void CreateCacheDelayed(void); void Reload(void); bool ThemeChanged(void); cImage *GetMenuIcon(std::string name); cImage *GetSkinIcon(std::string name, int width=0, int height=0, bool preserveAspect = true); + cImage *GetLogo(eCacheType type, const cChannel *channel); cImage *GetBackground(eBackgroundType type); cImage GetBackground(tColor back, tColor blend, int width, int height, bool flip = false); + std::string GetCacheSize(eCacheType type); private: bool initComplete; + cImage *tempStaticLogo; std::string osdTheme; std::map<std::string, cImage*> menuIconCache; std::map<std::string, cImage*> skinIconCache; + std::map<int, cImage*> logoCache; + std::map<int, cImage*> logoMenuItemCache; + std::map<int, cImage*> logoTimerCache; std::vector<cImage*> backgroundImages; std::vector<std::pair<std::string, cPoint> > GetMenuIcons(void); std::vector<std::pair<std::string, sImgProperties> > GetSkinIcons(void); bool LoadIcon(eCacheType type, std::string name, int width, int height, bool preserveAspect = true); - void InsertIntoCache(eCacheType type, std::string name, int width, int height, bool preserveAspect = true); + void InsertIntoIconCache(eCacheType type, std::string name, int width, int height, bool preserveAspect = true); + bool LoadLogo(const cChannel *channel); + void InsertIntoLogoCache(eCacheType type, int channelNumber); + cPoint LogoSize(eCacheType type); void CreateBackgroundImages(void); void Clear(void); }; |