support drop event

This commit is contained in:
David Allemang
2024-06-27 11:58:18 -04:00
parent 07c96af5d7
commit fbfa8ee8d6
3 changed files with 59 additions and 35 deletions

View File

@@ -4,7 +4,7 @@ const builtin = @import("builtin");
const vk = @import("vk");
const c = @import("c.zig");
const EventBus = @import("au/EventBus.zig");
const Bus = @import("au/Bus.zig");
pub const use_debug_messenger = switch (builtin.mode) {
.Debug, .ReleaseSafe => true,
@@ -63,7 +63,7 @@ var _qp: QueueProxy = undefined;
var _instance: vk.Instance = undefined;
var _window: Window = undefined;
var _events: EventBus = undefined;
var _bus: Bus = undefined;
var _device: vk.Device = undefined;
var _dconfig: CandidateDeviceInfo = undefined;
var _queue: vk.Queue = undefined;
@@ -428,31 +428,31 @@ pub const Window = struct {
}
};
pub fn wait_events() []const EventBus.Event {
_events.clear();
pub fn wait_events() []const Bus.Event {
_bus.clear();
c.glfwWaitEvents();
return _events.events.items;
return _bus.events.items;
}
pub fn poll_events() []const EventBus.Event {
_events.clear();
pub fn poll_events() []const Bus.Event {
_bus.clear();
c.glfwPollEvents();
return _events.events.items;
return _bus.events.items;
}
pub fn wait_events_timeout(seconds: f64) []const EventBus.Event {
_events.clear();
pub fn wait_events_timeout(seconds: f64) []const Bus.Event {
_bus.clear();
c.glfwWaitEventsTimeout(seconds);
return _events.events.items;
return _bus.events.items;
}
fn init_event_bus(alloc: std.mem.Allocator) !void {
_events = EventBus.init(alloc);
errdefer _events.deinit();
try _events.connect(&_window);
_bus = Bus.init(alloc);
errdefer _bus.deinit();
try _bus.connect(&_window);
}
fn deinit_event_bus() void {
try _events.disconnect(&_window);
_events.deinit();
try _bus.disconnect(&_window);
_bus.deinit();
}