aboutsummaryrefslogtreecommitdiff
path: root/Src/omBrowser/ifc_imageloader.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/omBrowser/ifc_imageloader.h')
-rw-r--r--Src/omBrowser/ifc_imageloader.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/Src/omBrowser/ifc_imageloader.h b/Src/omBrowser/ifc_imageloader.h
new file mode 100644
index 00000000..22bcdd4a
--- /dev/null
+++ b/Src/omBrowser/ifc_imageloader.h
@@ -0,0 +1,53 @@
+#ifndef NULLSOFT_WINAMP_OMIMAGELOADER_INTERFACE_HEADER
+#define NULLSOFT_WINAMP_OMIMAGELOADER_INTERFACE_HEADER
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+#pragma once
+#endif
+
+#include <bfc/dispatch.h>
+
+class __declspec(novtable) ifc_omimageloader : public Dispatchable
+{
+protected:
+ ifc_omimageloader() {}
+ ~ifc_omimageloader() {}
+
+public:
+ HRESULT LoadData(int *widthOut, int *heightOut, void **dataOut);
+ HRESULT FreeData(void *data);
+
+ HRESULT LoadBitmapEx(HBITMAP *bitmapOut, BITMAPINFOHEADER *headerInfo, void **dataOut);
+ HRESULT LoadBitmap(HBITMAP *bitmapOut, int *widthOut, int *heightOut);
+
+public:
+ DISPATCH_CODES
+ {
+ API_LOADDATA = 10,
+ API_FREEDATA = 20,
+ API_LOADBITMAP = 30,
+ API_LOADBITMAPEX = 40,
+ };
+};
+
+inline HRESULT ifc_omimageloader::LoadData(int *widthOut, int *heightOut, void **dataOut)
+{
+ return _call(API_LOADDATA, (HRESULT)E_NOTIMPL, widthOut, heightOut, dataOut);
+}
+
+inline HRESULT ifc_omimageloader::FreeData(void *data)
+{
+ return _call(API_FREEDATA, (HRESULT)E_NOTIMPL, data);
+}
+
+inline HRESULT ifc_omimageloader::LoadBitmapEx(HBITMAP *bitmapOut, BITMAPINFOHEADER *headerInfo, void **dataOut)
+{
+ return _call(API_LOADBITMAPEX, (HRESULT)E_NOTIMPL, bitmapOut, headerInfo, dataOut, bitmapOut);
+}
+
+inline HRESULT ifc_omimageloader::LoadBitmap(HBITMAP *bitmapOut, int *widthOut, int *heightOut)
+{
+ return _call(API_LOADBITMAP, (HRESULT)E_NOTIMPL, bitmapOut, widthOut, heightOut);
+}
+
+#endif //NULLSOFT_WINAMP_OMIMAGELOADER_INTERFACE_HEADER \ No newline at end of file