mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-30 11:00:02 +00:00
preserve fancy string list on a per-ui_box basis - do not rely on fancy *run* list for truncated-string-hover, as this will invalidly hold onto stale render handles (fixes crash on font resizes)
This commit is contained in:
@@ -71,6 +71,19 @@ dr_fancy_string_list_concat_in_place(DR_FancyStringList *dst, DR_FancyStringList
|
||||
MemoryZeroStruct(to_push);
|
||||
}
|
||||
|
||||
internal DR_FancyStringList
|
||||
dr_fancy_string_list_copy(Arena *arena, DR_FancyStringList *src)
|
||||
{
|
||||
DR_FancyStringList dst = {0};
|
||||
for(DR_FancyStringNode *src_n = src->first; src_n != 0; src_n = src_n->next)
|
||||
{
|
||||
DR_FancyString fstr = src_n->v;
|
||||
fstr.string = push_str8_copy(arena, fstr.string);
|
||||
dr_fancy_string_list_push(arena, &dst, &fstr);
|
||||
}
|
||||
return dst;
|
||||
}
|
||||
|
||||
internal String8
|
||||
dr_string_from_fancy_string_list(Arena *arena, DR_FancyStringList *list)
|
||||
{
|
||||
|
||||
@@ -111,6 +111,7 @@ internal U64 dr_hash_from_string(String8 string);
|
||||
internal void dr_fancy_string_list_push(Arena *arena, DR_FancyStringList *list, DR_FancyString *str);
|
||||
#define dr_fancy_string_list_push_new(arena, list, font_, size_, color_, string_, ...) dr_fancy_string_list_push((arena), (list), &(DR_FancyString){.font = (font_), .string = (string_), .color = (color_), .size = (size_), __VA_ARGS__})
|
||||
internal void dr_fancy_string_list_concat_in_place(DR_FancyStringList *dst, DR_FancyStringList *to_push);
|
||||
internal DR_FancyStringList dr_fancy_string_list_copy(Arena *arena, DR_FancyStringList *src);
|
||||
internal String8 dr_string_from_fancy_string_list(Arena *arena, DR_FancyStringList *list);
|
||||
internal DR_FancyRunList dr_fancy_run_list_from_fancy_string_list(Arena *arena, F32 tab_size_px, FNT_RasterFlags flags, DR_FancyStringList *strs);
|
||||
internal DR_FancyRunList dr_fancy_run_list_copy(Arena *arena, DR_FancyRunList *src);
|
||||
|
||||
Reference in New Issue
Block a user