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);
}
}