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/backend.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/platform/wayland/backend.c') diff --git a/src/platform/wayland/backend.c b/src/platform/wayland/backend.c index cc96934..1d83ec6 100644 --- a/src/platform/wayland/backend.c +++ b/src/platform/wayland/backend.c @@ -101,9 +101,9 @@ static bool impl_surface_present(struct yasl_surface *s, const struct yasl_frame return wayland_surface_present((struct wayland_surface *)s, fb, damage); } -static bool impl_surface_input_poll(struct yasl_surface *s, struct yasl_input_event *ev) +static bool impl_surface_poll_event(struct yasl_surface *s, struct yasl_event *ev) { - return wayland_surface_input_poll((struct wayland_surface *)s, ev); + return wayland_surface_poll_event((struct wayland_surface *)s, ev); } static struct yasl_geometry impl_surface_geometry(const struct yasl_surface *s) @@ -205,7 +205,7 @@ const struct yasl_backend_ops yasl_wayland_backend = { .surface_set_title = impl_surface_set_title, .surface_schedule_redraw = impl_surface_schedule_redraw, .surface_present = impl_surface_present, - .surface_input_poll = impl_surface_input_poll, + .surface_poll_event = impl_surface_poll_event, .surface_geometry = impl_surface_geometry, .surface_timing = impl_surface_timing, .surface_frame_time_ns = impl_surface_frame_time_ns, -- cgit v1.2.3