GtkGestureDrag

GtkGestureDrag — Drag gesture

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

a GtkWidget

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

a GtkGesture

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

a GtkGesture

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

GtkGestureSwipe

© 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