Mercurial > dwindows
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;