diff options
| author | Berke Güzel <wenekar1@gmail.com> | 2026-10-13 15:05:06 +0300 |
|---|---|---|
| committer | Berke Güzel <wenekar1@gmail.com> | 2026-10-13 15:05:06 +0300 |
| commit | 98f0d51157fa2a2b8ccaae54ed4850a88d223d01 (patch) | |
| tree | 90b03d0930986620d95eb0f45c07b96e1331783c /src/platform/cocoa | |
| parent | 339e1ad7adb8340732ee856d0f6f0d2c7f1455d1 (diff) | |
Simplify surface state, examples, and library installation
Diffstat (limited to 'src/platform/cocoa')
| -rw-r--r-- | src/platform/cocoa/api.h | 2 | ||||
| -rw-r--r-- | src/platform/cocoa/keymap.h | 2 | ||||
| -rw-r--r-- | src/platform/cocoa/window.m | 21 |
3 files changed, 9 insertions, 16 deletions
diff --git a/src/platform/cocoa/api.h b/src/platform/cocoa/api.h index 89b71f3..0f705dd 100644 --- a/src/platform/cocoa/api.h +++ b/src/platform/cocoa/api.h @@ -1,7 +1,7 @@ #ifndef YASL_COCOA_API_H #define YASL_COCOA_API_H -#include "common/backend.h" +#include "yasl/yasl.h" struct cocoa_display; struct cocoa_surface; diff --git a/src/platform/cocoa/keymap.h b/src/platform/cocoa/keymap.h index 1aba70b..a5394e2 100644 --- a/src/platform/cocoa/keymap.h +++ b/src/platform/cocoa/keymap.h @@ -1,7 +1,7 @@ #ifndef YASL_COCOA_KEYMAP_H #define YASL_COCOA_KEYMAP_H -#include "yasl/yasl.h" +#include "yasl/keycodes.h" enum yasl_key yasl_key_from_cocoa(uint32_t code); 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 <QuartzCore/QuartzCore.h> #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<NSDraggingInfo> 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, |
