mirror of
https://github.com/WinampDesktop/winamp.git
synced 2024-12-28 23:16:06 +00:00
53 lines
1.4 KiB
C++
53 lines
1.4 KiB
C++
#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
|