Gtk.GestureDrag
Description: Reference for Gtk.GestureDrag

### Class

# GtkGestureDrag

#### Description [src]

    final class Gtk.GestureDrag : Gtk.GestureSingle {
      /* No available fields */
    }

`GtkGestureDrag` is a `GtkGesture` implementation for drags.

The drag operation itself can be tracked throughout the `GtkGestureDrag::drag-begin`, `GtkGestureDrag::drag-update` and `GtkGestureDrag::drag-end` signals, and the relevant coordinates can be extracted through `gtk_gesture_drag_get_offset()` and `gtk_gesture_drag_get_start_point()`.

#### Hierarchy

#### Ancestors

- GtkGestureSingle
- GtkGesture
- GtkEventController
- GObject

#### Descendants

- GtkGesturePan

#### Constructors

###### gtk_gesture_drag_new

Returns a newly created `GtkGesture` that recognizes drags.

#### Instance methods

###### gtk_gesture_drag_get_offset

Gets the offset from the start point.

###### gtk_gesture_drag_get_start_point

Gets the point where the drag started.

##### Methods inherited from GtkGestureSingle (8)

###### gtk_gesture_single_get_button

Returns the button number `gesture` listens for.

###### gtk_gesture_single_get_current_button

Returns the button number currently interacting with `gesture`, or 0 if there is none.

###### gtk_gesture_single_get_current_sequence

Returns the event sequence currently interacting with `gesture`.

###### gtk_gesture_single_get_exclusive

Gets whether a gesture is exclusive.

###### gtk_gesture_single_get_touch_only

Returns `TRUE` if the gesture is only triggered by touch events.

###### gtk_gesture_single_set_button

Sets the button number `gesture` listens to.

###### gtk_gesture_single_set_exclusive

Sets whether `gesture` is exclusive.

###### gtk_gesture_single_set_touch_only

Sets whether to handle only touch events.

##### Methods inherited from GtkGesture (17)

###### gtk_gesture_get_bounding_box

If there are touch sequences being currently handled by `gesture`, returns `TRUE` and fills in `rect` with the bounding box containing all active touches.

###### gtk_gesture_get_bounding_box_center

If there are touch sequences being currently handled by `gesture`, returns `TRUE` and fills in `x` and `y` with the center of the bounding box containing all active touches.

###### gtk_gesture_get_device

Returns the logical `GdkDevice` that is currently operating on `gesture`.

###### gtk_gesture_get_group

Returns all gestures in the group of `gesture`.

###### gtk_gesture_get_last_event

Returns the last event that was processed for `sequence`.

###### gtk_gesture_get_last_updated_sequence

Returns the `GdkEventSequence` that was last updated on `gesture`.

###### gtk_gesture_get_point

If `sequence` is currently being interpreted by `gesture`, returns `TRUE` and fills in `x` and `y` with the last coordinates stored for that event sequence.

###### gtk_gesture_get_sequence_state

Returns the `sequence` state, as seen by `gesture`.

###### gtk_gesture_get_sequences

Returns the list of `GdkEventSequences` currently being interpreted by `gesture`.

###### gtk_gesture_group

Adds `gesture` to the same group than `group_gesture`.

###### gtk_gesture_handles_sequence

Returns `TRUE` if `gesture` is currently handling events corresponding to `sequence`.

###### gtk_gesture_is_active

Returns `TRUE` if the gesture is currently active.

###### gtk_gesture_is_grouped_with

Returns `TRUE` if both gestures pertain to the same group.

###### gtk_gesture_is_recognized

Returns `TRUE` if the gesture is currently recognized.

###### gtk_gesture_set_sequence_state

Sets the state of `sequence` in `gesture`.

###### gtk_gesture_set_state

Sets the state of all sequences that `gesture` is currently interacting with.

###### gtk_gesture_ungroup

Separates `gesture` into an isolated group.

##### Methods inherited from GtkEventController (12)

###### gtk_event_controller_get_current_event

Returns the event that is currently being handled by the controller.

###### gtk_event_controller_get_current_event_device

Returns the device of the event that is currently being handled by the controller.

###### gtk_event_controller_get_current_event_state

Returns the modifier state of the event that is currently being handled by the controller.

###### gtk_event_controller_get_current_event_time

Returns the timestamp of the event that is currently being handled by the controller.

###### gtk_event_controller_get_name

Gets the name of `controller`.

###### gtk_event_controller_get_propagation_limit

Gets the propagation limit of the event controller.

###### gtk_event_controller_get_propagation_phase

Gets the propagation phase at which `controller` handles events.

###### gtk_event_controller_get_widget

Returns the `GtkWidget` this controller relates to.

###### gtk_event_controller_reset

Resets the `controller` to a clean state.

###### gtk_event_controller_set_name

Sets a name on the controller that can be used for debugging.

###### gtk_event_controller_set_propagation_limit

Sets the event propagation limit on the event controller.

###### gtk_event_controller_set_propagation_phase

Sets the propagation phase at which a controller handles events.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

##### Properties inherited from GtkGestureSingle (3)

###### Gtk.GestureSingle:button

Mouse button number to listen to, or 0 to listen for any button.

###### Gtk.GestureSingle:exclusive

Whether the gesture is exclusive.

###### Gtk.GestureSingle:touch-only

Whether the gesture handles only touch events.

##### Properties inherited from GtkGesture (1)

###### Gtk.Gesture:n-points

The number of touch points that trigger recognition on this gesture.

##### Properties inherited from GtkEventController (4)

###### Gtk.EventController:name

The name for this controller, typically used for debugging purposes.

###### Gtk.EventController:propagation-limit

The limit for which events this controller will handle.

###### Gtk.EventController:propagation-phase

The propagation phase at which this controller will handle events.

###### Gtk.EventController:widget

The widget receiving the `GdkEvents` that the controller will handle.

#### Signals

###### Gtk.GestureDrag::drag-begin

Emitted whenever dragging starts.

###### Gtk.GestureDrag::drag-end

Emitted whenever the dragging is finished.

###### Gtk.GestureDrag::drag-update

Emitted whenever the dragging point moves.

##### Signals inherited from GtkGesture (5)

###### Gtk.Gesture::begin

Emitted when the gesture is recognized.

###### Gtk.Gesture::cancel

Emitted whenever a sequence is cancelled.

###### Gtk.Gesture::end

Emitted when `gesture` either stopped recognizing the event sequences as something to be handled, or the number of touch sequences became higher or lower than `GtkGesture:n-points`.

###### Gtk.Gesture::sequence-state-changed

Emitted whenever a sequence state changes.

###### Gtk.Gesture::update

Emitted whenever an event is handled while the gesture is recognized.

##### Signals inherited from GObject (1)

###### GObject.Object::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct GtkGestureDragClass {
      /* no available fields */
    }

No description available.