From bb7c60962d8d3fd970236c263efa2e22284df69e Mon Sep 17 00:00:00 2001 From: Danny Smith Date: Mon, 18 Aug 2003 09:43:24 +0000 Subject: 2003-08-17 Danny Smith * include/commctrl.h (TB_*) Group defines together. 2003-08-17 Martin Fuchs * include/winuser.h (ICON_SMALL2): Define. * include/commctrl.h (TB_SETBUTTONWIDTH,TB_SETDRAWTEXTFLAGS): Define. * include/shlobj.h (SHDRAGIMAGE): Define structure. (IDragSourceHelper) Define interface. (IDropTargetHelper): Likewise. (IExtractIcon): Unicode it. (ICommDlgBrowser): Use IShellView type as param in OnDefaultCommand, OnStateChange and IncludeObject methods. --- winsup/w32api/include/shlobj.h | 93 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 76 insertions(+), 17 deletions(-) (limited to 'winsup/w32api/include/shlobj.h') diff --git a/winsup/w32api/include/shlobj.h b/winsup/w32api/include/shlobj.h index 1a0afaed5..dc0da0e7d 100644 --- a/winsup/w32api/include/shlobj.h +++ b/winsup/w32api/include/shlobj.h @@ -492,8 +492,8 @@ DECLARE_INTERFACE_(IShellPropSheetExt, IUnknown) typedef IShellPropSheetExt *LPSHELLPROPSHEETEXT; #undef INTERFACE -#define INTERFACE IExtractIcon -DECLARE_INTERFACE_(IExtractIcon, IUnknown) /* exic */ +#define INTERFACE IExtractIconA +DECLARE_INTERFACE_(IExtractIconA, IUnknown) { STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; STDMETHOD_(ULONG,AddRef)(THIS) PURE; @@ -501,7 +501,27 @@ DECLARE_INTERFACE_(IExtractIcon, IUnknown) /* exic */ STDMETHOD(GetIconLocation)(THIS_ UINT,LPSTR,UINT,int*,PUINT) PURE; STDMETHOD(Extract)(THIS_ LPCSTR,UINT,HICON*,HICON*,UINT) PURE; }; -typedef IExtractIcon *LPEXTRACTICON; +typedef IExtractIconA *LPEXTRACTICONA; + +#undef INTERFACE +#define INTERFACE IExtractIconW +DECLARE_INTERFACE_(IExtractIconW, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetIconLocation)(THIS_ UINT,LPWSTR,UINT,int*,PUINT) PURE; + STDMETHOD(Extract)(THIS_ LPCWSTR,UINT,HICON*,HICON*,UINT) PURE; +}; +typedef IExtractIconW *LPEXTRACTICONW; + +#ifdef UNICODE +#define IExtractIcon IExtractIconW +#define LPEXTRACTICON LPEXTRACTICONW +#else +#define IExtractIcon IExtractIconA +#define LPEXTRACTICON LPEXTRACTICONA +#endif #undef INTERFACE #define INTERFACE IShellLinkA @@ -612,19 +632,6 @@ DECLARE_INTERFACE(IFileViewer) }; typedef IFileViewer *LPFILEVIEWER; -#undef INTERFACE -#define INTERFACE ICommDlgBrowser -DECLARE_INTERFACE_(ICommDlgBrowser,IUnknown) -{ - STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; - STDMETHOD_(ULONG,AddRef)(THIS) PURE; - STDMETHOD_(ULONG,Release)(THIS) PURE; - STDMETHOD(OnDefaultCommand)(THIS) PURE; - STDMETHOD(OnStateChange)(THIS_ ULONG) PURE; - STDMETHOD(IncludeObject)(THIS_ LPCITEMIDLIST) PURE; -}; -typedef ICommDlgBrowser *LPCOMMDLGBROWSER; - #undef INTERFACE #define INTERFACE IPersistFolder DECLARE_INTERFACE_(IPersistFolder,IPersist) @@ -690,6 +697,20 @@ DECLARE_INTERFACE_(IShellView,IOleWindow) STDMETHOD(SelectItem)(THIS_ LPCITEMIDLIST,UINT) PURE; STDMETHOD(GetItemObject)(THIS_ UINT,REFIID,PVOID*) PURE; }; + +#undef INTERFACE +#define INTERFACE ICommDlgBrowser +DECLARE_INTERFACE_(ICommDlgBrowser,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(OnDefaultCommand)(THIS_ IShellView*) PURE; + STDMETHOD(OnStateChange)(THIS_ IShellView*,ULONG) PURE; + STDMETHOD(IncludeObject)(THIS_ IShellView*,LPCITEMIDLIST) PURE; +}; +typedef ICommDlgBrowser *LPCOMMDLGBROWSER; + typedef GUID SHELLVIEWID; typedef struct _SV2CVW2_PARAMS { DWORD cbSize; @@ -806,7 +827,44 @@ typedef struct { BOOL fShowStartPage : 1; UINT fSpareFlags : 13; } SHELLSTATE, *LPSHELLSTATE; -#endif +#endif /* _WIN32_WINNT >= 0x0500 */ + +#if (_WIN32_IE >= 0x0500) +#pragma pack(push,8) +typedef struct +{ + SIZE sizeDragImage; + POINT ptOffset; + HBITMAP hbmpDragImage; + COLORREF crColorKey; +} SHDRAGIMAGE, *LPSHDRAGIMAGE; +#pragma pack(pop) + +#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; +}; + +#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 */ void WINAPI SHAddToRecentDocs(UINT,PCVOID); LPITEMIDLIST WINAPI SHBrowseForFolderA(PBROWSEINFOA); @@ -871,6 +929,7 @@ typedef BROWSEINFOA BROWSEINFO,*PBROWSEINFO,*LPBROWSEINFO; #endif #endif /* UNICODE */ + #pragma pack(pop) #ifdef __cplusplus } -- cgit v1.2.3