source: trunk/include/win/wine/obj_dragdrop.h

Last change on this file was 641, checked in by sandervl, 26 years ago

Updated Wine headers

File size: 3.3 KB
Line 
1/* $Id: obj_dragdrop.h,v 1.5 1999-08-22 22:52:07 sandervl Exp $ */
2/*
3 * Defines the COM interfaces and APIs related to OLE Drag and Drop.
4 */
5
6#ifndef __WINE_WINE_OBJ_DRAGDROP_H
7#define __WINE_WINE_OBJ_DRAGDROP_H
8
9#include "winnt.h"
10#include "windef.h"
11#include "wine/obj_base.h"
12#include "wine/obj_dataobject.h"
13
14#ifdef __cplusplus
15extern "C" {
16#endif /* defined(__cplusplus) */
17
18/*****************************************************************************
19 * Predeclare the interfaces
20 */
21DEFINE_OLEGUID(IID_IDropSource, 0x00000121L, 0, 0);
22typedef struct IDropSource IDropSource,*LPDROPSOURCE;
23
24DEFINE_OLEGUID(IID_IDropTarget, 0x00000122L, 0, 0);
25typedef struct IDropTarget IDropTarget,*LPDROPTARGET;
26
27/*****************************************************************************
28 * DROPEFFECT enumeration
29 */
30#define MK_ALT (0x20)
31#define DROPEFFECT_NONE 0
32#define DROPEFFECT_COPY 1
33#define DROPEFFECT_MOVE 2
34#define DROPEFFECT_LINK 4
35#define DROPEFFECT_SCROLL 0x80000000
36#define DD_DEFSCROLLINSET 11
37#define DD_DEFSCROLLDELAY 50
38#define DD_DEFSCROLLINTERVAL 50
39#define DD_DEFDRAGDELAY 50
40#define DD_DEFDRAGMINDIST 2
41
42/*****************************************************************************
43 * IDropSource interface
44 */
45#define ICOM_INTERFACE IDropSource
46#define IDropSource_METHODS \
47 ICOM_METHOD2(HRESULT, QueryContinueDrag, BOOL, fEscapePressed, DWORD, grfKeyState) \
48 ICOM_METHOD1(HRESULT, GiveFeedback, DWORD, dwEffect)
49#define IDropSource_IMETHODS \
50 IUnknown_IMETHODS \
51 IDropSource_METHODS
52ICOM_DEFINE(IDropSource,IUnknown)
53#undef ICOM_INTERFACE
54
55#ifdef ICOM_CINTERFACE
56/*** IUnknown methods ***/
57#define IDropSource_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
58#define IDropSource_AddRef(p) ICOM_CALL (AddRef,p)
59#define IDropSource_Release(p) ICOM_CALL (Release,p)
60/*** IDropSource methods ***/
61#define IDropSource_QueryContinueDrag(p,a,b) ICOM_CALL2(QueryContinueDrag,p,a,b)
62#define IDropSource_GiveFeedback(p,a) ICOM_CALL1(GiveFeedback,p,a)
63#endif
64
65/*****************************************************************************
66 * IDropTarget interface
67 */
68#define ICOM_INTERFACE IDropTarget
69#define IDropTarget_METHODS \
70 ICOM_METHOD4(HRESULT, DragEnter, IDataObject*, pDataObject, DWORD, grfKeyState, POINTL, pt, DWORD*, pdwEffect) \
71 ICOM_METHOD3(HRESULT, DragOver, DWORD, grfKeyState, POINTL, pt, DWORD*, pdwEffect) \
72 ICOM_METHOD(HRESULT, DragLeave) \
73 ICOM_METHOD4(HRESULT, Drop, IDataObject*, pDataObject, DWORD, grfKeyState, POINTL, pt, DWORD*, pdwEffect)
74#define IDropTarget_IMETHODS \
75 IUnknown_IMETHODS \
76 IDropTarget_METHODS
77ICOM_DEFINE(IDropTarget,IUnknown)
78#undef ICOM_INTERFACE
79
80#ifdef ICOM_CINTERFACE
81/*** IUnknown methods ***/
82#define IDropTarget_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
83#define IDropTarget_AddRef(p) ICOM_CALL (AddRef,p)
84#define IDropTarget_Release(p) ICOM_CALL (Release,p)
85/*** IDropTarget methods ***/
86#define IDropTarget_DragEnter(p,a,b,c,d) ICOM_CALL4(DragEnter,p,a,b,c,d)
87#define IDropTarget_DragOver(p,a,b,c) ICOM_CALL3(DragOver,p,a,b,c)
88#define IDropTarget_DragLeave(p) ICOM_CALL(DragLeave,p)
89#define IDropTarget_Drop(p,a,b,c,d) ICOM_CALL4(Drop,p,a,b,c,d)
90#endif
91
92#ifdef __cplusplus
93} /* extern "C" */
94#endif /* defined(__cplusplus) */
95
96#endif /* __WINE_WINE_OBJ_DRAGDROP_H */
97
98
99
100
101
Note: See TracBrowser for help on using the repository browser.