modules are global

This commit is contained in:
David Allemang
2024-07-09 13:57:08 -04:00
parent 1269018e61
commit 4d3d4e6ee6
6 changed files with 48 additions and 63 deletions

View File

@@ -9,21 +9,25 @@ pub fn main() !void {
defer _ = gpa.detectLeaks();
const alloc = gpa.allocator();
var window = try nu.Window.init(alloc, .{ .title = "Hello World" });
defer window.deinit();
// todo declare or infer module dependencies, topological sort for init order
// problem: how to specify runtime options, like Window title?
// problem: where should gpa go? probably some "Engine" structure in nu.zig
var render = try nu.Render.init(alloc, &window);
defer render.deinit();
try nu.Window.init(alloc, .{ .title = "Hello World" });
defer nu.Window.deinit();
var imgui = try nu.ImGui.init(alloc, &window, &render);
defer imgui.deinit();
try nu.Render.init(alloc);
defer nu.Render.deinit();
var app = try App.init(alloc, &render, &imgui);
defer app.deinit();
try nu.ImGui.init(alloc);
defer nu.ImGui.deinit();
try nu.run(&window, .{
&app,
&imgui,
&render,
try App.init(alloc);
defer App.deinit();
try nu.run(nu.Window, .{
App,
nu.ImGui,
nu.Render,
});
}