[gtk: 6/15] gtkeventcontrollerscroll: Refactor scroll end
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk: 6/15] gtkeventcontrollerscroll: Refactor scroll end
- Date: Wed, 26 Jan 2022 23:37:29 +0000 (UTC)
commit ec91b2de100b966d6111497f0455d9e336944ed5
Author: José Expósito <jose exposito89 gmail com>
Date: Tue Jun 22 18:27:14 2021 +0200
gtkeventcontrollerscroll: Refactor scroll end
Move the logic to end scrolling to its own function to be able to
reuse it.
Refactor, no functional changes.
Part-of: <!3454>
gtk/gtkeventcontrollerscroll.c | 33 +++++++++++++++++++++++----------
1 file changed, 23 insertions(+), 10 deletions(-)
---
diff --git a/gtk/gtkeventcontrollerscroll.c b/gtk/gtkeventcontrollerscroll.c
index cfe284cd71..e0acee7a2e 100644
--- a/gtk/gtkeventcontrollerscroll.c
+++ b/gtk/gtkeventcontrollerscroll.c
@@ -250,6 +250,28 @@ gtk_event_controller_scroll_begin (GtkEventController *controller)
return TRUE;
}
+static gboolean
+gtk_event_controller_scroll_end (GtkEventController *controller)
+{
+ GtkEventControllerScroll *scroll = GTK_EVENT_CONTROLLER_SCROLL (controller);
+
+ if (!scroll->active)
+ return FALSE;
+
+ g_signal_emit (controller, signals[SCROLL_END], 0);
+ scroll->active = FALSE;
+
+ if (scroll->flags & GTK_EVENT_CONTROLLER_SCROLL_KINETIC)
+ {
+ double vel_x, vel_y;
+
+ scroll_history_finish (scroll, &vel_x, &vel_y);
+ g_signal_emit (controller, signals[DECELERATE], 0, vel_x, vel_y);
+ }
+
+ return TRUE;
+}
+
static gboolean
gtk_event_controller_scroll_handle_event (GtkEventController *controller,
GdkEvent *event,
@@ -343,17 +365,8 @@ gtk_event_controller_scroll_handle_event (GtkEventController *controller,
if (scroll->active && gdk_scroll_event_is_stop (event))
{
- g_signal_emit (controller, signals[SCROLL_END], 0);
- scroll->active = FALSE;
+ gtk_event_controller_scroll_end (controller);
handled = FALSE;
-
- if (scroll->flags & GTK_EVENT_CONTROLLER_SCROLL_KINETIC)
- {
- double vel_x, vel_y;
-
- scroll_history_finish (scroll, &vel_x, &vel_y);
- g_signal_emit (controller, signals[DECELERATE], 0, vel_x, vel_y);
- }
}
return handled;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]