winamp/Src/omBrowser/ifc_menucustomizer.h
2024-09-24 14:54:57 +02:00

60 lines
1.4 KiB
C++

#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