gdk/wayland: Calculate discrete scroll direction in its helper
authorJosé Expósito <jose.exposito89@gmail.com>
Mon, 20 Sep 2021 17:59:52 +0000 (19:59 +0200)
committerCarlos Garnacho <carlosg@gnome.org>
Wed, 10 Aug 2022 14:23:58 +0000 (14:23 +0000)
Refactor, no functional changes.

gdk/wayland/gdkdevice-wayland.c

index 38d18ec588a32054931f7585ff271810b7c4b97a..c6ab24dad292a283aff0efb5104d1d43977436c2 100644 (file)
@@ -1383,10 +1383,21 @@ static GdkDevice * get_scroll_device (GdkWaylandSeat              *seat,
 
 static void
 flush_discrete_scroll_event (GdkWaylandSeat     *seat,
-                             GdkScrollDirection  direction)
+                             gint                discrete_x,
+                             gint                discrete_y)
 {
   GdkEvent *event;
   GdkDevice *source;
+  GdkScrollDirection direction;
+
+  if (discrete_x > 0)
+    direction = GDK_SCROLL_LEFT;
+  else if (discrete_x < 0)
+    direction = GDK_SCROLL_RIGHT;
+  else if (discrete_y > 0)
+    direction = GDK_SCROLL_DOWN;
+  else
+    direction = GDK_SCROLL_UP;
 
   source = get_scroll_device (seat, seat->pointer_info.frame.source);
   event = gdk_scroll_event_new_discrete (seat->pointer_info.focus,
@@ -1429,18 +1440,9 @@ flush_scroll_event (GdkWaylandSeat             *seat,
 
   if (pointer_frame->discrete_x || pointer_frame->discrete_y)
     {
-      GdkScrollDirection direction;
-
-      if (pointer_frame->discrete_x > 0)
-        direction = GDK_SCROLL_LEFT;
-      else if (pointer_frame->discrete_x < 0)
-        direction = GDK_SCROLL_RIGHT;
-      else if (pointer_frame->discrete_y > 0)
-        direction = GDK_SCROLL_DOWN;
-      else
-        direction = GDK_SCROLL_UP;
-
-      flush_discrete_scroll_event (seat, direction);
+      flush_discrete_scroll_event (seat,
+                                   pointer_frame->discrete_x,
+                                   pointer_frame->discrete_y);
       pointer_frame->discrete_x = 0;
       pointer_frame->discrete_y = 0;
     }