<!-- ##### SECTION Title ##### --> Drag and Drop <!-- ##### SECTION Short_Description ##### --> Functions for controlling drag and drop handling <!-- ##### SECTION Long_Description ##### --> <para> These functions provide a low level interface for drag and drop. The X backend of GDK supports both the Xdnd and Motif drag and drop protocols transparently, the Win32 backend supports the WM_DROPFILES protocol. </para> <para> GTK+ provides a higher level abstraction based on top of these functions, and so they are not normally needed in GTK+ applications. See the <link linkend="gtk-Drag-and-Drop">Drag and Drop</link> section of the GTK+ documentation for more information. </para> <!-- ##### SECTION See_Also ##### --> <para> </para> <!-- ##### SECTION Stability_Level ##### --> <!-- ##### SECTION Image ##### --> <!-- ##### FUNCTION gdk_drag_get_selection ##### --> <para> </para> @context: @Returns: <!-- ##### FUNCTION gdk_drag_abort ##### --> <para> </para> @context: @time_: <!-- ##### FUNCTION gdk_drop_reply ##### --> <para> </para> @context: @ok: @time_: <!-- ##### FUNCTION gdk_drag_context_new ##### --> <para> </para> @void: @Returns: <!-- ##### FUNCTION gdk_drag_drop ##### --> <para> </para> @context: @time_: <!-- ##### FUNCTION gdk_drag_find_window ##### --> <para> </para> @context: @drag_window: @x_root: @y_root: @dest_window: @protocol: <!-- ##### FUNCTION gdk_drag_find_window_for_screen ##### --> <para> </para> @context: @drag_window: @screen: @x_root: @y_root: @dest_window: @protocol: <!-- ##### FUNCTION gdk_drag_begin ##### --> <para> </para> @window: @targets: @Returns: <!-- ##### FUNCTION gdk_drag_motion ##### --> <para> </para> @context: @dest_window: @protocol: @x_root: @y_root: @suggested_action: @possible_actions: @time_: @Returns: <!-- ##### FUNCTION gdk_drop_finish ##### --> <para> </para> @context: @success: @time_: <!-- ##### FUNCTION gdk_drag_get_protocol ##### --> <para> </para> @xid: @protocol: @Returns: <!-- ##### FUNCTION gdk_drag_get_protocol_for_display ##### --> <para> </para> @display: @xid: @protocol: @Returns: <!-- ##### ENUM GdkDragProtocol ##### --> <para> Used in #GdkDragContext to indicate the protocol according to which DND is done. </para> @GDK_DRAG_PROTO_MOTIF: The Motif DND protocol. @GDK_DRAG_PROTO_XDND: The Xdnd protocol. @GDK_DRAG_PROTO_ROOTWIN: An extension to the Xdnd protocol for unclaimed root window drops. @GDK_DRAG_PROTO_NONE: no protocol. @GDK_DRAG_PROTO_WIN32_DROPFILES: The simple WM_DROPFILES protocol. @GDK_DRAG_PROTO_OLE2: The complex OLE2 DND protocol (not implemented). @GDK_DRAG_PROTO_LOCAL: Intra-application DND. <!-- ##### STRUCT GdkDragContext ##### --> <para> A <structname>GdkDragContext</structname> holds information about a drag in progress. It is used on both source and destination sides. </para> @parent_instance: the parent instance @protocol: the DND protocol which governs this drag. @is_source: %TRUE if the context is used on the source side. @source_window: the source of this drag. @dest_window: the destination window of this drag. @targets: a list of targets offered by the source. @actions: a bitmask of actions proposed by the source when @suggested_action is %GDK_ACTION_ASK. @suggested_action: the action suggested by the source. @action: the action chosen by the destination. @start_time: a timestamp recording the start time of this drag. <!-- ##### ENUM GdkDragAction ##### --> <para> Used in #GdkDragContext to indicate what the destination should do with the dropped data. </para> @GDK_ACTION_DEFAULT: Means nothing, and should not be used. @GDK_ACTION_COPY: Copy the data. @GDK_ACTION_MOVE: Move the data, i.e. first copy it, then delete it from the source using the DELETE target of the X selection protocol. @GDK_ACTION_LINK: Add a link to the data. Note that this is only useful if source and destination agree on what it means. @GDK_ACTION_PRIVATE: Special action which tells the source that the destination will do something that the source doesn't understand. @GDK_ACTION_ASK: Ask the user what to do with the data. <!-- ##### FUNCTION gdk_drag_status ##### --> <para> </para> @context: @action: @time_: <!-- ##### FUNCTION gdk_drag_drop_succeeded ##### --> <para> </para> @context: @Returns: