mirror of
https://github.com/ghostty-org/ghostty.git
synced 2026-05-28 15:55:20 +00:00
@cImport is going to disappear in Zig 0.17. Its deprecated in Zig 0.16. Let's remove it now. Replace @cImport with addTranslateC across pkg/ packages. Each package now has a c_import.h header that is translated at build time via addTranslateC and exposed as a "cimport" module import. Converted packages: - dcimgui - fontconfig - freetype - glslang - harfbuzz - macos - oniguruma - opengl - sentry - spirv-cross - wuffs Omitted: - gtk4-layer-shell - This has a bit more complexity with how it interacts with GTK headers, so I need to consider this a bit more. - src/ - It'll be cleaner to do this separately.
36 lines
819 B
Zig
36 lines
819 B
Zig
const std = @import("std");
|
|
const assert = std.debug.assert;
|
|
const c = @import("c");
|
|
|
|
pub const ComparisonResult = enum(c_int) {
|
|
less = -1,
|
|
equal = 0,
|
|
greater = 1,
|
|
};
|
|
|
|
pub const Range = extern struct {
|
|
location: c.CFIndex,
|
|
length: c.CFIndex,
|
|
|
|
pub fn init(loc: usize, len: usize) Range {
|
|
return @bitCast(c.CFRangeMake(@intCast(loc), @intCast(len)));
|
|
}
|
|
};
|
|
|
|
pub const FourCharCode = packed struct(u32) {
|
|
d: u8,
|
|
c: u8,
|
|
b: u8,
|
|
a: u8,
|
|
|
|
pub fn init(v: *const [4]u8) FourCharCode {
|
|
return .{ .a = v[0], .b = v[1], .c = v[2], .d = v[3] };
|
|
}
|
|
|
|
/// Converts the ID to a string. The return value is only valid
|
|
/// for the lifetime of the self pointer.
|
|
pub fn str(self: FourCharCode) [4]u8 {
|
|
return .{ self.a, self.b, self.c, self.d };
|
|
}
|
|
};
|