DVUI

init

It's expected to call this when self is undefined

Parameters

#
self:*ButtonWidget
*ButtonWidget
src:std.builtin.SourceLocation
std.builtin.SourceLocation
init_options:InitOptions
InitOptions
opts:Options
Options

Source

Implementation

#
pub fn init(self: *ButtonWidget, src: std.builtin.SourceLocation, init_options: InitOptions, opts: Options) void {
    var options = defaults.override(opts);
    if (init_options.grayed) {
        options.color_text = dvui.Color.average(options.color(.text), options.color(.fill));
    }
    self.* = .{
        .wd = .init(src, .{}, options),
        .init_options = init_options,
    };
    self.data().register();
    dvui.parentSet(self.widget());

    dvui.tabIndexSet(self.data().id, self.data().options.tab_index, self.data().rectScale().r);

    if (self.data().accesskit_node()) |ak_node| {
        dvui.AccessKit.nodeAddAction(ak_node, dvui.AccessKit.Action.focus);
        dvui.AccessKit.nodeAddAction(ak_node, dvui.AccessKit.Action.click);
    }
}