~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Wine Cross Reference
wine/dlls/shell32/dragdrophelper.c

Version: ~ [ wine-1.5.4 ] ~ [ wine-1.5.3 ] ~ [ wine-1.5.2 ] ~ [ wine-1.5.1 ] ~ [ wine-1.5.0 ] ~ [ wine-1.4 ] ~ [ wine-1.4-rc6 ] ~ [ wine-1.4-rc5 ] ~ [ wine-1.4-rc4 ] ~ [ wine-1.4-rc3 ] ~ [ wine-1.4-rc2 ] ~ [ wine-1.4-rc1 ] ~ [ wine-1.3.37 ] ~ [ wine-1.3.36 ] ~ [ wine-1.3.35 ] ~ [ wine-1.3.34 ] ~ [ wine-1.3.33 ] ~ [ wine-1.3.32 ] ~ [ wine-1.3.31 ] ~ [ wine-1.3.30 ] ~ [ wine-1.3.29 ] ~ [ wine-1.3.28 ] ~ [ wine-1.3.27 ] ~ [ wine-1.3.26 ] ~ [ wine-1.3.25 ] ~ [ wine-1.3.24 ] ~ [ wine-1.3.23 ] ~ [ wine-1.3.22 ] ~ [ wine-1.3.21 ] ~ [ wine-1.3.20 ] ~ [ wine-1.3.19 ] ~ [ wine-1.3.18 ] ~ [ wine-1.2.3 ] ~ [ wine-1.3.17 ] ~ [ wine-1.3.16 ] ~ [ wine-1.3.15 ] ~ [ wine-1.3.14 ] ~ [ wine-1.3.13 ] ~ [ wine-1.3.12 ] ~ [ wine-1.3.11 ] ~ [ wine-1.3.10 ] ~ [ wine-1.3.9 ] ~ [ wine-1.2.2 ] ~ [ wine-1.3.8 ] ~ [ wine-1.3.7 ] ~ [ wine-1.3.6 ] ~ [ wine-1.3.5 ] ~ [ wine-1.2.1 ] ~ [ wine-1.3.4 ] ~ [ wine-1.3.3 ] ~ [ wine-1.3.2 ] ~ [ wine-1.3.1 ] ~ [ wine-1.3.0 ] ~ [ wine-1.2 ] ~ [ wine-1.2-rc7 ] ~ [ wine-1.2-rc6 ] ~ [ wine-1.2-rc5 ] ~ [ wine-1.2-rc4 ] ~ [ wine-1.2-rc3 ] ~ [ wine-1.2-rc2 ] ~ [ wine-1.2-rc1 ] ~ [ wine-1.1.44 ] ~ [ wine-1.1.43 ] ~ [ wine-1.1.42 ] ~ [ wine-1.1.41 ] ~ [ wine-1.1.40 ] ~ [ wine-1.1.39 ] ~ [ wine-1.1.38 ] ~ [ wine-1.1.37 ] ~ [ wine-1.1.36 ] ~ [ wine-1.1.35 ] ~ [ wine-1.1.34 ] ~ [ wine-1.1.33 ] ~ [ wine-1.1.32 ] ~ [ wine-1.1.31 ] ~ [ wine-1.1.30 ] ~ [ wine-1.1.29 ] ~ [ wine-1.1.28 ] ~ [ wine-1.1.27 ] ~ [ wine-1.1.26 ] ~ [ wine-1.1.25 ] ~ [ wine-1.1.24 ] ~ [ wine-1.1.23 ] ~ [ wine-1.1.22 ] ~ [ wine-1.1.21 ] ~ [ wine-1.1.20 ] ~ [ wine-1.1.19 ] ~ [ wine-1.1.18 ] ~ [ wine-1.1.17 ] ~ [ wine-1.1.16 ] ~ [ wine-1.1.15 ] ~ [ wine-1.1.14 ] ~ [ wine-1.1.13 ] ~ [ wine-1.1.12 ] ~ [ wine-1.1.11 ] ~ [ wine-1.1.10 ] ~ [ wine-1.1.9 ] ~ [ wine-1.1.8 ] ~ [ wine-1.1.7 ] ~ [ wine-1.0.1 ] ~ [ wine-1.1.6 ] ~ [ wine-1.1.5 ] ~ [ wine-1.1.4 ] ~ [ wine-1.1.3 ] ~ [ wine-1.1.2 ] ~ [ wine-1.1.1 ] ~ [ wine-1.1.0 ] ~ [ wine-1.0 ] ~

  1 /*
  2  *      file system folder
  3  *
  4  *      Copyright 1997                  Marcus Meissner
  5  *      Copyright 1998, 1999, 2002      Juergen Schmied
  6  *
  7  * This library is free software; you can redistribute it and/or
  8  * modify it under the terms of the GNU Lesser General Public
  9  * License as published by the Free Software Foundation; either
 10  * version 2.1 of the License, or (at your option) any later version.
 11  *
 12  * This library is distributed in the hope that it will be useful,
 13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15  * Lesser General Public License for more details.
 16  *
 17  * You should have received a copy of the GNU Lesser General Public
 18  * License along with this library; if not, write to the Free Software
 19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 20  */
 21 
 22 #include "config.h"
 23 #include "wine/port.h"
 24 
 25 #include <stdarg.h>
 26 #include <string.h>
 27 
 28 #define COBJMACROS
 29 
 30 #include "windef.h"
 31 #include "winbase.h"
 32 #include "winreg.h"
 33 #include "wingdi.h"
 34 #include "winuser.h"
 35 
 36 #include "objbase.h"
 37 #include "ole2.h"
 38 #include "shlguid.h"
 39 #include "shlobj.h"
 40 
 41 #include "wine/debug.h"
 42 #include "debughlp.h"
 43 
 44 WINE_DEFAULT_DEBUG_CHANNEL (shell);
 45 
 46 /***********************************************************************
 47 *   IDropTargetHelper implementation
 48 */
 49 
 50 typedef struct {
 51     IDropTargetHelper IDropTargetHelper_iface;
 52     LONG ref;
 53 } IDropTargetHelperImpl;
 54 
 55 static const IDropTargetHelperVtbl vt_IDropTargetHelper;
 56 
 57 static inline IDropTargetHelperImpl *impl_from_IDropTargetHelper(IDropTargetHelper *iface)
 58 {
 59     return CONTAINING_RECORD(iface, IDropTargetHelperImpl, IDropTargetHelper_iface);
 60 }
 61 
 62 /**************************************************************************
 63 *       IDropTargetHelper_Constructor
 64 */
 65 HRESULT WINAPI IDropTargetHelper_Constructor (IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv)
 66 {
 67     IDropTargetHelperImpl *dth;
 68 
 69     TRACE ("unkOut=%p %s\n", pUnkOuter, shdebugstr_guid (riid));
 70 
 71     if (!ppv)
 72         return E_POINTER;
 73     if (pUnkOuter)
 74         return CLASS_E_NOAGGREGATION;
 75 
 76     dth = LocalAlloc (LMEM_ZEROINIT, sizeof (IDropTargetHelperImpl));
 77     if (!dth) return E_OUTOFMEMORY;
 78 
 79     dth->ref = 0;
 80     dth->IDropTargetHelper_iface.lpVtbl = &vt_IDropTargetHelper;
 81 
 82     if (FAILED (IDropTargetHelper_QueryInterface (&dth->IDropTargetHelper_iface, riid, ppv))) {
 83         IDropTargetHelper_Release (&dth->IDropTargetHelper_iface);
 84         return E_NOINTERFACE;
 85     }
 86 
 87     TRACE ("--(%p)\n", dth);
 88     return S_OK;
 89 }
 90 
 91 /**************************************************************************
 92  *      IDropTargetHelper_fnQueryInterface
 93  */
 94 static HRESULT WINAPI IDropTargetHelper_fnQueryInterface (IDropTargetHelper * iface, REFIID riid, LPVOID * ppvObj)
 95 {
 96     IDropTargetHelperImpl *This = impl_from_IDropTargetHelper(iface);
 97 
 98     TRACE ("(%p)->(%s,%p)\n", This, shdebugstr_guid (riid), ppvObj);
 99 
100     *ppvObj = NULL;
101 
102     if (IsEqualIID (riid, &IID_IUnknown) || IsEqualIID (riid, &IID_IDropTargetHelper)) {
103         *ppvObj = This;
104     }
105 
106     if (*ppvObj) {
107         IUnknown_AddRef ((IUnknown *) (*ppvObj));
108         TRACE ("-- Interface: (%p)->(%p)\n", ppvObj, *ppvObj);
109         return S_OK;
110     }
111     FIXME ("-- Interface: E_NOINTERFACE\n");
112     return E_NOINTERFACE;
113 }
114 
115 static ULONG WINAPI IDropTargetHelper_fnAddRef (IDropTargetHelper * iface)
116 {
117     IDropTargetHelperImpl *This = impl_from_IDropTargetHelper(iface);
118     ULONG refCount = InterlockedIncrement(&This->ref);
119 
120     TRACE ("(%p)->(count=%u)\n", This, refCount - 1);
121 
122     return refCount;
123 }
124 
125 static ULONG WINAPI IDropTargetHelper_fnRelease (IDropTargetHelper * iface)
126 {
127     IDropTargetHelperImpl *This = impl_from_IDropTargetHelper(iface);
128     ULONG refCount = InterlockedDecrement(&This->ref);
129 
130     TRACE ("(%p)->(count=%u)\n", This, refCount + 1);
131 
132     if (!refCount) {
133         TRACE ("-- destroying (%p)\n", This);
134         LocalFree (This);
135         return 0;
136     }
137     return refCount;
138 }
139 
140 static HRESULT WINAPI IDropTargetHelper_fnDragEnter (
141         IDropTargetHelper * iface,
142         HWND hwndTarget,
143         IDataObject* pDataObject,
144         POINT* ppt,
145         DWORD dwEffect)
146 {
147     IDropTargetHelperImpl *This = impl_from_IDropTargetHelper(iface);
148     FIXME ("(%p)->(%p %p %p 0x%08x)\n", This,hwndTarget, pDataObject, ppt, dwEffect);
149     return E_NOTIMPL;
150 }
151 
152 static HRESULT WINAPI IDropTargetHelper_fnDragLeave (IDropTargetHelper * iface)
153 {
154     IDropTargetHelperImpl *This = impl_from_IDropTargetHelper(iface);
155     FIXME ("(%p)->()\n", This);
156     return E_NOTIMPL;
157 }
158 
159 static HRESULT WINAPI IDropTargetHelper_fnDragOver (IDropTargetHelper * iface, POINT* ppt, DWORD dwEffect)
160 {
161     IDropTargetHelperImpl *This = impl_from_IDropTargetHelper(iface);
162     FIXME ("(%p)->(%p 0x%08x)\n", This, ppt, dwEffect);
163     return E_NOTIMPL;
164 }
165 
166 static HRESULT WINAPI IDropTargetHelper_fnDrop (IDropTargetHelper * iface, IDataObject* pDataObject, POINT* ppt, DWORD dwEffect)
167 {
168     IDropTargetHelperImpl *This = impl_from_IDropTargetHelper(iface);
169     FIXME ("(%p)->(%p %p 0x%08x)\n", This, pDataObject, ppt, dwEffect);
170     return E_NOTIMPL;
171 }
172 
173 static HRESULT WINAPI IDropTargetHelper_fnShow (IDropTargetHelper * iface, BOOL fShow)
174 {
175     IDropTargetHelperImpl *This = impl_from_IDropTargetHelper(iface);
176     FIXME ("(%p)->(%u)\n", This, fShow);
177     return E_NOTIMPL;
178 }
179 
180 static const IDropTargetHelperVtbl vt_IDropTargetHelper =
181 {
182         IDropTargetHelper_fnQueryInterface,
183         IDropTargetHelper_fnAddRef,
184         IDropTargetHelper_fnRelease,
185         IDropTargetHelper_fnDragEnter,
186         IDropTargetHelper_fnDragLeave,
187         IDropTargetHelper_fnDragOver,
188         IDropTargetHelper_fnDrop,
189         IDropTargetHelper_fnShow
190 };
191 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.