libc: BGI Фаза 2d-3 — settextstyle (масштаб и направление текста)
settextstyle/gettextsettings/textwidth/textheight: DEFAULT_FONT 8×8, целочисленный масштаб 1..10, HORIZ/VERT (поворот 90° CCW), прозрачный фон. Свой scaled-рендер (_bgi_draw_scaled) читает глиф через leaf _bgi_font_rows (interleaved системный шрифт) и рисует блоки size×size raw в одной W3-скобке. outtext/outtextxy переведены на него. Проверено в MAME (tests/bgitest): размеры 1..4 + вертикальный текст. Доки обновлены (Ф2d-1/2/3 готовы; осталось viewport/клиппинг). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -76,6 +76,18 @@ void _bgi_hspan_raw(int x, int y, int len, uint8_t color);
|
||||
/* Raw чтение пикселя (без своей W3-скобки) — для getimage/putimage. */
|
||||
unsigned _bgi_read_raw(int x, int y);
|
||||
|
||||
/* ---- Стиль текста (_bgi_text_state.c) ---------------------------- */
|
||||
extern uint8_t _bgi_text_dir; /* HORIZ_DIR / VERT_DIR */
|
||||
extern uint8_t _bgi_text_size; /* масштаб 1..10 */
|
||||
|
||||
/* Заполнить 8 байт строк глифа символа c (грузит шрифт при первом
|
||||
* использовании) — drv256/_bgi_font_rows.c. */
|
||||
void _bgi_font_rows(unsigned char c, uint8_t *rows8);
|
||||
|
||||
/* Нарисовать строку s в (x,y) текущим стилем текста (масштаб/направление,
|
||||
* цвет _bgi_fg, прозрачный фон) — _bgi_draw_scaled.c. */
|
||||
void _bgi_draw_scaled(int x, int y, const char *s);
|
||||
|
||||
/* Залить строку [x0..x1] на y ТЕКУЩИМ стилем заливки (паттерн+цвет),
|
||||
* с клипом по экрану. Вызывать между _bgi_begin/_bgi_end. */
|
||||
void _bgi_fill_span(int x0, int x1, int y);
|
||||
|
||||
Reference in New Issue
Block a user