aboutsummaryrefslogtreecommitdiff
path: root/Src/omBrowser/ifc_menucustomizer.h
blob: 50e8cdd7b9e1d8c47a6bd9640b96dbe127940920 (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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#ifndef NULLSOFT_WINAMP_MENU_CUSTOMIZER_INTERFACE_HEADER
#define NULLSOFT_WINAMP_MENU_CUSTOMIZER_INTERFACE_HEADER

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

// {780C1929-76FD-4a06-934B-C85CC285A4DE}
static const GUID IFC_MenuCustomizer = 
{ 0x780c1929, 0x76fd, 0x4a06, { 0x93, 0x4b, 0xc8, 0x5c, 0xc2, 0x85, 0xa4, 0xde } };


#include "main.h"
#include <bfc/dispatch.h>

typedef LPVOID HMLIMGLST;

class __declspec(novtable) ifc_menucustomizer : public Dispatchable
{
protected:
	ifc_menucustomizer() {}
	~ifc_menucustomizer() {}

public:
	HMLIMGLST GetImageList(void);
	UINT GetSkinStyle(void);
	HRESULT GetWidth(INT *widthOut);
	INT CustomDraw(HMENU menuInstance, INT action, HDC hdc, LPARAM param);

public:
	DISPATCH_CODES
	{
		API_GETIMAGELIST		= 10,
		API_GETSKINSTYLE		= 20,
		API_GETWIDTH			= 30, 
		API_CUSTOMDRAW		= 40,
	};
};

inline HMLIMGLST ifc_menucustomizer::GetImageList(void)
{
	return _call(API_GETIMAGELIST, (HMLIMGLST)NULL);
}

inline UINT ifc_menucustomizer::GetSkinStyle(void)
{
	return (UINT)_call(API_GETSKINSTYLE, (UINT)/*SMS_USESKINFONT*/0x00000001);
}

inline HRESULT ifc_menucustomizer::GetWidth(INT *widthOut)
{
	return _call(API_GETWIDTH, (HRESULT)E_NOTIMPL, widthOut);
}

inline INT ifc_menucustomizer::CustomDraw(HMENU menuInstance, INT action, HDC hdc, LPARAM param)
{
	return _call(API_CUSTOMDRAW, (INT)FALSE, menuInstance, action, hdc, param);
}

#endif // NULLSOFT_WINAMP_MENU_CUSTOMIZER_INTERFACE_HEADER