diff options
Diffstat (limited to 'imagecache.h')
-rw-r--r-- | imagecache.h | 184 |
1 files changed, 92 insertions, 92 deletions
diff --git a/imagecache.h b/imagecache.h index 365e910..6d241bd 100644 --- a/imagecache.h +++ b/imagecache.h @@ -1,92 +1,92 @@ -#ifndef __TVGUIDE_IMAGECACHE_H
-#define __TVGUIDE_IMAGECACHE_H
-
-#define X_DISPLAY_MISSING
-
-#include <map>
-#include <vector>
-#include "imagemagickwrapper.h"
-
-enum eCacheType {
- ctOsdElement = 0,
- ctGrid,
- ctLogo,
- ctChannelGroup,
- ctIcon,
-};
-
-enum eOsdElementType {
- oeNone = -1,
- oeStatusHeaderContentFull,
- oeStatusHeaderContentWindowed,
- oeStatusHeaderTVFrame,
- oeButtonRed,
- oeButtonGreen,
- oeButtonYellow,
- oeButtonBlue,
- oeLogoBack,
- oeTimeline1,
- oeTimeline2,
- oeDateViewer,
- oeClock,
- oeChannelJump,
-};
-
-class cImageCache : public cImageMagickWrapper {
-public:
- cImageCache();
- ~cImageCache();
- void CreateCache(void);
- cImage *GetOsdElement(eOsdElementType type);
- cImage *GetGrid(int width, int height, bool active);
- cImage *GetChannelGroup(int width, int height);
- cImage *GetLogo(const cChannel *channel);
- cImage *GetIcon(std::string name, int width, int height);
- std::string GetCacheSize(eCacheType type);
- void Clear(void);
-private:
- cImage *tempStaticLogo;
- Image bufferGrid;
- Image bufferGridActive;
- bool gridsAvailable;
- int cornerWidth;
- int cornerHeight;
- cImage *imgLeft;
- cImage *imgLeftActive;
- cImage *imgRight;
- cImage *imgRightActive;
- cImage *imgHead;
- cImage *imgHeadActive;
- cImage *imgBottom;
- cImage *imgBottomActive;
- cImage *imgChannelgroupHead;
- cImage *imgChannelgroupBottom;
- cImage *groupsHead;
- cImage *groupsBottom;
- cImage *groupsLeft;
- cImage *groupsRight;
- std::map<eOsdElementType, cImage*> osdElementCache;
- std::map<std::string, cImage*> gridCache;
- std::map<std::string, cImage*> groupsCache;
- std::map<std::string, cImage*> logoCache;
- std::map<std::string, cImage*> iconCache;
- void CreateOsdIconCache(void);
- void PrepareGridIconCache(void);
- void CreateGridIconCache(void);
- void CreateChannelGroupCache(void);
- void CreateLogoCache(void);
- bool LoadIcon(std::string name);
- void InsertIntoOsdElementCache(eOsdElementType type, int width=0, int height=0);
- void InsertIntoGridCache(std::string name, int width, int height, bool active);
- cImage *CreateGrid(int width, int height, bool active);
- void AddCornersHorizontal(cImage *img, bool active);
- void AddCornersVertical(cImage *img, bool active);
- void InsertIntoGroupsCacheHorizontal(int size);
- void InsertIntoGroupsCacheVertical(int size);
- void AddCornersGroupHorizontal(cImage *img);
- void AddCornersGroupVertical(cImage *img);
- bool LoadLogo(const cChannel *channel);
- void InsertIntoLogoCache(std::string channelID);
-};
-
-#endif //__TVGUIDE_IMAGECACHE_H
\ No newline at end of file +#ifndef __TVGUIDE_IMAGECACHE_H +#define __TVGUIDE_IMAGECACHE_H + +#define X_DISPLAY_MISSING + +#include <map> +#include <vector> +#include "imagemagickwrapper.h" + +enum eCacheType { + ctOsdElement = 0, + ctGrid, + ctLogo, + ctChannelGroup, + ctIcon, +}; + +enum eOsdElementType { + oeNone = -1, + oeStatusHeaderContentFull, + oeStatusHeaderContentWindowed, + oeStatusHeaderTVFrame, + oeButtonRed, + oeButtonGreen, + oeButtonYellow, + oeButtonBlue, + oeLogoBack, + oeTimeline1, + oeTimeline2, + oeDateViewer, + oeClock, + oeChannelJump, +}; + +class cImageCache : public cImageMagickWrapper { +public: + cImageCache(); + ~cImageCache(); + void CreateCache(void); + cImage *GetOsdElement(eOsdElementType type); + cImage *GetGrid(int width, int height, bool active); + cImage *GetChannelGroup(int width, int height); + cImage *GetLogo(const cChannel *channel); + cImage *GetIcon(std::string name, int width, int height); + std::string GetCacheSize(eCacheType type); + void Clear(void); +private: + cImage *tempStaticLogo; + Image bufferGrid; + Image bufferGridActive; + bool gridsAvailable; + int cornerWidth; + int cornerHeight; + cImage *imgLeft; + cImage *imgLeftActive; + cImage *imgRight; + cImage *imgRightActive; + cImage *imgHead; + cImage *imgHeadActive; + cImage *imgBottom; + cImage *imgBottomActive; + cImage *imgChannelgroupHead; + cImage *imgChannelgroupBottom; + cImage *groupsHead; + cImage *groupsBottom; + cImage *groupsLeft; + cImage *groupsRight; + std::map<eOsdElementType, cImage*> osdElementCache; + std::map<std::string, cImage*> gridCache; + std::map<std::string, cImage*> groupsCache; + std::map<std::string, cImage*> logoCache; + std::map<std::string, cImage*> iconCache; + void CreateOsdIconCache(void); + void PrepareGridIconCache(void); + void CreateGridIconCache(void); + void CreateChannelGroupCache(void); + void CreateLogoCache(void); + bool LoadIcon(std::string name); + void InsertIntoOsdElementCache(eOsdElementType type, int width=0, int height=0); + void InsertIntoGridCache(std::string name, int width, int height, bool active); + cImage *CreateGrid(int width, int height, bool active); + void AddCornersHorizontal(cImage *img, bool active); + void AddCornersVertical(cImage *img, bool active); + void InsertIntoGroupsCacheHorizontal(int size); + void InsertIntoGroupsCacheVertical(int size); + void AddCornersGroupHorizontal(cImage *img); + void AddCornersGroupVertical(cImage *img); + bool LoadLogo(const cChannel *channel); + void InsertIntoLogoCache(std::string channelID); +}; + +#endif //__TVGUIDE_IMAGECACHE_H |