comparison gtk4/dw.c @ 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
comparison
equal deleted inserted replaced
2276:d7f0254f7d1e 2277:ba81894924cb
464 int retval = FALSE; 464 int retval = FALSE;
465 465
466 if(work.window) 466 if(work.window)
467 { 467 {
468 int (*motionfunc)(HWND, int, int, int, void *) = work.func; 468 int (*motionfunc)(HWND, int, int, int, void *) = work.func;
469 GdkEvent *event = gtk_event_controller_get_current_event(GDK_EVENT_CONTROLLER(controller));
470 GdkModifierType state = gdk_event_get_modifier_state(event);
469 int keys = 0; 471 int keys = 0;
470 /* TODO: Fill these in */
471 GdkModifierType state = 0;
472 472
473 if (state & GDK_BUTTON1_MASK) 473 if (state & GDK_BUTTON1_MASK)
474 keys = DW_BUTTON1_MASK; 474 keys = DW_BUTTON1_MASK;
475 if (state & GDK_BUTTON3_MASK) 475 if (state & GDK_BUTTON3_MASK)
476 keys |= DW_BUTTON2_MASK; 476 keys |= DW_BUTTON2_MASK;
790 int retval = FALSE; 790 int retval = FALSE;
791 791
792 if(work.window && GTK_IS_WIDGET(work.window)) 792 if(work.window && GTK_IS_WIDGET(work.window))
793 { 793 {
794 GtkWidget *widget = work.window; 794 GtkWidget *widget = work.window;
795 795 GdkEvent *event = gtk_event_controller_get_current_event(GDK_EVENT_CONTROLLER(controller));
796 /* Handle both key and button events together */ 796 gint button = gdk_button_event_get_button(event);
797 if(/* TODO: Fix this...(event->type == GDK_2BUTTON_PRESS && buttonevent->button == 1) || */ 797 GdkEventType type = gdk_event_get_event_type(event);
798 keyval == VK_RETURN) 798
799 /* TODO: Make sure this works.
800 Handle both key and button events together */
801 if((type == GDK_BUTTON_PRESS && button == 1) || keyval == VK_RETURN)
799 { 802 {
800 int (*contextfunc)(HWND, char *, void *, void *) = work.func; 803 int (*contextfunc)(HWND, char *, void *, void *) = work.func;
801 char *text = NULL; 804 char *text = NULL;
802 void *data = NULL; 805 void *data = NULL;
803 806