1 <!-- ##### SECTION Title ##### -->
4 <!-- ##### SECTION Short_Description ##### -->
5 Functions for controlling drag and drop handling
7 <!-- ##### SECTION Long_Description ##### -->
9 These functions provide a low level interface for drag and drop.
10 The X backend of GDK supports both the Xdnd and Motif drag and drop protocols
11 transparently, the Win32 backend supports the WM_DROPFILES protocol.
14 GTK+ provides a higher level abstraction based on top of these functions,
15 and so they are not normally needed in GTK+ applications.
16 See the <link linkend="gtk-Drag-and-Drop">Drag and Drop</link> section of
17 the GTK+ documentation for more information.
20 <!-- ##### SECTION See_Also ##### -->
25 <!-- ##### SECTION Stability_Level ##### -->
28 <!-- ##### SECTION Image ##### -->
31 <!-- ##### FUNCTION gdk_drag_get_selection ##### -->
39 <!-- ##### FUNCTION gdk_drag_abort ##### -->
47 <!-- ##### FUNCTION gdk_drop_reply ##### -->
56 <!-- ##### FUNCTION gdk_drag_context_new ##### -->
64 <!-- ##### FUNCTION gdk_drag_drop ##### -->
72 <!-- ##### FUNCTION gdk_drag_find_window ##### -->
84 <!-- ##### FUNCTION gdk_drag_find_window_for_screen ##### -->
98 <!-- ##### FUNCTION gdk_drag_begin ##### -->
107 <!-- ##### FUNCTION gdk_drag_motion ##### -->
122 <!-- ##### FUNCTION gdk_drop_finish ##### -->
131 <!-- ##### FUNCTION gdk_drag_get_protocol ##### -->
140 <!-- ##### FUNCTION gdk_drag_get_protocol_for_display ##### -->
151 <!-- ##### ENUM GdkDragProtocol ##### -->
153 Used in #GdkDragContext to indicate the protocol according to
157 @GDK_DRAG_PROTO_MOTIF: The Motif DND protocol.
158 @GDK_DRAG_PROTO_XDND: The Xdnd protocol.
159 @GDK_DRAG_PROTO_ROOTWIN: An extension to the Xdnd protocol for
160 unclaimed root window drops.
161 @GDK_DRAG_PROTO_NONE: no protocol.
162 @GDK_DRAG_PROTO_WIN32_DROPFILES: The simple WM_DROPFILES protocol.
163 @GDK_DRAG_PROTO_OLE2: The complex OLE2 DND protocol (not implemented).
164 @GDK_DRAG_PROTO_LOCAL: Intra-application DND.
166 <!-- ##### STRUCT GdkDragContext ##### -->
168 A <structname>GdkDragContext</structname> holds information about a
169 drag in progress. It is used on both source and destination sides.
172 @parent_instance: the parent instance
173 @protocol: the DND protocol which governs this drag.
174 @is_source: %TRUE if the context is used on the source side.
175 @source_window: the source of this drag.
176 @dest_window: the destination window of this drag.
177 @targets: a list of targets offered by the source.
178 @actions: a bitmask of actions proposed by the source when
179 @suggested_action is %GDK_ACTION_ASK.
180 @suggested_action: the action suggested by the source.
181 @action: the action chosen by the destination.
182 @start_time: a timestamp recording the start time of this drag.
184 <!-- ##### ENUM GdkDragAction ##### -->
186 Used in #GdkDragContext to indicate what the destination
187 should do with the dropped data.
190 @GDK_ACTION_DEFAULT: Means nothing, and should not be used.
191 @GDK_ACTION_COPY: Copy the data.
192 @GDK_ACTION_MOVE: Move the data, i.e. first copy it, then delete
193 it from the source using the DELETE target of the X selection protocol.
194 @GDK_ACTION_LINK: Add a link to the data. Note that this is only
195 useful if source and destination agree on what it means.
196 @GDK_ACTION_PRIVATE: Special action which tells the source that the
197 destination will do something that the source doesn't understand.
198 @GDK_ACTION_ASK: Ask the user what to do with the data.
200 <!-- ##### FUNCTION gdk_drag_status ##### -->
209 <!-- ##### FUNCTION gdk_drag_drop_succeeded ##### -->