Files
Sprinter-SDCC/applications/Volkov/include/sc_panel.h
T
snark13 8e389c03f8 Volkov: добавить Sprinter Commander
Реализовать двухпанельный Commander от платформенного PoC до этапов P6-P20: EMM-каталог, сортировку и выбор, операции с файлами и деревьями, транзакционное копирование, метаданные, политику конфликтов и предварительную проверку свободного места.

Добавить проектную документацию, HDD/MAME-сценарии и проверенные артефакты. Расширить libc операцией bank_write_page, исправлением режима O_RDONLY и связанными регрессионными проверками.
2026-09-10 10:45:30 +03:00

42 lines
990 B
C

/* sc_panel.h — состояние одной независимой файловой панели. */
#ifndef SC_PANEL_H
#define SC_PANEL_H
#include <stdint.h>
#include "sc_entry.h"
#define SC_SOURCE_REAL_FS 0u
typedef enum {
SC_SORT_NAME = 0,
SC_SORT_EXTENSION,
SC_SORT_SIZE,
SC_SORT_DATE
} ScSortKey;
typedef struct {
char path[256];
uint16_t count;
uint16_t cursor;
uint16_t top;
uint32_t total_size;
uint16_t selected_count;
uint32_t selected_size;
uint8_t source_kind;
uint8_t phys_page;
uint8_t truncated;
uint8_t dirty;
uint8_t sort_key;
uint8_t sort_descending;
} ScPanel;
int sc_panel_init(ScPanel *panel, uint8_t phys_page);
int sc_panel_refresh(ScPanel *panel);
int sc_panel_selected(const ScPanel *panel, ScDirEntry *entry);
int sc_panel_open_selected(ScPanel *panel);
int sc_panel_parent(ScPanel *panel);
void sc_panel_normalize_view(ScPanel *panel);
#endif