mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-04-20 00:18:53 +03:00

Closes #6702 This removes our mach-glfw dependency and replaces it with an in-tree pkg/glfw that includes both the source for compiling glfw as well as the Zig bindings. This matches the pattern from our other packages. This is based on the upstream mach-glfw work and therefore includes the original license and copyright information. The reasoning is stated in the issue but to summarize for the commit: - mach-glfw is no longer maintained, so we have to take ownership - mach-glfw depended on some large blobs of header files to enable cross-compilation but this isn't something we actually care about, so we can (and do) drop the blobs - mach-glfw blobs were hosted on mach hosts. given mach-glfw is unmaintained, we can't rely on this hosting - mach-glfw relied on a "glfw" package which was owned by another person to be Zig 0.14 compatible, but we no longer need to rely on this - mach-glfw builds were outdated based on latest Zig practices
24 lines
797 B
Zig
24 lines
797 B
Zig
const c = @import("c.zig").c;
|
|
|
|
/// Mouse button IDs.
|
|
///
|
|
/// See glfw.setMouseButtonCallback for how these are used.
|
|
pub const MouseButton = enum(c_int) {
|
|
// We use left/right/middle aliases here because those are more common and we cannot have
|
|
// duplicate values in a Zig enum.
|
|
left = c.GLFW_MOUSE_BUTTON_1,
|
|
right = c.GLFW_MOUSE_BUTTON_2,
|
|
middle = c.GLFW_MOUSE_BUTTON_3,
|
|
four = c.GLFW_MOUSE_BUTTON_4,
|
|
five = c.GLFW_MOUSE_BUTTON_5,
|
|
six = c.GLFW_MOUSE_BUTTON_6,
|
|
seven = c.GLFW_MOUSE_BUTTON_7,
|
|
eight = c.GLFW_MOUSE_BUTTON_8,
|
|
};
|
|
|
|
/// Not in the MouseButton enumeration as it is a duplicate value which is forbidden.
|
|
pub const last = MouseButton.eight;
|
|
pub const one = MouseButton.left;
|
|
pub const two = MouseButton.right;
|
|
pub const three = MouseButton.middle;
|