From 98f0d51157fa2a2b8ccaae54ed4850a88d223d01 Mon Sep 17 00:00:00 2001 From: Berke Güzel Date: Tue, 13 Oct 2026 15:05:06 +0300 Subject: Simplify surface state, examples, and library installation --- src/platform/cocoa/window.m | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) (limited to 'src/platform/cocoa/window.m') diff --git a/src/platform/cocoa/window.m b/src/platform/cocoa/window.m index dc6175d..aa9fa48 100644 --- a/src/platform/cocoa/window.m +++ b/src/platform/cocoa/window.m @@ -3,6 +3,7 @@ #import #include "platform/cocoa/api.h" +#include "common/backend.h" #include "yasl/native/cocoa.h" #include "common/timing.h" #include "common/loop.h" @@ -93,7 +94,6 @@ struct cocoa_surface { struct input_queue input; struct yasl_vector2i pointer; double scroll_x; - uint32_t state; uint32_t mods; uint32_t buttons; enum yasl_cursor cursor; @@ -180,13 +180,13 @@ static void set_state(struct cocoa_surface *w, uint32_t bit, bool on) { if (!w || w->closed) return; - uint32_t next = on ? (w->state | bit) : (w->state & ~bit); - if (next == w->state) + uint32_t next = on ? (w->base.state | bit) : (w->base.state & ~bit); + if (next == w->base.state) return; - w->state = next; + w->base.state = next; darwin_ctx.depth++; if (w->cbs->state) - w->cbs->state(&w->base, w->state, w->ud); + w->cbs->state(&w->base, next, w->ud); darwin_ctx.depth--; } @@ -713,7 +713,7 @@ static struct yasl_vector2i dragging_pos(YaslView *view, id send if (period > 0.0 && period < 0.25) w->clock.refresh_ns = period * 1e9; w->frame_due = true; - if (!w->want_draw || (w->state & YASL_STATE_SUSPENDED)) { + if (!w->want_draw || (w->base.state & YASL_STATE_SUSPENDED)) { if (++w->idle_frames >= LINK_IDLE_FRAMES) link.paused = YES; return; @@ -1069,7 +1069,7 @@ bool cocoa_surface_present(struct cocoa_surface *w, const struct yasl_framebuffe static void render_and_commit(struct cocoa_surface *w) { if (w->closed || !w->cbs->draw || w->rendering || w->size.x <= 0 || w->size.y <= 0 || - (w->state & YASL_STATE_SUSPENDED)) + (w->base.state & YASL_STATE_SUSPENDED)) return; size_t count = (size_t)w->size.x * (size_t)w->size.y; @@ -2042,12 +2042,6 @@ static struct yasl_geometry impl_surface_geometry(const struct yasl_surface *s) return cocoa_surface_geometry((const struct cocoa_surface *)s); } -static uint32_t impl_surface_state(const struct yasl_surface *s) -{ - const struct cocoa_surface *w = (const struct cocoa_surface *)s; - return w ? w->state : 0; -} - static struct yasl_timing impl_surface_timing(const struct yasl_surface *s) { return cocoa_surface_timing((const struct cocoa_surface *)s); @@ -2156,7 +2150,6 @@ const struct yasl_backend_ops yasl_cocoa_backend = { .surface_present = impl_surface_present, .surface_input_poll = impl_surface_input_poll, .surface_geometry = impl_surface_geometry, - .surface_state = impl_surface_state, .surface_timing = impl_surface_timing, .surface_frame_time_ns = impl_surface_frame_time_ns, .surface_set_cursor = impl_surface_set_cursor, -- cgit v1.2.3