deinit
Parameters
- self:*CacheSizeWidget
- *CacheSizeWidget
Source
Implementation
pub fn deinit(self: *CacheSizeWidget) void {
defer if (dvui.widgetIsAllocated(self)) dvui.widgetFree(self);
defer self.* = undefined;
if (!self.stable and dvui.currentWindow().extra_frames_needed == 0) {
// mark we had a stable frame, we will use this frame's min size going forward
self.stable = true;
} else {
// use min size from last frame
if (dvui.minSizeGet(self.data().id)) |ms| self.data().minSizeMax(ms);
}
dvui.dataSet(null, self.data().id, "stable", self.stable);
const cw = dvui.currentWindow();
cw.extra_frames_needed = @max(cw.extra_frames_needed, self.refresh_prev_value);
self.data().minSizeSetAndRefresh();
self.data().minSizeReportToParent();
dvui.parentReset(self.data().id, self.data().parent);
}