tell the view range in render_term.cpp
This commit is contained in:
parent
73a67d0a9f
commit
a529719ffd
1 changed files with 11 additions and 7 deletions
|
@ -70,14 +70,16 @@ String8_Node *render_legend_to_string(Arena *arena, const Term_Viewer &viewer, c
|
|||
}
|
||||
|
||||
internal
|
||||
String8_Node *render_info_to_string(Arena *arena, const App_State &app, String8_Node *prev)
|
||||
String8_Node *render_info_to_string(Arena *arena, Byte_Range range, const App_State &app, String8_Node *prev)
|
||||
{
|
||||
String8_Node *res = push_str8_node(arena, prev,
|
||||
"\n"
|
||||
" Displaying: 0x%lX - 0x%lX / 0x%lX\n"
|
||||
" ROOT version: %u.%u.%u\n"
|
||||
" TFile compression: %u\n"
|
||||
" Num pages: %lu\n"
|
||||
" Num elements: %lu\n",
|
||||
range.start, range.end(), app.inspected_file.size,
|
||||
app.tfile_data.root_version_major, app.tfile_data.root_version_minor, app.tfile_data.root_version_patch,
|
||||
app.tfile_data.compression,
|
||||
app.rndata.n_pages,
|
||||
|
@ -93,10 +95,13 @@ String8_Node *render_info_to_string(Arena *arena, const App_State &app, String8_
|
|||
}
|
||||
|
||||
internal
|
||||
String8 render_range_bytes_to_string(Arena *arena, Arena *scratch_arena, App_State &app, Term_Viewer &viewer, u64 len, u64 n_cols)
|
||||
String8 render_range_bytes_to_string(Arena *arena, Arena *scratch_arena, App_State &app, Term_Viewer &viewer, Byte_Range range, u64 n_cols)
|
||||
{
|
||||
if (n_cols == 0)
|
||||
n_cols = 32;
|
||||
|
||||
u64 start = range.start;
|
||||
u64 len = range.len;
|
||||
u64 n_lines = len / n_cols;
|
||||
u64 max_addr = app.inspected_file.size;
|
||||
|
||||
|
@ -119,8 +124,6 @@ String8 render_range_bytes_to_string(Arena *arena, Arena *scratch_arena, App_Sta
|
|||
char *buf = arena_push_array_nozero<char>(arena, buf_size);
|
||||
buf[len] = 0;
|
||||
|
||||
u64 start = app.base_display_addr;
|
||||
|
||||
// We need to properly initialize this before calling mem_edit_bg_color_fn!
|
||||
app.last_pinfo = &invalid_pinfo;
|
||||
|
||||
|
@ -185,16 +188,17 @@ String8_Node *render_range_to_string(Arena *arena, App_State &app, u64 len, u64
|
|||
String8_Node *result = push_str8_node(arena, nullptr, "RNTuple '%s' (%s) from file \"%s\"\n",
|
||||
app.ntpl_name.c(), ntpl_desc.c(), app.inspected_file.name.c());
|
||||
String8_Node *result_tail = result;
|
||||
|
||||
|
||||
// Bytes view
|
||||
String8_Node *bytes_view = arena_push<String8_Node>(arena);
|
||||
bytes_view->str = render_range_bytes_to_string(arena, scratch.arena, app, viewer, len, n_cols);
|
||||
Byte_Range range = { app.base_display_addr, min(app.inspected_file.size - app.base_display_addr, len) };
|
||||
bytes_view->str = render_range_bytes_to_string(arena, scratch.arena, app, viewer, range, n_cols);
|
||||
result_tail->next = bytes_view;
|
||||
result_tail = bytes_view;
|
||||
|
||||
// Footer
|
||||
result_tail = render_legend_to_string(arena, viewer, app, result_tail);
|
||||
result_tail = render_info_to_string(arena, app, result_tail);
|
||||
result_tail = render_info_to_string(arena, range, app, result_tail);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue