deinit
Deallocates and destroys all stored textures
Parameters
- self:*Cache
- *Cache
- gpa:std.mem.Allocator
- std.mem.Allocator
- backend:dvui.Backend
- dvui.Backend
Source
Implementation
pub fn deinit(self: *Cache, gpa: std.mem.Allocator, backend: dvui.Backend) void {
defer self.* = undefined;
var it = self.cache.iterator();
while (it.next()) |item| {
backend.textureDestroy(item.value_ptr.*);
}
self.cache.deinit(gpa);
for (self.trash.items) |tex| {
backend.textureDestroy(tex);
}
self.trash.deinit(gpa);
for (self.trash_target.items) |tex| {
backend.textureDestroyTarget(tex);
}
self.trash_target.deinit(gpa);
}