Method
GtkWidgetdrag_begin_with_coordinates
Declaration [src]
GdkDragContext*
gtk_drag_begin_with_coordinates (
GtkWidget* widget,
GtkTargetList* targets,
GdkDragAction actions,
gint button,
GdkEvent* event,
gint x,
gint y
)
Description [src]
Initiates a drag on the source side. The function only needs to be used
when the application is starting drags itself, and is not needed when
gtk_drag_source_set()
is used.
The event
is used to retrieve the timestamp that will be used internally to
grab the pointer. If event
is NULL
, then GDK_CURRENT_TIME
will be used.
However, you should try to pass a real event in all cases, since that can be
used to get information about the drag.
Generally there are three cases when you want to start a drag by hand by calling this function:
-
During a
GtkWidget::button-press-event
handler, if you want to start a drag immediately when the user presses the mouse button. Pass theevent
that you have in yourGtkWidget::button-press-event
handler. -
During a
GtkWidget::motion-notify-event
handler, if you want to start a drag when the mouse moves past a certain threshold distance after a button-press. Pass theevent
that you have in yourGtkWidget::motion-notify-event
handler. -
During a timeout handler, if you want to start a drag after the mouse button is held down for some time. Try to save the last event that you got from the mouse, using gdk_event_copy(), and pass it to this function (remember to free the event with
gdk_event_free()
when you are done). If you really cannot pass a real event, passNULL
instead.
Available since: | 3.10 |
Parameters
targets |
GtkTargetList |
The targets (data formats) in which the source can provide the data. |
|
The data is owned by the caller of the function. | |
actions |
GdkDragAction |
A bitmask of the allowed drag actions for this drag. |
|
button |
gint |
The button the user clicked to start the drag. |
|
event |
GdkEvent |
The event that triggered the start of the drag,
or |
|
The argument can be NULL . | |
The data is owned by the caller of the function. | |
x |
gint |
The initial x coordinate to start dragging from, in the coordinate space
of |
|
y |
gint |
The initial y coordinate to start dragging from, in the coordinate space
of |
Return value
Returns: | GdkDragContext |
The context for this drag. |
|
The data is owned by the instance. |