summaryrefslogtreecommitdiff
path: root/src/platform/cocoa
diff options
context:
space:
mode:
authorBerke Güzel <wenekar1@gmail.com>2026-10-13 15:05:06 +0300
committerBerke Güzel <wenekar1@gmail.com>2026-10-13 15:05:06 +0300
commit98f0d51157fa2a2b8ccaae54ed4850a88d223d01 (patch)
tree90b03d0930986620d95eb0f45c07b96e1331783c /src/platform/cocoa
parent339e1ad7adb8340732ee856d0f6f0d2c7f1455d1 (diff)
Simplify surface state, examples, and library installation
Diffstat (limited to 'src/platform/cocoa')
-rw-r--r--src/platform/cocoa/api.h2
-rw-r--r--src/platform/cocoa/keymap.h2
-rw-r--r--src/platform/cocoa/window.m21
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,