mdview2: статус-бар в отдельный модуль, упростить alloc_set_storage
- mdview2_status.c: вынести статус-бар/меню/спиннер из ядра - mdview2.c: убрать retry-цикл в alloc_set_storage (fail-fast вместо ложной устойчивости — при нехватке EMM под индекс контент тоже не влезет) - mdview2.h: дополнить экспортами статус-модуля - mdview2_md.c / mdview2_raw.c: зачистка после расщепления - mdview/mdview.c: переименовать scroll_* → md_scroll_* (симметрия) - docs/fast_ram.md, docs/turboc.txt: добавить справочные доки - examples/mdview2/README.MD, READMEBG.MD: обновить описание Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1758,7 +1758,7 @@ static void clamp_top(void)
|
||||
}
|
||||
|
||||
/* Прокрутка вверх на n строк с частичной перерисовкой при n == 1. */
|
||||
static void scroll_up(uint16_t n)
|
||||
static void md_scroll_up(uint16_t n)
|
||||
{
|
||||
uint16_t new_top_line = (top_line >= n) ? (uint16_t)(top_line - n) : 0;
|
||||
if( new_top_line != top_line) {
|
||||
@@ -1773,7 +1773,7 @@ static void scroll_up(uint16_t n)
|
||||
}
|
||||
|
||||
/* Прокрутка вниз на n строк с частичной перерисовкой при n == 1. */
|
||||
static void scroll_down(uint16_t n)
|
||||
static void md_scroll_down(uint16_t n)
|
||||
{
|
||||
uint16_t new_top_line = (top_line + n < n_lines - VIEW_H) ?
|
||||
(uint16_t)(top_line + n) : n_lines - VIEW_H;
|
||||
@@ -1791,7 +1791,7 @@ static void scroll_down(uint16_t n)
|
||||
|
||||
/* Горизонтальный сдвиг (только если в окне есть nowrap-строки).
|
||||
* Максимум сдвига ограничен самой широкой nowrap-строкой на экране. */
|
||||
static void scroll_h(int8_t delta)
|
||||
static void md_scroll_horizon(int8_t delta)
|
||||
{
|
||||
uint16_t maxw = 0;
|
||||
for (uint8_t i = 0; i < VIEW_H; i++) {
|
||||
@@ -1999,12 +1999,12 @@ int main(int argc, char **argv)
|
||||
switch (scan) {
|
||||
case KEY_F1: show_help(); break;
|
||||
case KEY_F10: goto exit_loop;
|
||||
case KEY_UP: scroll_up(1); break;
|
||||
case KEY_DOWN: scroll_down(1); break;
|
||||
case KEY_LEFT: scroll_h(-(int8_t)HPAN_STEP); break;
|
||||
case KEY_RIGHT: scroll_h(+(int8_t)HPAN_STEP); break;
|
||||
case KEY_PGUP: scroll_up(VIEW_H); break;
|
||||
case KEY_PGDN: scroll_down(VIEW_H); break;
|
||||
case KEY_UP: md_scroll_up(1); break;
|
||||
case KEY_DOWN: md_scroll_down(1); break;
|
||||
case KEY_LEFT: md_scroll_horizon(-(int8_t)HPAN_STEP); break;
|
||||
case KEY_RIGHT: md_scroll_horizon(+(int8_t)HPAN_STEP); break;
|
||||
case KEY_PGUP: md_scroll_up(VIEW_H); break;
|
||||
case KEY_PGDN: md_scroll_down(VIEW_H); break;
|
||||
case KEY_HOME: top_line = 0;
|
||||
viewport_x = 0;
|
||||
render_viewport(); break;
|
||||
|
||||
Reference in New Issue
Block a user