DVUI

init

It's expected to call this when self is undefined

Parameters

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

Source

Implementation

#
pub fn init(self: *ScaleWidget, src: std.builtin.SourceLocation, init_opts: InitOptions, opts: Options) void {
    const defaults = Options{ .name = "Scale" };
    const wd = WidgetData.init(src, .{}, defaults.override(opts));
    self.* = .{
        .wd = wd,
        .init_options = init_opts,
        .touchPoints = dvui.dataGetPtrDefault(null, wd.id, "_touchPoints", [2]?dvui.Point.Physical, .{ null, null }),
    };

    if (self.init_options.scale) |init_s| {
        self.scale = init_s;
    } else {
        self.scale = dvui.dataGetPtrDefault(null, self.data().id, "_scale", f32, 1.0);
    }

    dvui.parentSet(self.widget());
    self.data().register();
    self.data().borderAndBackground(.{});
}