Drag and Drop functions for controlling drag and drop handling. 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. GTK+ provides a higher level abstraction based on top of these functions, and so they are not normally needed in GTK+ applications. See the Drag and Drop section of the GTK+ documentation for more information. Returns the selection atom for the current source window. @context: a #GdkDragContext. @Returns: the selection atom. Aborts a drag without dropping. @context: a #GdkDragContext. @time: the timestamp for this operation. @context: @ok: @time: Creates a new #GdkDragContext. @Returns: the newly created #GdkDragContext. @context: @time: @context: @drag_window: @x_root: @y_root: @dest_window: @protocol: Increases the reference count of a drag context by one. @context: a #GdkDragContext. Creates a new drag context with @window as @source_window and @targets as list of targets. @window: the source window for this drag. @targets: the list of targets. @Returns: a newly created #GdkDragContext. @context: @dest_window: @protocol: @x_root: @y_root: @suggested_action: @possible_actions: @time: @Returns: @context: @success: @time: Finds out the DND protocol supported by a window. @xid: the X id of the destination window. @protocol: location where the supported DND protocol is returned. @Returns: the X id of the window where the drop should happen. This may be @xid or the X id of a proxy window, or None if @xid doesn't support Drag and Drop. Is used in #GdkDragContext to indicate the protocol according to which DND is done. @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. Decreases the reference count of a drag context by one. @context: a #GdkDragContext. A GdkDragContext holds information about a drag in progress. It is used on both source and destination sides. @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 accepted on the destination. @actions: a bitmask of all possible actions. @suggested_action: the suggested action. @action: @start_time: a timestamp recording the start time of this drag. @GDK_ACTION_DEFAULT: @GDK_ACTION_COPY: @GDK_ACTION_MOVE: @GDK_ACTION_LINK: @GDK_ACTION_PRIVATE: @GDK_ACTION_ASK: @context: @action: @time: