tooltip
Show a floating text tooltip as long as the mouse is inside init_opts.active_rect.
Use init_opts.interactive = true to allow mouse interaction with the tooltip contents.
Only valid between Window.beginand Window.end.
Parameters
- src:std.builtin.SourceLocation
- std.builtin.SourceLocation
- init_opts:FloatingTooltipWidget.InitOptions
- FloatingTooltipWidget.InitOptions
- fmt:[]const u8
- []const u8
- fmt_args:anytype
- anytype
- opts:Options
- Options
Source
Implementation
pub fn tooltip(src: std.builtin.SourceLocation, init_opts: FloatingTooltipWidget.InitOptions, comptime fmt: []const u8, fmt_args: anytype, opts: Options) void {
var tt: dvui.FloatingTooltipWidget = undefined;
const defaults: Options = .{
.role = .tooltip,
.padding = Rect.all(6),
};
const options = defaults.override(opts);
tt.init(src, init_opts, options);
if (tt.shown()) {
var tl2 = dvui.textLayout(@src(), .{}, options.strip());
tl2.format(fmt, fmt_args, .{});
tl2.deinit();
if (tt.data().accesskit_node()) |ak_node| {
var str_builder: std.Io.Writer.Allocating = .init(currentWindow().arena());
str_builder.writer.print(fmt, fmt_args) catch {};
AccessKit.nodeSetLabel(ak_node, str_builder.toOwnedSliceSentinel(0) catch "");
}
}
tt.deinit();
}