ghostty/pkg/macos/graphics/geometry.zig
2022-10-09 10:57:19 -07:00

37 lines
787 B
Zig

const c = @import("c.zig");
pub const Point = extern struct {
x: c.CGFloat,
y: c.CGFloat,
pub fn cval(self: Point) c.struct_CGPoint {
return @bitCast(c.struct_CGPoint, self);
}
};
pub const Rect = extern struct {
origin: Point,
size: Size,
pub fn init(x: f64, y: f64, width: f64, height: f64) Rect {
return @bitCast(Rect, c.CGRectMake(x, y, width, height));
}
pub fn cval(self: Rect) c.struct_CGRect {
return @bitCast(c.struct_CGRect, self);
}
pub fn isNull(self: Rect) bool {
return c.CGRectIsNull(self.cval());
}
};
pub const Size = extern struct {
width: c.CGFloat,
height: c.CGFloat,
pub fn cval(self: Size) c.struct_CGSize {
return @bitCast(c.struct_CGSize, self);
}
};