aboutsummaryrefslogtreecommitdiff
path: root/Src/Plugins/Library/ml_pmp/AlbumArtListView.h
blob: d63358499c3caad132dbe6dbea61f5c3e85bef75 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#ifndef _ALBUMARTLISTVIEW_H_
#define _ALBUMARTLISTVIEW_H_

#include "SkinnedListView.h"
#include <tataki/bitmap/autobitmap.h>
#include <tataki/canvas/bltcanvas.h>

class AlbumArtListView : public SkinnedListView {
public:
	AlbumArtListView(ListContents * lc, int dlgitem, HWND libraryParent, HWND parent, bool enableHeaderMenu=true);

	virtual ~AlbumArtListView();
	virtual int GetFindItemColumn();
	virtual BOOL DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam);

	virtual HMENU GetMenu(bool isFilter, int filterNum, C_Config *c, HMENU themenu);
	virtual void ProcessMenuResult(int r, bool isFilter, int filterNum, C_Config *c, HWND parent);

	BOOL DrawItemIcon(NMLVCUSTOMDRAW *plvcd, DCCanvas *pCanvas, UINT itemState, RECT *prcClip, BOOL bWndActive);
	BOOL PrepareDetails(HDC hdc);
	BOOL DrawItemDetail(NMLVCUSTOMDRAW *plvcd, DCCanvas *pCanvas, UINT itemState, RECT *prcClip, BOOL bWndActive, HDC hdcNaes, INT namesWidth);
	void drawArt(pmpart_t art, DCCanvas *pCanvas, RECT *prcDst, int itemid, int imageIndex);

protected:
	BOOL OnCustomDrawDetails(NMLVCUSTOMDRAW *plvcd, LRESULT *pResult);
	BOOL OnCustomDrawIcon(NMLVCUSTOMDRAW *plvcd, LRESULT *pResult);
	BOOL OnKeyDown(NMLVKEYDOWN *plvkd);
	BOOL CalcuateItemHeight(void);

	int dlgitem;
	HWND hwndDlg;
	int mode;
	WNDPROC oldproc;
	AutoSkinBitmap notfound, notfound60, notfound90;
	ARGB32 * classicnotfound[3];
	int classicnotfoundW,classicnotfoundH;
	INT ratingrow;
	HBITMAP hbmpNames;
	INT itemHeight;
	INT textHeight;
	INT ratingTop;
};

#endif // _ALBUMARTLISTVIEW_H_