5 glk_request_mouse_event(winid_t win)
7 VALID_WINDOW(win, return);
8 g_return_if_fail(win != NULL);
9 g_return_if_fail(win->type == wintype_TextGrid || win->type == wintype_Graphics);
11 g_signal_handler_unblock(win->widget, win->button_press_event_handler);
15 glk_cancel_mouse_event(winid_t win)
17 VALID_WINDOW(win, return);
18 g_return_if_fail(win != NULL);
19 g_return_if_fail(win->type == wintype_TextGrid || win->type == wintype_Graphics);
21 g_signal_handler_block(win->widget, win->button_press_event_handler);
25 on_window_button_press(GtkWidget *widget, GdkEventButton *event, winid_t win)
27 ChimaraGlk *glk = CHIMARA_GLK(gtk_widget_get_ancestor(win->widget, CHIMARA_TYPE_GLK));
32 case wintype_TextGrid:
33 event_throw(glk, evtype_MouseInput, win, event->x/win->unit_width, event->y/win->unit_height);
35 case wintype_Graphics:
36 event_throw(glk, evtype_MouseInput, win, event->x, event->y);
39 ILLEGAL_PARAM("Unknown window type: %u", win->type);