changeset 2277:ba81894924cb

GTK4: Changes to handle the now opaque GdkEvent structure.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Tue, 02 Feb 2021 18:35:26 +0000
parents d7f0254f7d1e
children 18028fa53ef2
files gtk4/dw.c
diffstat 1 files changed, 9 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/gtk4/dw.c	Tue Feb 02 03:52:56 2021 +0000
+++ b/gtk4/dw.c	Tue Feb 02 18:35:26 2021 +0000
@@ -466,9 +466,9 @@
    if(work.window)
    {
       int (*motionfunc)(HWND, int, int, int, void *) = work.func;
+      GdkEvent *event = gtk_event_controller_get_current_event(GDK_EVENT_CONTROLLER(controller));
+      GdkModifierType state = gdk_event_get_modifier_state(event);
       int keys = 0;
-      /* TODO: Fill these in */
-      GdkModifierType state = 0;
 
       if (state & GDK_BUTTON1_MASK)
          keys = DW_BUTTON1_MASK;
@@ -792,10 +792,13 @@
    if(work.window && GTK_IS_WIDGET(work.window))
    {
       GtkWidget *widget = work.window;
-
-      /* Handle both key and button events together */
-      if(/* TODO: Fix this...(event->type == GDK_2BUTTON_PRESS && buttonevent->button == 1) || */
-         keyval == VK_RETURN)
+      GdkEvent *event = gtk_event_controller_get_current_event(GDK_EVENT_CONTROLLER(controller));
+      gint button = gdk_button_event_get_button(event);
+      GdkEventType type = gdk_event_get_event_type(event);
+
+      /* TODO: Make sure this works. 
+         Handle both key and button events together */
+      if((type == GDK_BUTTON_PRESS && button == 1) || keyval == VK_RETURN)
       {
          int (*contextfunc)(HWND, char *, void *, void *) = work.func;
          char *text = NULL;