gtkeventcontrollerscroll: Refactor scroll begin
authorJosé Expósito <jose.exposito89@gmail.com>
Fri, 18 Jun 2021 15:55:47 +0000 (17:55 +0200)
committerCarlos Garnacho <carlosg@gnome.org>
Wed, 26 Jan 2022 21:49:53 +0000 (22:49 +0100)
Move the logic to begin scrolling to its own function to be able to
reuse it.

Refactor, no functional changes.

Part-of: <!3454>

gtk/gtkeventcontrollerscroll.c

index b246bb22db2a2f2e5539ae7907de60976bb5b177..cfe284cd71ff42a6540cd0e77c236bde8d8f9696 100644 (file)
@@ -235,6 +235,21 @@ gtk_event_controller_scroll_get_property (GObject    *object,
     }
 }
 
+static gboolean
+gtk_event_controller_scroll_begin (GtkEventController *controller)
+{
+  GtkEventControllerScroll *scroll = GTK_EVENT_CONTROLLER_SCROLL (controller);
+
+  if (scroll->active)
+    return FALSE;
+
+  g_signal_emit (controller, signals[SCROLL_BEGIN], 0);
+  scroll_history_reset (scroll);
+  scroll->active = TRUE;
+
+  return TRUE;
+}
+
 static gboolean
 gtk_event_controller_scroll_handle_event (GtkEventController *controller,
                                           GdkEvent           *event,
@@ -258,13 +273,7 @@ gtk_event_controller_scroll_handle_event (GtkEventController *controller,
   if (direction == GDK_SCROLL_SMOOTH)
     {
       gdk_scroll_event_get_deltas (event, &dx, &dy);
-
-      if (!scroll->active)
-        {
-          g_signal_emit (controller, signals[SCROLL_BEGIN], 0);
-          scroll_history_reset (scroll);
-          scroll->active = TRUE;
-        }
+      gtk_event_controller_scroll_begin (controller);
 
       if ((scroll->flags & GTK_EVENT_CONTROLLER_SCROLL_VERTICAL) == 0)
         dy = 0;