EasyUniversal / DocsДокументация · SDK 0.3Подписка Universal ↗
Easy Universal / Справочник SDK

Готовый прокручиваемый список

AngelScript · native runtime · локальная сборка

Готовый прокручиваемый список — RC19

ScrollList — необязательный AngelScript helper из sdk/helpers/menu.as.
Скопируйте файл в пакет и объявите его в manifest modules. Это не новая
native-функция; API остаётся 0.1. Пример: sdk/templates/scroll-list.

easy_ui::ScrollList list;
array<string> items={"First","Second","Third"};
void on_frame() {
    if(list.draw("items",items,24,64,320,220)) {
        runtime::log("Selected: "+list.index);
    }
}

draw возвращает true при смене выбранного индекса. Состояние offset/index
принадлежит скрипту; сохранение через config должно быть явным. Список принимает
1–256 строк. Пустой/слишком большой массив сбрасывает состояние без рисования.
Индекс за пределами нового массива сбрасывается в ноль; offset зажимается при
уменьшении содержимого. При перестановке элементов ID обозначает позицию,
не объект: автор должен сбрасывать выбор/ввод при изменении смысла строк.

Только строки, пересекающие viewport, создают команды и обрабатывают клики.
Частично видимые строки обрезаются native clip. Это виртуализация виджетов,
а не загрузка данных по требованию. Колёсико работает в собственном preview.

rowHeight: 24–128; gap: 0–32; ширина/высота: 24–2048 логических пикселей.
Неконечные значения заменяются безопасными defaults, остальные ограничиваются.
Координаты ограничиваются ±90000. При слишком узком Grid минимальная ширина
теперь обеспечивает по 24 пикселя на ячейку с учётом gap; Grid может стать шире
заданного span. Прямое изменение полей Grid после begin не нормализуется.

Используйте уникальные допустимые ID-prefixes длиной до 48 ASCII-символов.
Текст строки должен быть корректным UTF-8 не длиннее 126 байт (ещё два байта
занимает индикатор выбора). Несколько списков делят лимит 256 команд кадра и
стек clip глубиной 8. Автоматического budget management нет.

Нет drag-scrollbar, клавиатурного выбора, автопрокрутки к выбранному элементу,
горизонтального скролла или автоматического layout engine. Список не посылает
ввод в другую программу и не предоставляет дополнительных разрешений.

Easy Universal — отдельный проект. Easy External не изменён.