On this page
GtkGestureDrag
GtkGestureDrag — Drag gesture
Functions
GtkGesture * | gtk_gesture_drag_new () |
gboolean | gtk_gesture_drag_get_start_point () |
gboolean | gtk_gesture_drag_get_offset () |
Signals
void | drag-begin | Run Last |
void | drag-end | Run Last |
void | drag-update | Run Last |
Types and Values
Object Hierarchy
GObject
╰── GtkEventController
╰── GtkGesture
╰── GtkGestureSingle
╰── GtkGestureDrag
╰── GtkGesturePan
Includes
#include <gtk/gtk.h>
Description
GtkGestureDrag is a GtkGesture implementation that recognizes drag operations. The drag operation itself can be tracked throught the “drag-begin”, “drag-update” and “drag-end” signals, or the relevant coordinates be extracted through gtk_gesture_drag_get_offset()
and gtk_gesture_drag_get_start_point()
.
Functions
gtk_gesture_drag_new ()
GtkGesture *
gtk_gesture_drag_new (GtkWidget *widget
);
Returns a newly created GtkGesture that recognizes drags.
Parameters
widget |
Returns
a newly created GtkGestureDrag
Since: 3.14
gtk_gesture_drag_get_start_point ()
gboolean gtk_gesture_drag_get_start_point (GtkGestureDrag *gesture
,gdouble *x
,gdouble *y
);
If the gesture
is active, this function returns TRUE
and fills in x
and y
with the drag start coordinates, in window-relative coordinates.
Parameters
gesture |
||
x |
X coordinate for the drag start point. |
[out][nullable] |
y |
Y coordinate for the drag start point. |
[out][nullable] |
Returns
TRUE
if the gesture is active
Since: 3.14
gtk_gesture_drag_get_offset ()
gboolean gtk_gesture_drag_get_offset (GtkGestureDrag *gesture
,gdouble *x
,gdouble *y
);
If the gesture
is active, this function returns TRUE
and fills in x
and y
with the coordinates of the current point, as an offset to the starting drag point.
Parameters
gesture |
||
x |
X offset for the current point. |
[out][nullable] |
y |
Y offset for the current point. |
[out][nullable] |
Returns
TRUE
if the gesture is active
Since: 3.14
Types and Values
GtkGestureDrag
typedef struct _GtkGestureDrag GtkGestureDrag;
Signal Details
The “drag-begin”
signal
void
user_function (GtkGestureDrag *gesture,
double start_x,
double start_y,
gpointer user_data)
This signal is emitted whenever dragging starts.
Parameters
gesture |
the object which received the signal |
|
start_x |
X coordinate, relative to the widget allocation |
|
start_y |
Y coordinate, relative to the widget allocation |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.14
The “drag-end”
signal
void
user_function (GtkGestureDrag *gesture,
double offset_x,
double offset_y,
gpointer user_data)
This signal is emitted whenever the dragging is finished.
Parameters
gesture |
the object which received the signal |
|
offset_x |
X offset, relative to the start point |
|
offset_y |
Y offset, relative to the start point |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.14
The “drag-update”
signal
void
user_function (GtkGestureDrag *gesture,
double offset_x,
double offset_y,
gpointer user_data)
This signal is emitted whenever the dragging point moves.
Parameters
gesture |
the object which received the signal |
|
offset_x |
X offset, relative to the start point |
|
offset_y |
Y offset, relative to the start point |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.14
See Also
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/GtkGestureDrag.html