summaryrefslogtreecommitdiff
path: root/plugins/FloatingContacts/filedrop.h
blob: ed03cdbf685e9c79eb773f4fc0c1030aa3f1e73b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* This file is a modification of clcfiledrop.h originally 
 written by Richard Hughes*/

static HWND	hwndCurDrag	= NULL;

class CDropTarget: public IDropTarget
{
private:
	unsigned long refCount;

public:
	CDropTarget(): refCount(0) {}

	HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid,LPVOID *ppvObj);
	ULONG STDMETHODCALLTYPE AddRef();
	ULONG STDMETHODCALLTYPE Release();
	HRESULT STDMETHODCALLTYPE DragOver(DWORD fKeyState, POINTL pt, DWORD *pdwEffect);
	HRESULT STDMETHODCALLTYPE DragEnter(IDataObject *pData, DWORD fKeyState, POINTL pt, DWORD *pdwEffect);
	HRESULT STDMETHODCALLTYPE DragLeave();
	HRESULT STDMETHODCALLTYPE Drop(IDataObject *pData,DWORD fKeyState,POINTL pt,DWORD *pdwEffect);
};

void InitFileDropping();
void FreeFileDropping(void);
void RegisterFileDropping( HWND hwnd, CDropTarget* pdropTarget );
void UnregisterFileDropping( HWND hwnd );