Changelog: * define interface IDragSourceHelper * define interface IDropTargetHelper Now with typedefs for C. (The last patch worked only correctly for C++.) -- Martin Fuchs martin-fuchs@gmx.net
Index: shlobj.h =================================================================== RCS file: /home/wine/wine/include/shlobj.h,v retrieving revision 1.68 diff -u -r1.68 shlobj.h --- shlobj.h 28 Aug 2003 21:43:35 -0000 1.68 +++ shlobj.h 30 Aug 2003 16:54:45 -0000 @@ -606,6 +607,47 @@ } DROPFILES, *LPDROPFILES; #include <poppack.h> + + +#if (_WIN32_IE >= 0x0500) + +//#include <pshpack8.h> +typedef struct +{ + SIZE sizeDragImage; + POINT ptOffset; + HBITMAP hbmpDragImage; + COLORREF crColorKey; +} SHDRAGIMAGE, *LPSHDRAGIMAGE; +//#include <poppack.h> + +typedef struct IDragSourceHelper IDragSourceHelper; +#undef INTERFACE +#define INTERFACE IDragSourceHelper +DECLARE_INTERFACE_(IDragSourceHelper, IUnknown) +{ + STDMETHOD (QueryInterface)(THIS_ REFIID riid, void **ppv) PURE; + STDMETHOD_(ULONG, AddRef) (THIS) PURE; + STDMETHOD_(ULONG, Release) (THIS) PURE; + STDMETHOD (InitializeFromBitmap)(THIS_ LPSHDRAGIMAGE pshdi, IDataObject* pDataObject) PURE; + STDMETHOD (InitializeFromWindow)(THIS_ HWND hwnd, POINT* ppt, IDataObject* pDataObject) PURE; +}; + +typedef struct IDropTargetHelper IDropTargetHelper; +#undef INTERFACE +#define INTERFACE IDropTargetHelper +DECLARE_INTERFACE_(IDropTargetHelper, IUnknown) +{ + STDMETHOD (QueryInterface)(THIS_ REFIID riid, void** ppv) PURE; + STDMETHOD_(ULONG, AddRef) (THIS) PURE; + STDMETHOD_(ULONG, Release) (THIS) PURE; + STDMETHOD (DragEnter)(THIS_ HWND hwndTarget, IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE; + STDMETHOD (DragLeave)(THIS) PURE; + STDMETHOD (DragOver)(THIS_ POINT* ppt, DWORD dwEffect) PURE; + STDMETHOD (Drop)(THIS_ IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE; + STDMETHOD (Show)(THIS_ BOOL fShow) PURE; +}; +#endif /* _WIN32_IE >= 0x0500 */ #ifdef __cplusplus } /* extern "C" */