diff options
Diffstat (limited to 'Src/omBrowser/ifc_skinhelper.h')
-rw-r--r-- | Src/omBrowser/ifc_skinhelper.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/Src/omBrowser/ifc_skinhelper.h b/Src/omBrowser/ifc_skinhelper.h new file mode 100644 index 00000000..40457dce --- /dev/null +++ b/Src/omBrowser/ifc_skinhelper.h @@ -0,0 +1,85 @@ +#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 |