summaryrefslogtreecommitdiff
path: root/imagecache.h
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2013-10-03 10:37:54 +0200
committerlouis <louis.braun@gmx.de>2013-10-03 10:37:54 +0200
commit4a821c98ed14954c0fc2745ff7c2b99c75d56b1f (patch)
treea02d9e59cd0981a687934ff3416165d58b785ba2 /imagecache.h
parent1b7943aea0f17b8891f6b201ded6fadd17555972 (diff)
downloadskin-nopacity-4a821c98ed14954c0fc2745ff7c2b99c75d56b1f.tar.gz
skin-nopacity-4a821c98ed14954c0fc2745ff7c2b99c75d56b1f.tar.bz2
Added additional configurable channel logo cache
Diffstat (limited to 'imagecache.h')
-rw-r--r--imagecache.h17
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);
};