double drag_start_y;
guint kinetic_scrolling : 1;
- guint in_drag : 1;
guint deceleration_id;
GdkEventSequence *sequence;
GtkWidget *event_widget;
- priv->in_drag = FALSE;
priv->drag_start_x = priv->unclamped_hadj_value;
priv->drag_start_y = priv->unclamped_vadj_value;
gtk_scrolled_window_cancel_deceleration (scrolled_window);
gtk_scrolled_window_invalidate_overshoot (scrolled_window);
}
-static void
-scrolled_window_drag_end_cb (GtkScrolledWindow *scrolled_window,
- GdkEventSequence *sequence,
- GtkGesture *gesture)
-{
- GtkScrolledWindowPrivate *priv = gtk_scrolled_window_get_instance_private (scrolled_window);
-
- if (!priv->in_drag || !gtk_gesture_handles_sequence (gesture, sequence))
- gtk_gesture_set_state (gesture, GTK_EVENT_SEQUENCE_DENIED);
-}
-
static void
gtk_scrolled_window_decelerate (GtkScrolledWindow *scrolled_window,
double x_velocity,
scrolled_window_long_press_cancelled_cb (GtkScrolledWindow *scrolled_window,
GtkGesture *gesture)
{
- GtkScrolledWindowPrivate *priv = gtk_scrolled_window_get_instance_private (scrolled_window);
GdkEventSequence *sequence;
GdkEvent *event;
GdkEventType event_type;
if (event_type == GDK_TOUCH_BEGIN ||
event_type == GDK_BUTTON_PRESS)
gtk_gesture_set_state (gesture, GTK_EVENT_SEQUENCE_DENIED);
- else if (event_type != GDK_TOUCH_END &&
- event_type != GDK_BUTTON_RELEASE)
- priv->in_drag = TRUE;
}
static void
g_signal_connect_swapped (priv->drag_gesture, "drag-update",
G_CALLBACK (scrolled_window_drag_update_cb),
scrolled_window);
- g_signal_connect_swapped (priv->drag_gesture, "end",
- G_CALLBACK (scrolled_window_drag_end_cb),
- scrolled_window);
gtk_widget_add_controller (widget, GTK_EVENT_CONTROLLER (priv->drag_gesture));
priv->pan_gesture = gtk_gesture_pan_new (GTK_ORIENTATION_VERTICAL);