aboutsummaryrefslogtreecommitdiff
path: root/Src/Plugins/Library/ml_local/AlbumArtContainer.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Plugins/Library/ml_local/AlbumArtContainer.h')
-rw-r--r--Src/Plugins/Library/ml_local/AlbumArtContainer.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/Src/Plugins/Library/ml_local/AlbumArtContainer.h b/Src/Plugins/Library/ml_local/AlbumArtContainer.h
new file mode 100644
index 00000000..988721ff
--- /dev/null
+++ b/Src/Plugins/Library/ml_local/AlbumArtContainer.h
@@ -0,0 +1,43 @@
+#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 \ No newline at end of file