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: