From 02c2de6fb0417b118d575b38afadb9d893b364e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sat, 15 Aug 2015 18:06:36 +0200 Subject: shell32: Add IDragSourceHelper stub interface. --- dlls/shell32/dragdrophelper.c | 56 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/dlls/shell32/dragdrophelper.c b/dlls/shell32/dragdrophelper.c index 2705793..91dacc9 100644 --- a/dlls/shell32/dragdrophelper.c +++ b/dlls/shell32/dragdrophelper.c @@ -51,6 +51,7 @@ WINE_DEFAULT_DEBUG_CHANNEL (shell); typedef struct { IDropTargetHelper IDropTargetHelper_iface; + IDragSourceHelper IDragSourceHelper_iface; LONG ref; } IDragHelperImpl; @@ -59,6 +60,11 @@ static inline IDragHelperImpl *impl_from_IDropTargetHelper(IDropTargetHelper *if return CONTAINING_RECORD(iface, IDragHelperImpl, IDropTargetHelper_iface); } +static inline IDragHelperImpl *impl_from_IDragSourceHelper(IDragSourceHelper *iface) +{ + return CONTAINING_RECORD(iface, IDragHelperImpl, IDragSourceHelper_iface); +} + /************************************************************************** * IDropTargetHelper_fnQueryInterface */ @@ -74,6 +80,10 @@ static HRESULT WINAPI IDropTargetHelper_fnQueryInterface (IDropTargetHelper * if { *ppvObj = &This->IDropTargetHelper_iface; } + else if (IsEqualIID (riid, &IID_IDragSourceHelper)) + { + *ppvObj = &This->IDragSourceHelper_iface; + } if (*ppvObj) { @@ -160,6 +170,51 @@ static const IDropTargetHelperVtbl vt_IDropTargetHelper = IDropTargetHelper_fnShow }; +static HRESULT WINAPI IDragSourceHelper_fnQueryInterface (IDragSourceHelper * iface, REFIID riid, LPVOID * ppv) +{ + IDragHelperImpl *This = impl_from_IDragSourceHelper(iface); + return IDropTargetHelper_fnQueryInterface(&This->IDropTargetHelper_iface, riid, ppv); +} + +static ULONG WINAPI IDragSourceHelper_fnAddRef (IDragSourceHelper * iface) +{ + IDragHelperImpl *This = impl_from_IDragSourceHelper(iface); + return IDropTargetHelper_fnAddRef(&This->IDropTargetHelper_iface); +} + +static ULONG WINAPI IDragSourceHelper_fnRelease (IDragSourceHelper * iface) +{ + IDragHelperImpl *This = impl_from_IDragSourceHelper(iface); + return IDropTargetHelper_fnRelease(&This->IDropTargetHelper_iface); +} + +static HRESULT WINAPI IDragSourceHelper_fnInitializeFromBitmap(IDragSourceHelper * iface, LPSHDRAGIMAGE pshdi, + IDataObject *object) +{ + IDragHelperImpl *This = impl_from_IDragSourceHelper(iface); + + FIXME("(%p)->(%p, %p): stub\n", This, pshdi, object); + return S_OK; +} + +static HRESULT WINAPI IDragSourceHelper_fnInitializeFromWindow(IDragSourceHelper * iface, HWND hwnd, POINT *ppt, + IDataObject *object) +{ + IDragHelperImpl *This = impl_from_IDragSourceHelper(iface); + + FIXME("(%p)->(%p, %p, %p): stub\n", This, hwnd, ppt, object); + return S_OK; +} + +static const IDragSourceHelperVtbl vt_IDragSourceHelper = +{ + IDragSourceHelper_fnQueryInterface, + IDragSourceHelper_fnAddRef, + IDragSourceHelper_fnRelease, + IDragSourceHelper_fnInitializeFromBitmap, + IDragSourceHelper_fnInitializeFromWindow +}; + /************************************************************************** * IDropTargetHelper_Constructor */ @@ -179,6 +234,7 @@ HRESULT WINAPI IDropTargetHelper_Constructor (IUnknown * pUnkOuter, REFIID riid, dth->ref = 0; dth->IDropTargetHelper_iface.lpVtbl = &vt_IDropTargetHelper; + dth->IDragSourceHelper_iface.lpVtbl = &vt_IDragSourceHelper; if (FAILED(IDropTargetHelper_QueryInterface (&dth->IDropTargetHelper_iface, riid, ppv))) { -- 2.5.0