//! ---------------------------------------------------- //! ---------------------------------------------------- const App = @import("app"); const Zla = @import("zla"); const Renderer = @import("../resource/renderer.zig"); /// ---------------------------------------------------- /// ---------------------------------------------------- pub fn init(app: *App) !void { // --- # --- const zla = app.resources.getPtr(Zla) orelse return error.ZlaNotSet; // --- # --- const renderer = try app.resources.getOrSet(Renderer.init( app.alloc, )); // --- REGISTER --- zla.registerMethods(Renderer, &.{ .{ .name = "beginPass", .func = Renderer.beginPass }, .{ .name = "endPass", .func = Renderer.endPass }, .{ .name = "drawTriangle", .func = Renderer.drawTriangle }, .{ .name = "drawSquare", .func = Renderer.drawSquare }, }); zla.pushUserdata(renderer); zla.setGlobal("ren"); } /// ---------------------------------------------------- /// ---------------------------------------------------- pub fn deinit(app: *App) !void { const renderer = app.resources.getPtr(Renderer) orelse return error.RendererNotSet; renderer.deinit(); }