12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- #ifndef NULLSOFT_WINAMP_SKIN_HELPER_INTERFACE_HEADER
- #define NULLSOFT_WINAMP_SKIN_HELPER_INTERFACE_HEADER
- #if defined(_MSC_VER) && (_MSC_VER >= 1020)
- #pragma once
- #endif
- // {DC98C56E-F649-469e-82DC-234FAA8083C1}
- static const GUID IFC_SkinHelper =
- { 0xdc98c56e, 0xf649, 0x469e, { 0x82, 0xdc, 0x23, 0x4f, 0xaa, 0x80, 0x83, 0xc1 } };
- #include <bfc/dispatch.h>
- typedef struct embedWindowState embedWindowState;
- typedef int (CALLBACK *FFCALLBACK)(embedWindowState* /*windowState*/, INT /*eventId*/, LPARAM /*param*/);
- class __declspec(novtable) ifc_skinhelper : public Dispatchable
- {
-
- protected:
- ifc_skinhelper() {}
- ~ifc_skinhelper() {}
- public:
- HRESULT GetColor(UINT colorIndex, COLORREF *pColor);
- HRESULT GetColorEx(UINT uObject, UINT uPart, UINT uState, COLORREF *pColor);
- HRESULT GetBrush(UINT colorIndex, HBRUSH *pBrush);
-
- HFONT GetFont(void);
- HRESULT SkinWindow(HWND hwnd, const GUID *windowGuid, UINT flagsEx, FFCALLBACK callbackFF);
- HRESULT SkinControl(HWND hwnd, UINT type, UINT style);
- HRESULT UnskinWindow(HWND hwnd);
- HRESULT GetHostCss(OLECHAR **ppchHostCss);
- public:
- DISPATCH_CODES
- {
- API_GETCOLOR = 10,
- API_GETCOLOREX = 20,
- API_GETBRUSH = 30,
- API_GETFONT = 40,
- API_SKINWINDOW = 50,
- API_SKINCONTROL = 60,
- API_UNSKINWINDOW = 70,
- };
- };
- inline HRESULT ifc_skinhelper::GetColor(UINT colorIndex, COLORREF *pColor)
- {
- return _call(API_GETCOLOR, (HRESULT)E_NOTIMPL, colorIndex, pColor);
- }
- inline HRESULT ifc_skinhelper::GetColorEx(UINT uObject, UINT uPart, UINT uState, COLORREF *pColor)
- {
- return _call(API_GETCOLOREX, (HRESULT)E_NOTIMPL, uObject, uPart, uState, pColor);
- }
- inline HRESULT ifc_skinhelper::GetBrush(UINT colorIndex, HBRUSH *pBrush)
- {
- return _call(API_GETBRUSH, (HRESULT)E_NOTIMPL, colorIndex, pBrush);
- }
- inline HFONT ifc_skinhelper::GetFont()
- {
- return _call(API_GETFONT, (HFONT)NULL);
- }
- inline HRESULT ifc_skinhelper::SkinWindow(HWND hwnd, const GUID *windowGuid, UINT flagsEx, FFCALLBACK callbackFF)
- {
- return _call(API_SKINWINDOW, (HRESULT)E_NOTIMPL, hwnd, windowGuid, flagsEx, callbackFF);
- }
- inline HRESULT ifc_skinhelper::SkinControl(HWND hwnd, UINT type, UINT style)
- {
- return _call(API_SKINCONTROL, (HRESULT)E_NOTIMPL, hwnd, type, style);
- }
- inline HRESULT ifc_skinhelper::UnskinWindow(HWND hwnd)
- {
- return _call(API_UNSKINWINDOW, (HRESULT)E_NOTIMPL);
- }
- #endif // NULLSOFT_WINAMP_SKIN_HELPER_INTERFACE_HEADER
|