aboutsummaryrefslogtreecommitdiff
path: root/Src/omBrowser/ifc_skinhelper.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/omBrowser/ifc_skinhelper.h')
-rw-r--r--Src/omBrowser/ifc_skinhelper.h85
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