4 #include <gdk/gdktypes.h>
8 #endif /* __cplusplus */
10 typedef struct _GdkDragContext GdkDragContext;
14 GDK_ACTION_DEFAULT = 1 << 0,
15 GDK_ACTION_COPY = 1 << 1,
16 GDK_ACTION_MOVE = 1 << 2,
17 GDK_ACTION_LINK = 1 << 3,
18 GDK_ACTION_PRIVATE = 1 << 4,
19 GDK_ACTION_ASK = 1 << 5
26 GDK_DRAG_PROTO_ROOTWIN, /* A root window with nobody claiming
28 GDK_DRAG_PROTO_NONE, /* Not a valid drag window */
29 GDK_DRAG_PROTO_WIN32_DROPFILES, /* The simple WM_DROPFILES dnd */
30 GDK_DRAG_PROTO_OLE2, /* The complex OLE2 dnd (not implemented) */
31 GDK_DRAG_PROTO_LOCAL /* Intra-app */
34 /* Structure that holds information about a drag in progress.
35 * this is used on both source and destination sides.
37 struct _GdkDragContext {
38 GdkDragProtocol protocol;
42 GdkWindow *source_window;
43 GdkWindow *dest_window;
46 GdkDragAction actions;
47 GdkDragAction suggested_action;
55 GdkDragContext * gdk_drag_context_new (void);
56 void gdk_drag_context_ref (GdkDragContext *context);
57 void gdk_drag_context_unref (GdkDragContext *context);
59 /* Destination side */
61 void gdk_drag_status (GdkDragContext *context,
64 void gdk_drop_reply (GdkDragContext *context,
67 void gdk_drop_finish (GdkDragContext *context,
70 GdkAtom gdk_drag_get_selection (GdkDragContext *context);
74 GdkDragContext * gdk_drag_begin (GdkWindow *window,
76 guint32 gdk_drag_get_protocol (guint32 xid,
77 GdkDragProtocol *protocol);
78 void gdk_drag_find_window (GdkDragContext *context,
79 GdkWindow *drag_window,
82 GdkWindow **dest_window,
83 GdkDragProtocol *protocol);
84 gboolean gdk_drag_motion (GdkDragContext *context,
85 GdkWindow *dest_window,
86 GdkDragProtocol protocol,
89 GdkDragAction suggested_action,
90 GdkDragAction possible_actions,
92 void gdk_drag_drop (GdkDragContext *context,
94 void gdk_drag_abort (GdkDragContext *context,
99 #endif /* __cplusplus */
101 #endif /* __GDK_DND_H__ */