summaryrefslogtreecommitdiff
path: root/bitmap.h
diff options
context:
space:
mode:
authorlordjaxom <lordjaxom>2005-01-28 21:26:34 +0000
committerlordjaxom <lordjaxom>2005-01-28 21:26:34 +0000
commitc5a641a335f198435cd84f0e5e45dbab94089a81 (patch)
tree2d7db171fa69c7ba7d93a26edad2094fc2d254a3 /bitmap.h
parent2c823c26e341dc67052467864e2299663c9a7b8f (diff)
downloadvdr-plugin-text2skin-c5a641a335f198435cd84f0e5e45dbab94089a81.tar.gz
vdr-plugin-text2skin-c5a641a335f198435cd84f0e5e45dbab94089a81.tar.bz2
- fixup of template handling, which is obviously too broken to work everywhere
Diffstat (limited to 'bitmap.h')
-rw-r--r--bitmap.h29
1 files changed, 10 insertions, 19 deletions
diff --git a/bitmap.h b/bitmap.h
index 446a94a..be29363 100644
--- a/bitmap.h
+++ b/bitmap.h
@@ -1,5 +1,5 @@
/*
- * $Id: bitmap.h,v 1.6 2005/01/27 17:31:35 lordjaxom Exp $
+ * $Id: bitmap.h,v 1.7 2005/01/28 21:26:34 lordjaxom Exp $
*/
#ifndef VDR_TEXT2SKIN_BITMAP_H
@@ -50,15 +50,18 @@ inline bool tBitmapSpec::operator==(const tBitmapSpec &Src) const
class cText2SkinBitmap;
-template<>
-void cxCache<tBitmapSpec,cText2SkinBitmap*>::Delete(const tBitmapSpec &Key,
- cText2SkinBitmap *&Data);
-template<>
-void cxCache<tBitmapSpec,cText2SkinBitmap*>::Reset(cText2SkinBitmap *&Data);
+class cBitmapCache: public cxCache<tBitmapSpec,cText2SkinBitmap*> {
+protected:
+ virtual void DeleteObject(const tBitmapSpec &Key, cText2SkinBitmap *&Data);
+ virtual void ResetObject(cText2SkinBitmap *&Data);
+
+public:
+ cBitmapCache(uint MaxItems): cxCache<tBitmapSpec,cText2SkinBitmap*>(MaxItems) {}
+};
class cText2SkinBitmap {
private:
- static cxCache<tBitmapSpec,cText2SkinBitmap*> mCache;
+ static cBitmapCache mCache;
std::vector<cBitmap*> mBitmaps;
int mCurrent;
@@ -96,16 +99,4 @@ inline void cText2SkinBitmap::SetColor(int Index, tColor Color) {
mBitmaps[mCurrent]->SetColor(Index, Color);
}
-template<>
-void cxCache<tBitmapSpec,cText2SkinBitmap*>::Delete(const tBitmapSpec &Key, cText2SkinBitmap *&Data)
-{
- delete Data;
-}
-
-template<>
-void cxCache<tBitmapSpec,cText2SkinBitmap*>::Reset(cText2SkinBitmap *&Data)
-{
- Data->Reset();
-}
-
#endif // VDR_TEXT2SKIN_BITMAP_H