DVUI

init

Parameters

#
self:*ReorderWidget
*ReorderWidget
src:std.builtin.SourceLocation
std.builtin.SourceLocation
init_opts:InitOptions
InitOptions
opts:Options
Options

Source

Implementation

#
pub fn init(self: *ReorderWidget, src: std.builtin.SourceLocation, init_opts: InitOptions, opts: Options) void {
    const defaults = Options{ .name = "Reorder" };
    const wd = WidgetData.init(src, .{}, defaults.override(opts));
    self.* = .{
        .wd = wd,
        .init_opts = init_opts,
        .id_reorderable = dvui.dataGet(null, wd.id, "_id_reorderable", usize),
        .drag_point = dvui.dataGet(null, wd.id, "_drag_point", dvui.Point.Physical),
        .reorderable_size = dvui.dataGet(null, wd.id, "_reorderable_size", dvui.Size) orelse .{},
    };

    if (self.drag_point != null and dvui.currentWindow().dragging.state != .dragging) {
        self.drag_ending = true;
        dvui.captureMouse(null, 0);
    }

    self.data().register();
    self.data().borderAndBackground(.{});

    dvui.parentSet(self.widget());
}