gfx_scroll_v: колоночный accel-проход без буфера-посредника + тест scroll
Вертикальный скролл перестал ходить через строку-буфер на стеке: колонку читаем с Port_Y=ys, пишем с Port_Y=yd, а STOP между read- и write-триггером делает промежуточный OUT Port_Y безопасным. Один проход вместо grab→blit-через-буфер. Справочник libc приведён в соответствие (там же строка про новую точку входа cbl_open_silence). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -262,9 +262,9 @@ tests/bgi_img.
|
||||
Скролл региона из НЕактивной страницы в активную (<sprite.h>):
|
||||
`gfx_scroll_h(area, dx, dirty)` — горизонтальный (dx>0 = вправо; быстрый
|
||||
построчный accel-скролл без страйдов, DI-банды по 16 строк),
|
||||
`gfx_scroll_v(area, dy, dirty)` — вертикальный (dy>0 = вниз; через
|
||||
строку-буфер на стеке, ПОКА не оптимален — Port_Y один на burst, разный
|
||||
read/write Y невозможен без ломающего accel OUT). Копия = скролл + heal
|
||||
`gfx_scroll_v(area, dy, dirty)` — вертикальный (dy>0 = вниз; прямой
|
||||
колоночный accel-проход: STOP между чтением и записью позволяет безопасно
|
||||
сменить Port_Y, промежуточный RAM-буфер не нужен). Копия = скролл + heal
|
||||
цели (банк 0x50). Открывшуюся полосу |d| не заполняют — возвращают в
|
||||
*dirty (NULL = не нужно). Пример: examples/scroll.
|
||||
Стиль линий (Ф2d): `setlinestyle(style,upattern,thick)`/`getlinesettings`
|
||||
|
||||
Reference in New Issue
Block a user