diff options
author | louis <louis.braun@gmx.de> | 2013-10-03 10:37:54 +0200 |
---|---|---|
committer | louis <louis.braun@gmx.de> | 2013-10-03 10:37:54 +0200 |
commit | 4a821c98ed14954c0fc2745ff7c2b99c75d56b1f (patch) | |
tree | a02d9e59cd0981a687934ff3416165d58b785ba2 /imagecache.h | |
parent | 1b7943aea0f17b8891f6b201ded6fadd17555972 (diff) | |
download | skin-nopacity-4a821c98ed14954c0fc2745ff7c2b99c75d56b1f.tar.gz skin-nopacity-4a821c98ed14954c0fc2745ff7c2b99c75d56b1f.tar.bz2 |
Added additional configurable channel logo cache
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); }; |