43 lines
795 B
C++
43 lines
795 B
C++
#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 |