12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #ifndef NULLSOFT_ML_LOCAL_ALBUMARTCONTAINER_H
- #define NULLSOFT_ML_LOCAL_ALBUMARTCONTAINER_H
- #include <windows.h> // for HDC
- #include <tataki/canvas/bltcanvas.h>
- class AlbumArtContainer
- {
- public:
- enum CacheStatus
- {
- CACHE_UNKNOWN,
- CACHE_CACHED,
- CACHE_NOTFOUND,
- CACHE_LOADING,
- };
- AlbumArtContainer();
- enum
- {
- DRAW_SUCCESS,
- DRAW_NOART,
- DRAW_LOADING,
- };
- int drawArt(DCCanvas *pCanvas, RECT *prcDst);
- // benski> this definition is just temporary to get things going
- void AddRef();
- void Release();
- wchar_t *filename; // actually an NDE reference counted string
- MSG updateMsg;
- void SetCache(SkinBitmap *bitmap, CacheStatus status);
- void Reset();
- private:
- ~AlbumArtContainer();
- SkinBitmap * volatile cache;
- volatile CacheStatus cached;
- size_t references;
- };
- #endif
|