#ifndef __WINDOW_BROWSER_ITEMS_H__ #define __WINDOW_BROWSER_ITEMS_H__ #include "gui_component_text.h" #include "gui_list_table.h" #include #include "renderer.h" #include "display_utils.h" #include "gui_list_commands.h" #include "file_access.h" #define COLUMNS_COUNT 4 typedef struct { bool running; gui_t *gui; container_t *list_container; component_t *line_component; window_t *browser_window; font_t *font; gui_list_command_state_t click_state; text_t text_state; directory_t *current_directory; fileaccess_state_t state; gui_table_t table; uint16_t column_widths[COLUMNS_COUNT]; } browser_window_state_t; extern char *column_names[]; bool browser_window_list_render_item(void *state, uint32_t index, renderer_t *renderer, int16_t beg_x, int16_t beg_y, display_pixel_t color); bool browser_window_list_render_header(void *state, uint32_t index, renderer_t *renderer, int16_t beg_x, int16_t beg_y, display_pixel_t color); char *browser_get_column_data(void *state, uint16_t column, char *out); #endif // __WINDOW_BROWSER_ITEMS_H__