mdview2: вынести md_key() в mdview2_md.c (симметрия с raw_key)
MD-навигация после загрузки (стрелки/PgUp/PgDn/Home/End/←/→) вынесена из switch в main() в md_key(scan) — peer к raw_key(): возвращает 1/0, сама перерисовывает область+статус. main() теперь симметричен для обоих видов: F-клавиши (F1/F8/F10, для RAW ещё F2/F3) разбираются в цикле, навигация делегируется md_key()/raw_key(). HPAN_STEP вынесен в mdview2.h (был продублирован в ядре и raw). load_key() (навигация во время прогрессивной загрузки, bounded по drawable_lines) остаётся в ядре — у неё нет RAW-аналога. Поведение сохранено (F1 теперь без лишнего render_updated_status — show_help и так перерисовывает всё). Размер: exe 28115→28173 (+58 Б — стоимость границы функции, как у raw_key). Сборка чистая. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
#define VIEW_H 30 /* видимая область: строки 1..30 включительно */
|
||||
#define MENU_ROW 31
|
||||
#define TAB_STOP 4
|
||||
#define HPAN_STEP 8u /* шаг горизонтального сдвига (←/→) */
|
||||
|
||||
/* ---- Параметры файла и памяти ------------------------------------ */
|
||||
#define PAGE_BITS 14u
|
||||
@@ -174,6 +175,7 @@ void clamp_top(void); /* привести top_line к ди
|
||||
void scroll_up(uint16_t n);
|
||||
void scroll_down(uint16_t n);
|
||||
void scroll_h(int8_t delta); /* горизонтальный сдвиг nowrap-блоков */
|
||||
uint8_t md_key(uint8_t scan); /* навигация MD (после загрузки); 1 = обработано */
|
||||
|
||||
/* ================================================================== *
|
||||
* API модуля справки (mdview2_help.c).
|
||||
|
||||
Reference in New Issue
Block a user