deinit
Parameters
- self:*RenderFrontToBack
- *RenderFrontToBack
Source
Implementation
pub fn deinit(self: *RenderFrontToBack) void {
const cw = dvui.currentWindow();
// restore previous queues
_ = renderingSet(self.prev_rendering);
cw.defer_render_cmds = self.prev_dr_cmds;
cw.defer_render_cmds_after = self.prev_dr_cmds_after;
// everything goes into the after queue
var sw = cw.subwindows.current() orelse &cw.subwindows.stack.items[0];
(cw.defer_render_cmds_after orelse &sw.render_cmds_after).insertSlice(cw.arena(), 0, self.render_cmds_after.items) catch |err| {
dvui.logError(@src(), err, "RenderFrontToBack could not insert after to render_cmds_after", .{});
};
(cw.defer_render_cmds_after orelse &sw.render_cmds_after).insertSlice(cw.arena(), 0, self.render_cmds.items) catch |err| {
dvui.logError(@src(), err, "RenderFrontToBack could not insert normal to render_cmds_after", .{});
};
self.render_cmds.clearAndFree(cw.arena());
self.render_cmds_after.clearAndFree(cw.arena());
}