From 537b2d768b31deb0f95c5122e0d562e4406ae9a0 Mon Sep 17 00:00:00 2001 From: Berke Güzel Date: Tue, 13 Oct 2026 15:41:39 +0300 Subject: Unify core and runner events into struct yasl_event The core input queue and the yasl_run() runner each had their own event type, and the runner translated one into the other. Both now share struct yasl_event in : yasl_surface_poll_event() returns the same events the app event callback receives, so the runner forwards them unchanged. Pointer input becomes POINTER_DOWN/UP/MOTION/SCROLL/LEAVE with a named yasl_pointer_button and a motion delta computed in the input queue. TEXT, PASTE and DROP share one text payload, scale changes fold into WINDOW_RESIZE, and every event carries a monotonic time_ns. yasl_surface_set_mouse_mode() is replaced by yasl_surface_set_pointer_mode(); no backend implements relative mode yet. The export check now only counts YASL_API declarations, so function pointer fields returning enum yasl_app_result are not mistaken for exports. Co-Authored-By: Claude Opus 5.5 --- src/platform/wayland/ime.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/platform/wayland/ime.c') diff --git a/src/platform/wayland/ime.c b/src/platform/wayland/ime.c index 440b234..f326fa8 100644 --- a/src/platform/wayland/ime.c +++ b/src/platform/wayland/ime.c @@ -129,10 +129,10 @@ static void text_input_done(void *data, struct zwp_text_input_v3 *text_input, struct wayland_surface *w = ((struct seat *)data)->ime_focus; if (!w) return; if (w->ime_commit) { - struct yasl_input_event ev = { - .kind = YASL_INPUT_TEXT, + struct yasl_event ev = { + .type = YASL_EVENT_TEXT, .surface = &w->base, - .text = { .text = w->ime_commit, .len = strlen(w->ime_commit) }, + .text = { .data = w->ime_commit, .len = strlen(w->ime_commit) }, }; input_queue_push(&w->input, &ev); free(w->ime_commit); -- cgit v1.2.3