summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2018-06-28 19:48:00 +0200
committerCarlos Garnacho <carlosg@gnome.org>2018-07-30 13:14:12 +0200
commit25b3b9092085ec1ab4605a14f8cf2b8660c4d642 (patch)
tree98736e9978a50f0314b1722d5678ce4dde3d069f
parent71762d3b28b510ca29fd58113264585f7dfc37b9 (diff)
downloadgtk+-25b3b9092085ec1ab4605a14f8cf2b8660c4d642.tar.gz
tests: Port motion-compression to using a motion controller
-rw-r--r--tests/motion-compression.c38
1 files changed, 18 insertions, 20 deletions
diff --git a/tests/motion-compression.c b/tests/motion-compression.c
index f869bcfeb4..65e1ca5e8e 100644
--- a/tests/motion-compression.c
+++ b/tests/motion-compression.c
@@ -4,24 +4,18 @@
GtkAdjustment *adjustment;
int cursor_x, cursor_y;
-static gboolean
-event_cb (GtkWidget *window,
- GdkEvent *event)
+static void
+motion_cb (GtkEventControllerMotion *motion,
+ gdouble x,
+ gdouble y,
+ GtkWidget *widget)
{
- if (gdk_event_get_event_type (event) == GDK_MOTION_NOTIFY &&
- gdk_event_get_surface (event) == gtk_widget_get_surface (window))
- {
- gdouble x, y;
- float processing_ms = gtk_adjustment_get_value (adjustment);
- g_usleep (processing_ms * 1000);
-
- gdk_event_get_coords ((GdkEvent *)event, &x, &y);
- cursor_x = x;
- cursor_y = y;
- gtk_widget_queue_draw (window);
- }
-
- return GDK_EVENT_PROPAGATE;
+ float processing_ms = gtk_adjustment_get_value (adjustment);
+ g_usleep (processing_ms * 1000);
+
+ cursor_x = x;
+ cursor_y = y;
+ gtk_widget_queue_draw (widget);
}
static void
@@ -48,6 +42,7 @@ main (int argc, char **argv)
GtkWidget *label;
GtkWidget *scale;
GtkWidget *da;
+ GtkEventController *controller;
gtk_init ();
@@ -69,9 +64,12 @@ main (int argc, char **argv)
gtk_drawing_area_set_draw_func (GTK_DRAWING_AREA (da), on_draw, NULL, NULL);
gtk_widget_set_vexpand (da, TRUE);
gtk_box_pack_end (GTK_BOX (vbox), da);
-
- g_signal_connect (window, "event",
- G_CALLBACK (event_cb), NULL);
+
+ controller = gtk_event_controller_motion_new ();
+ g_signal_connect (controller, "motion",
+ G_CALLBACK (motion_cb), da);
+ gtk_widget_add_controller (da, controller);
+
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_main_quit), NULL);