ghostty/pkg/macos/graphics/geometry.zig
2024-08-16 16:38:04 -07:00

35 lines
743 B
Zig

const std = @import("std");
const assert = std.debug.assert;
const c = @import("c.zig").c;
pub const Point = extern struct {
x: c.CGFloat,
y: c.CGFloat,
};
pub const Rect = extern struct {
origin: Point,
size: Size,
pub fn init(x: f64, y: f64, width: f64, height: f64) Rect {
return @bitCast(c.CGRectMake(x, y, width, height));
}
pub fn isNull(self: Rect) bool {
return c.CGRectIsNull(@bitCast(self));
}
pub fn getHeight(self: Rect) c.CGFloat {
return c.CGRectGetHeight(@bitCast(self));
}
pub fn getWidth(self: Rect) c.CGFloat {
return c.CGRectGetWidth(@bitCast(self));
}
};
pub const Size = extern struct {
width: c.CGFloat,
height: c.CGFloat,
};