static void gtk_gesture_long_press_update (GtkGesture *gesture, GdkEventSequence *sequence) { GtkGestureLongPressPrivate *priv; GtkWidget *widget; gdouble x, y; widget = gtk_event_controller_get_widget (GTK_EVENT_CONTROLLER (gesture)); priv = gtk_gesture_long_press_get_instance_private (GTK_GESTURE_LONG_PRESS (gesture)); gtk_gesture_get_point (gesture, sequence, &x, &y); if (gtk_drag_check_threshold (widget, priv->initial_x, priv->initial_y, x, y)) { if (priv->timeout_id) { g_source_remove (priv->timeout_id); priv->timeout_id = 0; g_signal_emit (gesture, signals[CANCELLED], 0); } priv->cancelled = TRUE; _gtk_gesture_check (gesture); } }
static void _gtk_gesture_multi_press_stop (GtkGestureMultiPress *gesture) { GtkGestureMultiPressPrivate *priv; priv = gtk_gesture_multi_press_get_instance_private (gesture); if (priv->n_presses == 0) return; priv->current_button = 0; priv->n_presses = 0; g_signal_emit (gesture, signals[STOPPED], 0); _gtk_gesture_check (GTK_GESTURE (gesture)); }