#ifndef __GUI_LIST_TABLE_H__ #define __GUI_LIST_TABLE_H__ #include "gui.h" #include "file_access.h" #include "renderer.h" #include "font.h" #include #define MAX_COLUMN_CHARS 2000 typedef char *(*table_get_data_fn)(void *state, uint16_t column, char *buffer); typedef struct { char **columns_names; uint16_t *columns_widths; uint16_t columns_count; table_get_data_fn get_data; } gui_table_t; bool table_render_item(gui_table_t *table_state, void *state, renderer_t *renderer, font_t *font, int16_t beg_x, int16_t beg_y, display_pixel_t color); char *browser_get_column_data(void *state, uint16_t column, char *out); bool table_update_widths(gui_table_t *table, font_t *font, void *arr, uint64_t item_size, uint32_t items_count); #endif // __GUI_LIST_TABLE_H__