summaryrefslogtreecommitdiff
path: root/imagecache.h
diff options
context:
space:
mode:
Diffstat (limited to 'imagecache.h')
-rw-r--r--imagecache.h90
1 files changed, 57 insertions, 33 deletions
diff --git a/imagecache.h b/imagecache.h
index f528011..b634011 100644
--- a/imagecache.h
+++ b/imagecache.h
@@ -15,31 +15,54 @@ enum eCacheType {
ctLogo,
ctLogoMenuItem,
ctLogoTimer,
- ctBackground,
+ ctSkinElement,
};
-enum eBackgroundType {
- btNone = -1,
- btDefault = 0,
- btDefaultHigh,
- btMain,
- btMainHigh,
- btSchedules,
- btSchedulesHigh,
- btChannels,
- btChannelsHigh,
- btRecordings,
- btRecordingsHigh,
- btTimers,
- btTimersHigh,
- btSetup,
- btSetupHigh,
- btTracks,
- btTracksHigh,
- btButtonRed,
- btButtonGreen,
- btButtonYellow,
- btButtonBlue,
- btMenuHeader,
+
+enum eSkinElementType {
+ seNone = -1,
+ seDefault = 0,
+ seDefaultHigh,
+ seMain,
+ seMainHigh,
+ seMainTop,
+ seSchedules,
+ seSchedulesHigh,
+ seSchedulesTop,
+ seChannels,
+ seChannelsHigh,
+ seChannelsTop,
+ seRecordings,
+ seRecordingsHigh,
+ seRecordingsTop,
+ seTimers,
+ seTimersHigh,
+ seTimersTop,
+ seSetup,
+ seSetupHigh,
+ seSetupTop,
+ seTracks,
+ seTracksHigh,
+ seTracksTop,
+ seButtonRed,
+ seButtonGreen,
+ seButtonYellow,
+ seButtonBlue,
+ seMenuHeader,
+ seChannelBackground,
+ seChannelTop,
+ seChannelLogoBack,
+ seReplayBackground,
+ seReplayTop,
+ seMessageStatus,
+ seMessageInfo,
+ seMessageWarning,
+ seMessageError,
+ seMessageMenuStatus,
+ seMessageMenuInfo,
+ seMessageMenuWarning,
+ seMessageMenuError,
+ seVolumeBackground,
+ seScrollbar,
};
struct sImgProperties {
@@ -58,28 +81,29 @@ public:
bool ThemeChanged(void);
cImage *GetMenuIcon(std::string name);
cImage *GetSkinIcon(std::string name, int width=0, int height=0, bool preserveAspect = true);
+ cImage *GetSkinElement(eSkinElementType type);
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::map<eSkinElementType, cImage*> skinElementCache;
+ std::map<std::string, cImage*> logoCache;
+ std::map<std::string, cImage*> logoMenuItemCache;
+ std::map<std::string, cImage*> logoTimerCache;
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);
+ bool LoadIcon(eCacheType type, std::string name);
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);
+ void InsertIntoLogoCache(eCacheType type, std::string channelID);
cPoint LogoSize(eCacheType type);
- void CreateBackgroundImages(void);
+ void CreateSkinElementsBlended(void);
+ void CreateSkinElementsGraphics(void);
+ void InsertIntoSkinElementCache(eSkinElementType type, int width=0, int height=0);
void Clear(void);
};