diff options
Diffstat (limited to 'imagecache.h')
-rw-r--r-- | imagecache.h | 90 |
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); }; |