pkg/macos: display link callback slightly more typesafe

This commit is contained in:
Mitchell Hashimoto
2024-05-03 20:45:46 -07:00
parent f76af48613
commit cc72e6de23

View File

@ -52,8 +52,9 @@ pub const DisplayLink = opaque {
// pass this through. // pass this through.
pub fn setOutputCallback( pub fn setOutputCallback(
self: *DisplayLink, self: *DisplayLink,
comptime callbackFn: *const fn (*DisplayLink, ?*anyopaque) void, comptime Userdata: type,
userinfo: ?*anyopaque, comptime callbackFn: *const fn (*DisplayLink, ?*Userdata) void,
userinfo: ?*Userdata,
) Error!void { ) Error!void {
if (c.CVDisplayLinkSetOutputCallback( if (c.CVDisplayLinkSetOutputCallback(
@ptrCast(self), @ptrCast(self),
@ -71,7 +72,10 @@ pub const DisplayLink = opaque {
_ = flagsIn; _ = flagsIn;
_ = flagsOut; _ = flagsOut;
callbackFn(displayLink, inner_userinfo); callbackFn(
displayLink,
@alignCast(@ptrCast(inner_userinfo)),
);
return c.kCVReturnSuccess; return c.kCVReturnSuccess;
} }
}).callback), }).callback),