[gnome-robots/arnaudb/modernize-code: 4/5] Use GtkEventControllerMotion.
- From: Arnaud B. <arnaudb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-robots/arnaudb/modernize-code: 4/5] Use GtkEventControllerMotion.
- Date: Sat, 23 May 2020 20:27:17 +0000 (UTC)
commit 2740887610635572c78a57a32bedb35a62e5e042
Author: Arnaud Bonatti <arnaud bonatti gmail com>
Date: Sat May 23 21:53:16 2020 +0200
Use GtkEventControllerMotion.
src/game.c | 13 ++++++++-----
src/game.h | 5 ++++-
src/gnome-robots.c | 5 ++++-
3 files changed, 16 insertions(+), 7 deletions(-)
---
diff --git a/src/game.c b/src/game.c
index 61a3254..417c47b 100644
--- a/src/game.c
+++ b/src/game.c
@@ -1342,16 +1342,19 @@ mouse_cb (GtkGestureMultiPress *gesture,
return;
}
-gboolean
-move_cb (GtkWidget * widget, GdkEventMotion * e, gpointer data)
+void
+move_cb (GtkEventControllerMotion *controller,
+ gdouble x,
+ gdouble y,
+ gpointer user_data)
{
int dx, dy;
- get_dir (e->x, e->y, &dx, &dy);
+ get_dir ((int)x, (int)y, &dx, &dy);
- set_cursor_by_direction (gtk_widget_get_window (widget), dx, dy);
+ set_cursor_by_direction (gtk_widget_get_window (game_area), dx, dy);
- return TRUE;
+ return;
}
/**********************************************************************/
diff --git a/src/game.h b/src/game.h
index 8f88184..3dec455 100644
--- a/src/game.h
+++ b/src/game.h
@@ -33,7 +33,10 @@ void mouse_cb (GtkGestureMultiPress *gesture,
gdouble x,
gdouble y,
gpointer user_data);
-gboolean move_cb (GtkWidget * widget, GdkEventMotion * e, gpointer data);
+void move_cb (GtkEventControllerMotion *controller,
+ gdouble x,
+ gdouble y,
+ gpointer user_data);
/**********************************************************************/
diff --git a/src/gnome-robots.c b/src/gnome-robots.c
index 90e24d4..d92f1da 100644
--- a/src/gnome-robots.c
+++ b/src/gnome-robots.c
@@ -353,6 +353,7 @@ activate (GtkApplication *app, gpointer user_data)
GtkStyleContext *style_context;
GamesScoresDirectoryImporter *importer;
GtkGesture *click_controller;
+ GtkEventController *motion_controller;
if (window != NULL)
{
@@ -386,7 +387,6 @@ activate (GtkApplication *app, gpointer user_data)
game_area = gtk_drawing_area_new ();
gtk_widget_add_events (game_area, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
GDK_POINTER_MOTION_MASK);
- g_signal_connect (G_OBJECT (game_area), "motion-notify-event", G_CALLBACK (move_cb), NULL);
g_signal_connect (G_OBJECT (game_area), "configure-event", G_CALLBACK (resize_cb), NULL);
g_signal_connect (G_OBJECT (game_area), "draw", G_CALLBACK (draw_cb), NULL);
g_signal_connect (G_OBJECT (game_area), "destroy", G_CALLBACK (gtk_widget_destroyed),
&game_area);
@@ -394,6 +394,9 @@ activate (GtkApplication *app, gpointer user_data)
click_controller = gtk_gesture_multi_press_new (game_area);
g_signal_connect (G_OBJECT (click_controller), "pressed", G_CALLBACK (mouse_cb), NULL);
+ motion_controller = gtk_event_controller_motion_new (game_area);
+ g_signal_connect (G_OBJECT (motion_controller), "motion", G_CALLBACK (move_cb), NULL);
+
gridframe = GTK_WIDGET (games_grid_frame_new (GAME_WIDTH, GAME_HEIGHT));
gtk_container_add (GTK_CONTAINER (gridframe), game_area);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]