DVUI

record

Record where this widget ended up so we can align it next frame.

Parameters

#
self:*Alignment
*Alignment
id:Id
Id
wd:*WidgetData
*WidgetData

Source

Implementation

#
pub fn record(self: *Alignment, id: Id, wd: *WidgetData) void {
        const x = wd.rectScale().r.x;
        if (dvui.dataGet(null, id, "_align", f32)) |old| {
            if (x != old) {
                // this widget moved, need to realign
                dvui.refresh(null, @src(), self.id);
            }
        }
        dvui.dataSet(null, id, "_align", x);
        self.next = @max(self.next, x);
    }