/* * $Id: bitmap.h,v 1.3 2004/12/28 01:54:02 lordjaxom Exp $ */ #ifndef VDR_TEXT2SKIN_BITMAP_H #define VDR_TEXT2SKIN_BITMAP_H #include "common.h" #include "cache.h" #include class cText2SkinBitmap { private: static cText2SkinCache mCache; std::vector mBitmaps; int mCurrent; time_t mDelay; time_t mLastGet; // disallow direct construction cText2SkinBitmap(void); public: static cText2SkinBitmap *Load(const std::string &Filename, int Alpha = 0, int height = 0, int width = 0, int colors = 0); static bool Available(const std::string &Filename); static void ResetCache(void) { mCache.Reset(); } static void FlushCache(void) { mCache.Flush(); } virtual ~cText2SkinBitmap(); void Reset(void) { mCurrent = 0; mLastGet = 0; } cBitmap &Get(uint &UpdateIn, uint Now); void SetColor(int Index, tColor Color); void SetAlpha(int Alpha); bool LoadXpm(const char *Filename); #ifdef HAVE_IMLIB2 bool LoadImlib(const char *Filename,int height, int width, int colors, bool Quiet); #endif #ifdef HAVE_IMAGEMAGICK bool LoadMagick(const char *Filename,int height, int width, int colors, bool Quiet); #endif }; inline void cText2SkinBitmap::SetColor(int Index, tColor Color) { mBitmaps[mCurrent]->SetColor(Index, Color); } #endif // VDR_TEXT2SKIN_BITMAP_H