mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-31 19:30:03 +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:
+6
-5
@@ -433,7 +433,8 @@ struct UI_Box
|
||||
F32 text_padding;
|
||||
|
||||
//- rjf: per-build artifacts
|
||||
DR_FancyRunList display_string_runs;
|
||||
DR_FancyStringList display_fstrs;
|
||||
DR_FancyRunList display_fruns;
|
||||
Rng2F32 rect;
|
||||
Vec2F32 fixed_position_animated;
|
||||
Vec2F32 position_delta;
|
||||
@@ -680,7 +681,8 @@ struct UI_State
|
||||
String8 drag_state_data;
|
||||
Arena *string_hover_arena;
|
||||
String8 string_hover_string;
|
||||
DR_FancyRunList string_hover_fancy_runs;
|
||||
F32 string_hover_size;
|
||||
DR_FancyStringList string_hover_fstrs;
|
||||
U64 string_hover_begin_us;
|
||||
U64 string_hover_build_index;
|
||||
U64 last_time_mousemoved_us;
|
||||
@@ -812,8 +814,8 @@ internal String8 ui_get_drag_data(U64 min_required_size);
|
||||
#define ui_get_drag_struct(type) ((type *)ui_get_drag_data(sizeof(type)).str)
|
||||
|
||||
//- rjf: hovered string info
|
||||
internal B32 ui_string_hover_active(void);
|
||||
internal DR_FancyRunList ui_string_hover_runs(Arena *arena);
|
||||
internal B32 ui_string_hover_active(void);
|
||||
internal DR_FancyStringList ui_string_hover_fstrs(Arena *arena);
|
||||
|
||||
//- rjf: interaction keys
|
||||
internal UI_Key ui_hot_key(void);
|
||||
@@ -881,7 +883,6 @@ internal UI_Box * ui_build_box_from_stringf(UI_BoxFlags flags, char *fm
|
||||
//- rjf: box node equipment
|
||||
internal inline void ui_box_equip_display_string(UI_Box *box, String8 string);
|
||||
internal inline void ui_box_equip_display_fancy_strings(UI_Box *box, DR_FancyStringList *strings);
|
||||
internal inline void ui_box_equip_display_string_fancy_runs(UI_Box *box, String8 string, DR_FancyRunList *runs);
|
||||
internal inline void ui_box_equip_fuzzy_match_ranges(UI_Box *box, FuzzyMatchRangeList *matches);
|
||||
internal inline void ui_box_equip_draw_bucket(UI_Box *box, DR_Bucket *bucket);
|
||||
internal inline void ui_box_equip_custom_draw(UI_Box *box, UI_BoxCustomDrawFunctionType *custom_draw, void *user_data);
|
||||
|
||||
Reference in New Issue
Block a user