tag
Parameters
- name:[]const u8
- []const u8
- tdata:TagData
- TagData
Source
Implementation
pub fn tag(name: []const u8, tdata: TagData) void {
var cw = currentWindow();
if (cw.tags.map.getPtr(name)) |old_data| {
if (old_data.used) {
dvui.log.err("duplicate tag name \"{s}\" id {x} (highlighted in red); you may need to pass .{{.id_extra=<loop index>}} as widget options (see https://github.com/david-vanderson/dvui/blob/master/readme-implementation.md#widget-ids )\n", .{ name, tdata.id });
dvui.Debug.errorOutline(tdata.rect);
}
old_data.*.inner = tdata;
old_data.used = true;
return;
}
//std.debug.print("tag dupe {s}\n", .{name});
const name_copy = cw.gpa.dupe(u8, name) catch |err| {
dvui.log.err("tag() got {any} for name {s}\n", .{ err, name });
return;
};
cw.tags.put(cw.gpa, name_copy, tdata) catch |err| {
dvui.log.err("tag() \"{s}\" got {any} for id {x}\n", .{ name, err, tdata.id });
cw.gpa.free(name_copy);
};
}