return TRUE;
}
+gboolean receiver_touch_event(GtkWidget *widget, GdkEventTouch *event,
+ gpointer data) {
+ // XXX: handle event.touch.type == TOUCH_BEGIN and TOUCH_END
+ /* RECEIVER *rx = (RECEIVER *)data; */
+ /* if (rx == active_receiver) { */
+ /* if (event->button == 1) { */
+ /* last_x = (int)event->x; */
+ /* has_moved = FALSE; */
+ /* pressed = TRUE; */
+ /* } else if (event->button == 3) { */
+ /* g_idle_add(ext_start_rx, NULL); */
+ /* } */
+ /* } else { */
+ /* making_active = TRUE; */
+ /* } */
+ log_info("someone touched me!");
+ return TRUE;
+}
+
void receiver_set_active(RECEIVER *rx) {
active_receiver = rx;
g_idle_add(menu_active_receiver_changed, NULL);
extern void receiver_save_state(RECEIVER *rx);
extern gboolean receiver_button_press_event(GtkWidget *widget, GdkEventButton *event, gpointer data);
+extern gboolean receiver_touch_event(GtkWidget *widget, GdkEventTouch *event, gpointer data);
extern gboolean receiver_button_release_event(GtkWidget *widget, GdkEventButton *event, gpointer data);
extern gboolean receiver_motion_notify_event(GtkWidget *widget, GdkEventMotion *event, gpointer data);
extern gboolean receiver_scroll_event(GtkWidget *widget, GdkEventScroll *event, gpointer data);
receiver[0]->nr3 = 0;
receiver[0]->nr4 = 1;
break;
+ default:
+ break;
}
update_noise();
}
return receiver_button_press_event(widget,event,data);
}
+// https://docs.gtk.org/gtk3/input-handling.html
+static gboolean panadapter_touch_event_cb(GtkWidget *widget, GdkEventTouch *event, gpointer data) {
+ return receiver_touch_event(widget, event, data);
+}
+
static gboolean panadapter_button_release_event_cb(GtkWidget *widget, GdkEventButton *event, gpointer data) {
return receiver_button_release_event(widget,event,data);
}
G_CALLBACK (panadapter_button_release_event_cb), rx);
g_signal_connect(rx->panadapter,"scroll_event",
G_CALLBACK(panadapter_scroll_event_cb),rx);
-
+ g_signal_connect(rx->panadapter, "touch-event",
+ G_CALLBACK(panadapter_touch_event_cb), rx);
/* Ask to receive events the drawing area doesn't normally
* subscribe to. In particular, we need to ask for the
* button press and motion notify events that want to handle.