core: more code refactoring / improvements

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2024-08-25 15:45:43 -07:00
parent de1275dc0a
commit 470a84909b
6 changed files with 7 additions and 35 deletions

View file

@ -1,7 +1,6 @@
const std = @import("std");
const mach = @import("../main.zig");
const Core = @import("../Core.zig");
const InputState = @import("InputState.zig");
const gpu = mach.gpu;
const InitOptions = Core.InitOptions;
const Event = Core.Event;
@ -36,7 +35,7 @@ allocator: std.mem.Allocator,
core: *Core,
events: EventQueue,
input_state: InputState,
input_state: Core.InputState,
// modifiers: KeyMods,
title: [:0]const u8,

View file

@ -1,25 +0,0 @@
const std = @import("std");
const Core = @import("../Core.zig");
const KeyBitSet = std.StaticBitSet(@intFromEnum(Core.Key.max) + 1);
const MouseButtonSet = std.StaticBitSet(@as(u4, @intFromEnum(Core.MouseButton.max)) + 1);
const InputState = @This();
keys: KeyBitSet = KeyBitSet.initEmpty(),
mouse_buttons: MouseButtonSet = MouseButtonSet.initEmpty(),
mouse_position: Core.Position = .{ .x = 0, .y = 0 },
pub inline fn isKeyPressed(self: InputState, key: Core.Key) bool {
return self.keys.isSet(@intFromEnum(key));
}
pub inline fn isKeyReleased(self: InputState, key: Core.Key) bool {
return !self.isKeyPressed(key);
}
pub inline fn isMouseButtonPressed(self: InputState, button: Core.MouseButton) bool {
return self.mouse_buttons.isSet(@intFromEnum(button));
}
pub inline fn isMouseButtonReleased(self: InputState, button: Core.MouseButton) bool {
return !self.isMouseButtonPressed(button);
}

View file

@ -4,7 +4,6 @@
const std = @import("std");
const mach = @import("../main.zig");
const Core = @import("../Core.zig");
const InputState = @import("InputState.zig");
const gpu = mach.gpu;
const InitOptions = Core.InitOptions;
const Event = Core.Event;
@ -38,7 +37,7 @@ allocator: std.mem.Allocator,
core: *Core,
events: EventQueue,
input_state: InputState,
input_state: Core.InputState,
modifiers: KeyMods,
title: [:0]u8,

View file

@ -2,7 +2,6 @@ const std = @import("std");
const w = @import("../win32.zig");
const mach = @import("../main.zig");
const Core = @import("../Core.zig");
const InputState = @import("InputState.zig");
const gpu = mach.gpu;
const InitOptions = Core.InitOptions;
@ -47,7 +46,7 @@ dinput: *w.IDirectInput8W,
saved_window_rect: w.RECT,
surface_descriptor_from_hwnd: gpu.Surface.DescriptorFromWindowsHWND,
events: EventQueue,
input_state: InputState,
input_state: Core.InputState,
oom: std.Thread.ResetEvent = .{},
// ------------------------------