about summary refs log tree commit diff
path: root/src/input.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/input.zig')
-rw-r--r--src/input.zig45
1 files changed, 21 insertions, 24 deletions
diff --git a/src/input.zig b/src/input.zig
index 9c2396c..31fda2e 100644
--- a/src/input.zig
+++ b/src/input.zig
@@ -45,23 +45,20 @@ const keys = [_][]const u8{
 };
 
 /// Keyboard key enumeration: https://www.glfw.org/docs/latest/group__keys.html
-pub const Key = @Type(.{
-    .Enum = .{
-        .layout = .Auto,
-        .tag_type = c_int,
-        .fields = blk: {
-            var fields: [keys.len]EnumField = undefined;
-            for (keys) |name, i|
-                fields[i] = .{
-                    .name = name,
-                    .value = @field(c, "GLFW_KEY_" ++ name),
-                };
-            break :blk fields[0..];
-        },
-        .decls = &.{},
-        .is_exhaustive = true,
-    }
-});
+pub const Key = @Type(.{ .Enum = .{
+    .tag_type = c_int,
+    .fields = blk: {
+        var fields: [keys.len]EnumField = undefined;
+        for (keys, 0..) |name, i|
+            fields[i] = .{
+                .name = name,
+                .value = @field(c, "GLFW_KEY_" ++ name),
+            };
+        break :blk fields[0..];
+    },
+    .decls = &.{},
+    .is_exhaustive = true,
+} });
 
 /// Modifier key flags: https://www.glfw.org/docs/latest/group__mods.html
 pub const Mods = packed struct {
@@ -85,8 +82,8 @@ pub const Mods = packed struct {
 
     /// Convert c_int to Mods.
     pub fn fromInt(mask: c_int) Mods {
-        const integer = @intCast(MaskInt, mask);
-        return @bitCast(Mods, Mask{
+        const integer: MaskInt = @intCast(mask);
+        return @bitCast(Mask{
             .integer = switch (endian) {
                 .Big => @bitReverse(integer),
                 .Little => integer,
@@ -96,8 +93,8 @@ pub const Mods = packed struct {
 
     /// Convert Mods to c_int.
     pub fn toInt(self: Mods) c_int {
-        const integer = @bitCast(Mask, self).integer;
-        return @intCast(c_int, switch (endian) {
+        const integer = @as(Mask, @bitCast(self)).integer;
+        return @intCast(switch (endian) {
             .Big => @bitReverse(integer),
             .Little => integer,
         });
@@ -123,9 +120,9 @@ pub const MouseButton = enum(c_int) {
     @"7" = c.GLFW_MOUSE_BUTTON_7,
     @"8" = c.GLFW_MOUSE_BUTTON_8,
 
-    pub const left = @intToEnum(MouseButton, c.GLFW_MOUSE_BUTTON_LEFT);
-    pub const right = @intToEnum(MouseButton, c.GLFW_MOUSE_BUTTON_RIGHT);
-    pub const middle = @intToEnum(MouseButton, c.GLFW_MOUSE_BUTTON_MIDDLE);
+    pub const left: MouseButton = @enumFromInt(c.GLFW_MOUSE_BUTTON_LEFT);
+    pub const right: MouseButton = @enumFromInt(c.GLFW_MOUSE_BUTTON_RIGHT);
+    pub const middle: MouseButton = @enumFromInt(c.GLFW_MOUSE_BUTTON_MIDDLE);
 
     /// Mouse button input action:
     /// https://www.glfw.org/docs/latest/input_guide.html#input_mouse_button